spdx_tools.spdx3.model.external_reference
1# SPDX-FileCopyrightText: 2023 spdx contributors 2# 3# SPDX-License-Identifier: Apache-2.0 4from dataclasses import field 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 11 12 13class ExternalReferenceType(Enum): 14 ALT_DOWNLOAD_LOCATION = auto() 15 ALT_WEB_PAGE = auto() 16 BINARY_ARTIFACT = auto() 17 BUILD_META = auto() 18 BUILD_SYSTEM = auto() 19 CERTIFICATION_REPORT = auto() 20 CHAT = auto() 21 COMPONENT_ANALYSIS_REPORT = auto() 22 DOCUMENTATION = auto() 23 DYNAMIC_ANALYSIS_REPORT = auto() 24 EOL_NOTICE = auto() 25 FUNDING = auto() 26 ISSUE_TRACKER = auto() 27 LICENSE = auto() 28 MAILING_LIST = auto() 29 METRICS = auto() 30 OTHER = auto() 31 PRODUCT_METADATA = auto() 32 QUALITY_ASSESSMENT_REPORT = auto() 33 RELEASE_HISTORY = auto() 34 RELEASE_NOTES = auto() 35 RISK_ASSESSMENT = auto() 36 RUNTIME_ANALYSIS_REPORT = auto() 37 SECURE_SOFTWARE_ATTESTATION = auto() 38 SECURITY_ADVERSARY_MODEL = auto() 39 SECURITY_ADVISORY = auto() 40 SECURITY_FIX = auto() 41 SECURITY_OTHER = auto() 42 SECURITY_PEN_TEST_REPORT = auto() 43 SECURITY_POLICY = auto() 44 SECURITY_THREAT_MODEL = auto() 45 SOCIAL_MEDIA = auto() 46 SOURCE_ARTIFACT = auto() 47 STATIC_ANALYSIS_REPORT = auto() 48 SUPPORT = auto() 49 VCS = auto() 50 VULNERABILITY_DISCLOSURE_REPORT = auto() 51 VULNERABILITY_EXPLOITABILITY_ASSESSMENT = auto() 52 53 54@dataclass_with_properties 55class ExternalReference: 56 external_reference_type: Optional[ExternalReferenceType] = None 57 locator: List[str] = field(default_factory=list) 58 content_type: Optional[str] = None # placeholder for MediaType 59 comment: Optional[str] = None 60 61 def __init__( 62 self, 63 external_reference_type: Optional[ExternalReferenceType] = None, 64 locator: List[str] = None, 65 content_type: Optional[str] = None, 66 comment: Optional[str] = None, 67 ): 68 locator = [] if locator is None else locator 69 check_types_and_set_values(self, locals())
class
ExternalReferenceType(enum.Enum):
14class ExternalReferenceType(Enum): 15 ALT_DOWNLOAD_LOCATION = auto() 16 ALT_WEB_PAGE = auto() 17 BINARY_ARTIFACT = auto() 18 BUILD_META = auto() 19 BUILD_SYSTEM = auto() 20 CERTIFICATION_REPORT = auto() 21 CHAT = auto() 22 COMPONENT_ANALYSIS_REPORT = auto() 23 DOCUMENTATION = auto() 24 DYNAMIC_ANALYSIS_REPORT = auto() 25 EOL_NOTICE = auto() 26 FUNDING = auto() 27 ISSUE_TRACKER = auto() 28 LICENSE = auto() 29 MAILING_LIST = auto() 30 METRICS = auto() 31 OTHER = auto() 32 PRODUCT_METADATA = auto() 33 QUALITY_ASSESSMENT_REPORT = auto() 34 RELEASE_HISTORY = auto() 35 RELEASE_NOTES = auto() 36 RISK_ASSESSMENT = auto() 37 RUNTIME_ANALYSIS_REPORT = auto() 38 SECURE_SOFTWARE_ATTESTATION = auto() 39 SECURITY_ADVERSARY_MODEL = auto() 40 SECURITY_ADVISORY = auto() 41 SECURITY_FIX = auto() 42 SECURITY_OTHER = auto() 43 SECURITY_PEN_TEST_REPORT = auto() 44 SECURITY_POLICY = auto() 45 SECURITY_THREAT_MODEL = auto() 46 SOCIAL_MEDIA = auto() 47 SOURCE_ARTIFACT = auto() 48 STATIC_ANALYSIS_REPORT = auto() 49 SUPPORT = auto() 50 VCS = auto() 51 VULNERABILITY_DISCLOSURE_REPORT = auto() 52 VULNERABILITY_EXPLOITABILITY_ASSESSMENT = auto()
ALT_DOWNLOAD_LOCATION =
<ExternalReferenceType.ALT_DOWNLOAD_LOCATION: 1>
ALT_WEB_PAGE =
<ExternalReferenceType.ALT_WEB_PAGE: 2>
BINARY_ARTIFACT =
<ExternalReferenceType.BINARY_ARTIFACT: 3>
BUILD_META =
<ExternalReferenceType.BUILD_META: 4>
BUILD_SYSTEM =
<ExternalReferenceType.BUILD_SYSTEM: 5>
CERTIFICATION_REPORT =
<ExternalReferenceType.CERTIFICATION_REPORT: 6>
CHAT =
<ExternalReferenceType.CHAT: 7>
COMPONENT_ANALYSIS_REPORT =
<ExternalReferenceType.COMPONENT_ANALYSIS_REPORT: 8>
DOCUMENTATION =
<ExternalReferenceType.DOCUMENTATION: 9>
DYNAMIC_ANALYSIS_REPORT =
<ExternalReferenceType.DYNAMIC_ANALYSIS_REPORT: 10>
EOL_NOTICE =
<ExternalReferenceType.EOL_NOTICE: 11>
FUNDING =
<ExternalReferenceType.FUNDING: 12>
ISSUE_TRACKER =
<ExternalReferenceType.ISSUE_TRACKER: 13>
LICENSE =
<ExternalReferenceType.LICENSE: 14>
MAILING_LIST =
<ExternalReferenceType.MAILING_LIST: 15>
METRICS =
<ExternalReferenceType.METRICS: 16>
OTHER =
<ExternalReferenceType.OTHER: 17>
PRODUCT_METADATA =
<ExternalReferenceType.PRODUCT_METADATA: 18>
QUALITY_ASSESSMENT_REPORT =
<ExternalReferenceType.QUALITY_ASSESSMENT_REPORT: 19>
RELEASE_HISTORY =
<ExternalReferenceType.RELEASE_HISTORY: 20>
RELEASE_NOTES =
<ExternalReferenceType.RELEASE_NOTES: 21>
RISK_ASSESSMENT =
<ExternalReferenceType.RISK_ASSESSMENT: 22>
RUNTIME_ANALYSIS_REPORT =
<ExternalReferenceType.RUNTIME_ANALYSIS_REPORT: 23>
SECURE_SOFTWARE_ATTESTATION =
<ExternalReferenceType.SECURE_SOFTWARE_ATTESTATION: 24>
SECURITY_ADVERSARY_MODEL =
<ExternalReferenceType.SECURITY_ADVERSARY_MODEL: 25>
SECURITY_ADVISORY =
<ExternalReferenceType.SECURITY_ADVISORY: 26>
SECURITY_FIX =
<ExternalReferenceType.SECURITY_FIX: 27>
SECURITY_OTHER =
<ExternalReferenceType.SECURITY_OTHER: 28>
SECURITY_PEN_TEST_REPORT =
<ExternalReferenceType.SECURITY_PEN_TEST_REPORT: 29>
SECURITY_POLICY =
<ExternalReferenceType.SECURITY_POLICY: 30>
SECURITY_THREAT_MODEL =
<ExternalReferenceType.SECURITY_THREAT_MODEL: 31>
SOCIAL_MEDIA =
<ExternalReferenceType.SOCIAL_MEDIA: 32>
SOURCE_ARTIFACT =
<ExternalReferenceType.SOURCE_ARTIFACT: 33>
STATIC_ANALYSIS_REPORT =
<ExternalReferenceType.STATIC_ANALYSIS_REPORT: 34>
SUPPORT =
<ExternalReferenceType.SUPPORT: 35>
VCS =
<ExternalReferenceType.VCS: 36>
VULNERABILITY_DISCLOSURE_REPORT =
<ExternalReferenceType.VULNERABILITY_DISCLOSURE_REPORT: 37>
VULNERABILITY_EXPLOITABILITY_ASSESSMENT =
<ExternalReferenceType.VULNERABILITY_EXPLOITABILITY_ASSESSMENT: 38>
Inherited Members
- enum.Enum
- name
- value
@dataclass_with_properties
class
ExternalReference:
55@dataclass_with_properties 56class ExternalReference: 57 external_reference_type: Optional[ExternalReferenceType] = None 58 locator: List[str] = field(default_factory=list) 59 content_type: Optional[str] = None # placeholder for MediaType 60 comment: Optional[str] = None 61 62 def __init__( 63 self, 64 external_reference_type: Optional[ExternalReferenceType] = None, 65 locator: List[str] = None, 66 content_type: Optional[str] = None, 67 comment: Optional[str] = None, 68 ): 69 locator = [] if locator is None else locator 70 check_types_and_set_values(self, locals())
ExternalReference( external_reference_type: Optional[ExternalReferenceType] = None, locator: list[str] = None, content_type: Optional[str] = None, comment: Optional[str] = None)
external_reference_type: Optional[ExternalReferenceType]