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]