spdx_tools.spdx3.model.security.vex_not_affected_vuln_assessment_relationship
1# SPDX-FileCopyrightText: 2023 spdx contributors 2# 3# SPDX-License-Identifier: Apache-2.0 4from datetime import datetime 5from enum import Enum, auto 6 7from beartype.typing import List, Optional 8 9from spdx_tools.common.typing.dataclass_with_properties import dataclass_with_properties 10from spdx_tools.common.typing.type_checks import check_types_and_set_values 11from spdx_tools.spdx3.model import ( 12 CreationInfo, 13 ExternalIdentifier, 14 ExternalReference, 15 IntegrityMethod, 16 RelationshipCompleteness, 17) 18from spdx_tools.spdx3.model.security.vex_vuln_assessment_relationship import VexVulnAssessmentRelationship 19from spdx_tools.spdx.model import RelationshipType 20 21 22class VexJustificationType(Enum): 23 COMPONENT_NOT_PRESENT = auto() 24 VULNERABLE_CODE_NOT_PRESENT = auto() 25 VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY = auto() 26 VULNERABLE_CODE_NOT_IN_EXECUTE_PATH = auto() 27 INLINE_MITIGATIONS_ALREADY_EXIST = auto() 28 29 30@dataclass_with_properties 31class VexNotAffectedVulnAssessmentRelationship(VexVulnAssessmentRelationship): 32 justification_type: Optional[VexJustificationType] = None 33 impact_statement: Optional[str] = None 34 impact_statement_time: Optional[datetime] = None 35 36 def __init__( 37 self, 38 spdx_id: str, 39 from_element: str, 40 relationship_type: RelationshipType, 41 to: List[str], 42 creation_info: Optional[CreationInfo] = None, 43 name: Optional[str] = None, 44 summary: Optional[str] = None, 45 description: Optional[str] = None, 46 comment: Optional[str] = None, 47 verified_using: List[IntegrityMethod] = None, 48 external_reference: List[ExternalReference] = None, 49 external_identifier: List[ExternalIdentifier] = None, 50 extension: Optional[str] = None, 51 completeness: Optional[RelationshipCompleteness] = None, 52 start_time: Optional[datetime] = None, 53 end_time: Optional[datetime] = None, 54 assessed_element: Optional[str] = None, 55 published_time: Optional[datetime] = None, 56 supplied_by: Optional[str] = None, 57 modified_time: Optional[datetime] = None, 58 withdrawn_time: Optional[datetime] = None, 59 vex_version: Optional[str] = None, 60 status_notes: Optional[str] = None, 61 justification_type: Optional[VexJustificationType] = None, 62 impact_statement: Optional[str] = None, 63 impact_statement_time: Optional[datetime] = None, 64 ): 65 verified_using = [] if verified_using is None else verified_using 66 external_reference = [] if external_reference is None else external_reference 67 external_identifier = [] if external_identifier is None else external_identifier 68 check_types_and_set_values(self, locals())
class
VexJustificationType(enum.Enum):
23class VexJustificationType(Enum): 24 COMPONENT_NOT_PRESENT = auto() 25 VULNERABLE_CODE_NOT_PRESENT = auto() 26 VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY = auto() 27 VULNERABLE_CODE_NOT_IN_EXECUTE_PATH = auto() 28 INLINE_MITIGATIONS_ALREADY_EXIST = auto()
COMPONENT_NOT_PRESENT =
<VexJustificationType.COMPONENT_NOT_PRESENT: 1>
VULNERABLE_CODE_NOT_PRESENT =
<VexJustificationType.VULNERABLE_CODE_NOT_PRESENT: 2>
VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY =
<VexJustificationType.VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY: 3>
VULNERABLE_CODE_NOT_IN_EXECUTE_PATH =
<VexJustificationType.VULNERABLE_CODE_NOT_IN_EXECUTE_PATH: 4>
INLINE_MITIGATIONS_ALREADY_EXIST =
<VexJustificationType.INLINE_MITIGATIONS_ALREADY_EXIST: 5>
Inherited Members
- enum.Enum
- name
- value
@dataclass_with_properties
class
VexNotAffectedVulnAssessmentRelationship31@dataclass_with_properties 32class VexNotAffectedVulnAssessmentRelationship(VexVulnAssessmentRelationship): 33 justification_type: Optional[VexJustificationType] = None 34 impact_statement: Optional[str] = None 35 impact_statement_time: Optional[datetime] = None 36 37 def __init__( 38 self, 39 spdx_id: str, 40 from_element: str, 41 relationship_type: RelationshipType, 42 to: List[str], 43 creation_info: Optional[CreationInfo] = None, 44 name: Optional[str] = None, 45 summary: Optional[str] = None, 46 description: Optional[str] = None, 47 comment: Optional[str] = None, 48 verified_using: List[IntegrityMethod] = None, 49 external_reference: List[ExternalReference] = None, 50 external_identifier: List[ExternalIdentifier] = None, 51 extension: Optional[str] = None, 52 completeness: Optional[RelationshipCompleteness] = None, 53 start_time: Optional[datetime] = None, 54 end_time: Optional[datetime] = None, 55 assessed_element: Optional[str] = None, 56 published_time: Optional[datetime] = None, 57 supplied_by: Optional[str] = None, 58 modified_time: Optional[datetime] = None, 59 withdrawn_time: Optional[datetime] = None, 60 vex_version: Optional[str] = None, 61 status_notes: Optional[str] = None, 62 justification_type: Optional[VexJustificationType] = None, 63 impact_statement: Optional[str] = None, 64 impact_statement_time: Optional[datetime] = None, 65 ): 66 verified_using = [] if verified_using is None else verified_using 67 external_reference = [] if external_reference is None else external_reference 68 external_identifier = [] if external_identifier is None else external_identifier 69 check_types_and_set_values(self, locals())
VexNotAffectedVulnAssessmentRelationship( spdx_id: str, from_element: str, relationship_type: spdx_tools.spdx.model.relationship.RelationshipType, to: list[str], creation_info: Optional[spdx_tools.spdx3.model.creation_info.CreationInfo] = None, name: Optional[str] = None, summary: Optional[str] = None, description: Optional[str] = None, comment: Optional[str] = None, verified_using: list[spdx_tools.spdx3.model.integrity_method.IntegrityMethod] = None, external_reference: list[spdx_tools.spdx3.model.external_reference.ExternalReference] = None, external_identifier: list[spdx_tools.spdx3.model.external_identifier.ExternalIdentifier] = None, extension: Optional[str] = None, completeness: Optional[spdx_tools.spdx3.model.relationship.RelationshipCompleteness] = None, start_time: Optional[datetime.datetime] = None, end_time: Optional[datetime.datetime] = None, assessed_element: Optional[str] = None, published_time: Optional[datetime.datetime] = None, supplied_by: Optional[str] = None, modified_time: Optional[datetime.datetime] = None, withdrawn_time: Optional[datetime.datetime] = None, vex_version: Optional[str] = None, status_notes: Optional[str] = None, justification_type: Optional[VexJustificationType] = None, impact_statement: Optional[str] = None, impact_statement_time: Optional[datetime.datetime] = None)
37 def __init__( 38 self, 39 spdx_id: str, 40 from_element: str, 41 relationship_type: RelationshipType, 42 to: List[str], 43 creation_info: Optional[CreationInfo] = None, 44 name: Optional[str] = None, 45 summary: Optional[str] = None, 46 description: Optional[str] = None, 47 comment: Optional[str] = None, 48 verified_using: List[IntegrityMethod] = None, 49 external_reference: List[ExternalReference] = None, 50 external_identifier: List[ExternalIdentifier] = None, 51 extension: Optional[str] = None, 52 completeness: Optional[RelationshipCompleteness] = None, 53 start_time: Optional[datetime] = None, 54 end_time: Optional[datetime] = None, 55 assessed_element: Optional[str] = None, 56 published_time: Optional[datetime] = None, 57 supplied_by: Optional[str] = None, 58 modified_time: Optional[datetime] = None, 59 withdrawn_time: Optional[datetime] = None, 60 vex_version: Optional[str] = None, 61 status_notes: Optional[str] = None, 62 justification_type: Optional[VexJustificationType] = None, 63 impact_statement: Optional[str] = None, 64 impact_statement_time: Optional[datetime] = None, 65 ): 66 verified_using = [] if verified_using is None else verified_using 67 external_reference = [] if external_reference is None else external_reference 68 external_identifier = [] if external_identifier is None else external_identifier 69 check_types_and_set_values(self, locals())
justification_type: Optional[VexJustificationType]