spdx_tools.spdx3.model.security.vex_affected_vuln_assessment_relationship

 1# SPDX-FileCopyrightText: 2023 spdx contributors
 2#
 3# SPDX-License-Identifier: Apache-2.0
 4from dataclasses import field
 5from datetime import datetime
 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
22@dataclass_with_properties
23class VexAffectedVulnAssessmentRelationship(VexVulnAssessmentRelationship):
24    action_statement: Optional[str] = None
25    action_statement_time: List[datetime] = field(default_factory=list)
26
27    def __init__(
28        self,
29        spdx_id: str,
30        from_element: str,
31        relationship_type: RelationshipType,
32        to: List[str],
33        creation_info: Optional[CreationInfo] = None,
34        name: Optional[str] = None,
35        summary: Optional[str] = None,
36        description: Optional[str] = None,
37        comment: Optional[str] = None,
38        verified_using: List[IntegrityMethod] = None,
39        external_reference: List[ExternalReference] = None,
40        external_identifier: List[ExternalIdentifier] = None,
41        extension: Optional[str] = None,
42        completeness: Optional[RelationshipCompleteness] = None,
43        start_time: Optional[datetime] = None,
44        end_time: Optional[datetime] = None,
45        assessed_element: Optional[str] = None,
46        published_time: Optional[datetime] = None,
47        supplied_by: Optional[str] = None,
48        modified_time: Optional[datetime] = None,
49        withdrawn_time: Optional[datetime] = None,
50        vex_version: Optional[str] = None,
51        status_notes: Optional[str] = None,
52        action_statement: Optional[str] = None,
53        action_statement_time: List[datetime] = None,
54    ):
55        verified_using = [] if verified_using is None else verified_using
56        external_reference = [] if external_reference is None else external_reference
57        external_identifier = [] if external_identifier is None else external_identifier
58        action_statement_time = [] if action_statement_time is None else action_statement_time
59        check_types_and_set_values(self, locals())
@dataclass_with_properties
class VexAffectedVulnAssessmentRelationship(spdx_tools.spdx3.model.security.vex_vuln_assessment_relationship.VexVulnAssessmentRelationship):
23@dataclass_with_properties
24class VexAffectedVulnAssessmentRelationship(VexVulnAssessmentRelationship):
25    action_statement: Optional[str] = None
26    action_statement_time: List[datetime] = field(default_factory=list)
27
28    def __init__(
29        self,
30        spdx_id: str,
31        from_element: str,
32        relationship_type: RelationshipType,
33        to: List[str],
34        creation_info: Optional[CreationInfo] = None,
35        name: Optional[str] = None,
36        summary: Optional[str] = None,
37        description: Optional[str] = None,
38        comment: Optional[str] = None,
39        verified_using: List[IntegrityMethod] = None,
40        external_reference: List[ExternalReference] = None,
41        external_identifier: List[ExternalIdentifier] = None,
42        extension: Optional[str] = None,
43        completeness: Optional[RelationshipCompleteness] = None,
44        start_time: Optional[datetime] = None,
45        end_time: Optional[datetime] = None,
46        assessed_element: Optional[str] = None,
47        published_time: Optional[datetime] = None,
48        supplied_by: Optional[str] = None,
49        modified_time: Optional[datetime] = None,
50        withdrawn_time: Optional[datetime] = None,
51        vex_version: Optional[str] = None,
52        status_notes: Optional[str] = None,
53        action_statement: Optional[str] = None,
54        action_statement_time: List[datetime] = None,
55    ):
56        verified_using = [] if verified_using is None else verified_using
57        external_reference = [] if external_reference is None else external_reference
58        external_identifier = [] if external_identifier is None else external_identifier
59        action_statement_time = [] if action_statement_time is None else action_statement_time
60        check_types_and_set_values(self, locals())
VexAffectedVulnAssessmentRelationship( 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, action_statement: Optional[str] = None, action_statement_time: list[datetime.datetime] = None)
28    def __init__(
29        self,
30        spdx_id: str,
31        from_element: str,
32        relationship_type: RelationshipType,
33        to: List[str],
34        creation_info: Optional[CreationInfo] = None,
35        name: Optional[str] = None,
36        summary: Optional[str] = None,
37        description: Optional[str] = None,
38        comment: Optional[str] = None,
39        verified_using: List[IntegrityMethod] = None,
40        external_reference: List[ExternalReference] = None,
41        external_identifier: List[ExternalIdentifier] = None,
42        extension: Optional[str] = None,
43        completeness: Optional[RelationshipCompleteness] = None,
44        start_time: Optional[datetime] = None,
45        end_time: Optional[datetime] = None,
46        assessed_element: Optional[str] = None,
47        published_time: Optional[datetime] = None,
48        supplied_by: Optional[str] = None,
49        modified_time: Optional[datetime] = None,
50        withdrawn_time: Optional[datetime] = None,
51        vex_version: Optional[str] = None,
52        status_notes: Optional[str] = None,
53        action_statement: Optional[str] = None,
54        action_statement_time: List[datetime] = None,
55    ):
56        verified_using = [] if verified_using is None else verified_using
57        external_reference = [] if external_reference is None else external_reference
58        external_identifier = [] if external_identifier is None else external_identifier
59        action_statement_time = [] if action_statement_time is None else action_statement_time
60        check_types_and_set_values(self, locals())
action_statement: Optional[str]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
action_statement_time: list[datetime.datetime]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")