spdx_tools.spdx3.model.software.software_dependency_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 LifecycleScopedRelationship, 17 LifecycleScopeType, 18 RelationshipCompleteness, 19 RelationshipType, 20) 21 22 23class SoftwareDependencyLinkType(Enum): 24 STATIC = auto() 25 DYNAMIC = auto() 26 TOOL = auto() 27 OTHER = auto() 28 29 30class DependencyConditionalityType(Enum): 31 OPTIONAL = auto() 32 REQUIRED = auto() 33 PROVIDED = auto() 34 PREREQUISITE = auto() 35 OTHER = auto() 36 37 38@dataclass_with_properties 39class SoftwareDependencyRelationship(LifecycleScopedRelationship): 40 software_linkage: Optional[SoftwareDependencyLinkType] = None 41 conditionality: Optional[DependencyConditionalityType] = None 42 43 def __init__( 44 self, 45 spdx_id: str, 46 from_element: str, 47 relationship_type: RelationshipType, 48 to: List[str] = None, 49 creation_info: Optional[CreationInfo] = None, 50 name: Optional[str] = None, 51 summary: Optional[str] = None, 52 description: Optional[str] = None, 53 comment: Optional[str] = None, 54 verified_using: List[IntegrityMethod] = None, 55 external_reference: List[ExternalReference] = None, 56 external_identifier: List[ExternalIdentifier] = None, 57 extension: Optional[str] = None, 58 completeness: Optional[RelationshipCompleteness] = None, 59 start_time: Optional[datetime] = None, 60 end_time: Optional[datetime] = None, 61 scope: Optional[LifecycleScopeType] = None, 62 software_linkage: Optional[SoftwareDependencyLinkType] = None, 63 conditionality: Optional[DependencyConditionalityType] = None, 64 ): 65 to = [] if to is None else to 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())
class
SoftwareDependencyLinkType(enum.Enum):
24class SoftwareDependencyLinkType(Enum): 25 STATIC = auto() 26 DYNAMIC = auto() 27 TOOL = auto() 28 OTHER = auto()
STATIC =
<SoftwareDependencyLinkType.STATIC: 1>
DYNAMIC =
<SoftwareDependencyLinkType.DYNAMIC: 2>
TOOL =
<SoftwareDependencyLinkType.TOOL: 3>
OTHER =
<SoftwareDependencyLinkType.OTHER: 4>
Inherited Members
- enum.Enum
- name
- value
class
DependencyConditionalityType(enum.Enum):
31class DependencyConditionalityType(Enum): 32 OPTIONAL = auto() 33 REQUIRED = auto() 34 PROVIDED = auto() 35 PREREQUISITE = auto() 36 OTHER = auto()
OPTIONAL =
<DependencyConditionalityType.OPTIONAL: 1>
REQUIRED =
<DependencyConditionalityType.REQUIRED: 2>
PROVIDED =
<DependencyConditionalityType.PROVIDED: 3>
PREREQUISITE =
<DependencyConditionalityType.PREREQUISITE: 4>
OTHER =
<DependencyConditionalityType.OTHER: 5>
Inherited Members
- enum.Enum
- name
- value
@dataclass_with_properties
class
SoftwareDependencyRelationship39@dataclass_with_properties 40class SoftwareDependencyRelationship(LifecycleScopedRelationship): 41 software_linkage: Optional[SoftwareDependencyLinkType] = None 42 conditionality: Optional[DependencyConditionalityType] = None 43 44 def __init__( 45 self, 46 spdx_id: str, 47 from_element: str, 48 relationship_type: RelationshipType, 49 to: List[str] = None, 50 creation_info: Optional[CreationInfo] = None, 51 name: Optional[str] = None, 52 summary: Optional[str] = None, 53 description: Optional[str] = None, 54 comment: Optional[str] = None, 55 verified_using: List[IntegrityMethod] = None, 56 external_reference: List[ExternalReference] = None, 57 external_identifier: List[ExternalIdentifier] = None, 58 extension: Optional[str] = None, 59 completeness: Optional[RelationshipCompleteness] = None, 60 start_time: Optional[datetime] = None, 61 end_time: Optional[datetime] = None, 62 scope: Optional[LifecycleScopeType] = None, 63 software_linkage: Optional[SoftwareDependencyLinkType] = None, 64 conditionality: Optional[DependencyConditionalityType] = None, 65 ): 66 to = [] if to is None else to 67 verified_using = [] if verified_using is None else verified_using 68 external_reference = [] if external_reference is None else external_reference 69 external_identifier = [] if external_identifier is None else external_identifier 70 check_types_and_set_values(self, locals())
SoftwareDependencyRelationship( spdx_id: str, from_element: str, relationship_type: spdx_tools.spdx3.model.relationship.RelationshipType, to: list[str] = None, 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, scope: Optional[spdx_tools.spdx3.model.lifecycle_scoped_relationship.LifecycleScopeType] = None, software_linkage: Optional[SoftwareDependencyLinkType] = None, conditionality: Optional[DependencyConditionalityType] = None)
44 def __init__( 45 self, 46 spdx_id: str, 47 from_element: str, 48 relationship_type: RelationshipType, 49 to: List[str] = None, 50 creation_info: Optional[CreationInfo] = None, 51 name: Optional[str] = None, 52 summary: Optional[str] = None, 53 description: Optional[str] = None, 54 comment: Optional[str] = None, 55 verified_using: List[IntegrityMethod] = None, 56 external_reference: List[ExternalReference] = None, 57 external_identifier: List[ExternalIdentifier] = None, 58 extension: Optional[str] = None, 59 completeness: Optional[RelationshipCompleteness] = None, 60 start_time: Optional[datetime] = None, 61 end_time: Optional[datetime] = None, 62 scope: Optional[LifecycleScopeType] = None, 63 software_linkage: Optional[SoftwareDependencyLinkType] = None, 64 conditionality: Optional[DependencyConditionalityType] = None, 65 ): 66 to = [] if to is None else to 67 verified_using = [] if verified_using is None else verified_using 68 external_reference = [] if external_reference is None else external_reference 69 external_identifier = [] if external_identifier is None else external_identifier 70 check_types_and_set_values(self, locals())
software_linkage: Optional[SoftwareDependencyLinkType]
conditionality: Optional[DependencyConditionalityType]