spdx_tools.spdx3.model.security.vulnerability

 1# SPDX-FileCopyrightText: 2023 spdx contributors
 2#
 3# SPDX-License-Identifier: Apache-2.0
 4from datetime import datetime
 5
 6from beartype.typing import List, Optional
 7
 8from spdx_tools.common.typing.dataclass_with_properties import dataclass_with_properties
 9from spdx_tools.common.typing.type_checks import check_types_and_set_values
10from spdx_tools.spdx3.model import CreationInfo, Element, ExternalIdentifier, ExternalReference, IntegrityMethod
11
12
13@dataclass_with_properties
14class Vulnerability(Element):
15    published_time: Optional[datetime] = None
16    modified_time: Optional[datetime] = None
17    withdrawn_time: Optional[datetime] = None
18
19    def __init__(
20        self,
21        spdx_id: str,
22        creation_info: Optional[CreationInfo] = None,
23        name: Optional[str] = None,
24        summary: Optional[str] = None,
25        description: Optional[str] = None,
26        comment: Optional[str] = None,
27        verified_using: List[IntegrityMethod] = None,
28        external_reference: List[ExternalReference] = None,
29        external_identifier: List[ExternalIdentifier] = None,
30        extension: Optional[str] = None,
31        published_time: Optional[datetime] = None,
32        modified_time: Optional[datetime] = None,
33        withdrawn_time: Optional[datetime] = None,
34    ):
35        verified_using = [] if verified_using is None else verified_using
36        external_reference = [] if external_reference is None else external_reference
37        external_identifier = [] if external_identifier is None else external_identifier
38        check_types_and_set_values(self, locals())
@dataclass_with_properties
class Vulnerability(spdx_tools.spdx3.model.element.Element):
14@dataclass_with_properties
15class Vulnerability(Element):
16    published_time: Optional[datetime] = None
17    modified_time: Optional[datetime] = None
18    withdrawn_time: Optional[datetime] = None
19
20    def __init__(
21        self,
22        spdx_id: str,
23        creation_info: Optional[CreationInfo] = None,
24        name: Optional[str] = None,
25        summary: Optional[str] = None,
26        description: Optional[str] = None,
27        comment: Optional[str] = None,
28        verified_using: List[IntegrityMethod] = None,
29        external_reference: List[ExternalReference] = None,
30        external_identifier: List[ExternalIdentifier] = None,
31        extension: Optional[str] = None,
32        published_time: Optional[datetime] = None,
33        modified_time: Optional[datetime] = None,
34        withdrawn_time: Optional[datetime] = None,
35    ):
36        verified_using = [] if verified_using is None else verified_using
37        external_reference = [] if external_reference is None else external_reference
38        external_identifier = [] if external_identifier is None else external_identifier
39        check_types_and_set_values(self, locals())
Vulnerability( spdx_id: 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, published_time: Optional[datetime.datetime] = None, modified_time: Optional[datetime.datetime] = None, withdrawn_time: Optional[datetime.datetime] = None)
20    def __init__(
21        self,
22        spdx_id: str,
23        creation_info: Optional[CreationInfo] = None,
24        name: Optional[str] = None,
25        summary: Optional[str] = None,
26        description: Optional[str] = None,
27        comment: Optional[str] = None,
28        verified_using: List[IntegrityMethod] = None,
29        external_reference: List[ExternalReference] = None,
30        external_identifier: List[ExternalIdentifier] = None,
31        extension: Optional[str] = None,
32        published_time: Optional[datetime] = None,
33        modified_time: Optional[datetime] = None,
34        withdrawn_time: Optional[datetime] = None,
35    ):
36        verified_using = [] if verified_using is None else verified_using
37        external_reference = [] if external_reference is None else external_reference
38        external_identifier = [] if external_identifier is None else external_identifier
39        check_types_and_set_values(self, locals())
published_time: Optional[datetime.datetime]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
modified_time: Optional[datetime.datetime]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
withdrawn_time: Optional[datetime.datetime]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")