Source code for pyatlan.model.assets.sap_erp_component
# SPDX-License-Identifier: Apache-2.0
# Copyright 2025 Atlan Pte. Ltd.
from __future__ import annotations
from typing import ClassVar, List, Optional
from pydantic.v1 import Field, validator
from pyatlan.model.fields.atlan_fields import RelationField
from .s_a_p import SAP
[docs]
class SapErpComponent(SAP):
"""Description"""
type_name: str = Field(default="SapErpComponent", allow_mutation=False)
@validator("type_name")
def validate_type_name(cls, v):
if v != "SapErpComponent":
raise ValueError("must be SapErpComponent")
return v
def __setattr__(self, name, value):
if name in SapErpComponent._convenience_properties:
return object.__setattr__(self, name, value)
super().__setattr__(name, value)
SAP_ERP_TABLES: ClassVar[RelationField] = RelationField("sapErpTables")
"""
TBC
"""
SAP_ERP_VIEWS: ClassVar[RelationField] = RelationField("sapErpViews")
"""
TBC
"""
CHILD_COMPONENTS: ClassVar[RelationField] = RelationField("childComponents")
"""
TBC
"""
SAP_ERP_CDS_VIEWS: ClassVar[RelationField] = RelationField("sapErpCdsViews")
"""
TBC
"""
SAP_ERP_FUNCTION_MODULES: ClassVar[RelationField] = RelationField(
"sapErpFunctionModules"
)
"""
TBC
"""
SAP_ERP_ABAP_PROGRAMS: ClassVar[RelationField] = RelationField("sapErpAbapPrograms")
"""
TBC
"""
SAP_ERP_TRANSACTION_CODES: ClassVar[RelationField] = RelationField(
"sapErpTransactionCodes"
)
"""
TBC
"""
PARENT_COMPONENT: ClassVar[RelationField] = RelationField("parentComponent")
"""
TBC
"""
_convenience_properties: ClassVar[List[str]] = [
"sap_erp_tables",
"sap_erp_views",
"child_components",
"sap_erp_cds_views",
"sap_erp_function_modules",
"sap_erp_abap_programs",
"sap_erp_transaction_codes",
"parent_component",
]
@property
def sap_erp_tables(self) -> Optional[List[SapErpTable]]:
return None if self.attributes is None else self.attributes.sap_erp_tables
@sap_erp_tables.setter
def sap_erp_tables(self, sap_erp_tables: Optional[List[SapErpTable]]):
if self.attributes is None:
self.attributes = self.Attributes()
self.attributes.sap_erp_tables = sap_erp_tables
@property
def sap_erp_views(self) -> Optional[List[SapErpView]]:
return None if self.attributes is None else self.attributes.sap_erp_views
@sap_erp_views.setter
def sap_erp_views(self, sap_erp_views: Optional[List[SapErpView]]):
if self.attributes is None:
self.attributes = self.Attributes()
self.attributes.sap_erp_views = sap_erp_views
@property
def child_components(self) -> Optional[List[SapErpComponent]]:
return None if self.attributes is None else self.attributes.child_components
@child_components.setter
def child_components(self, child_components: Optional[List[SapErpComponent]]):
if self.attributes is None:
self.attributes = self.Attributes()
self.attributes.child_components = child_components
@property
def sap_erp_cds_views(self) -> Optional[List[SapErpCdsView]]:
return None if self.attributes is None else self.attributes.sap_erp_cds_views
@sap_erp_cds_views.setter
def sap_erp_cds_views(self, sap_erp_cds_views: Optional[List[SapErpCdsView]]):
if self.attributes is None:
self.attributes = self.Attributes()
self.attributes.sap_erp_cds_views = sap_erp_cds_views
@property
def sap_erp_function_modules(self) -> Optional[List[SapErpFunctionModule]]:
return (
None
if self.attributes is None
else self.attributes.sap_erp_function_modules
)
@sap_erp_function_modules.setter
def sap_erp_function_modules(
self, sap_erp_function_modules: Optional[List[SapErpFunctionModule]]
):
if self.attributes is None:
self.attributes = self.Attributes()
self.attributes.sap_erp_function_modules = sap_erp_function_modules
@property
def sap_erp_abap_programs(self) -> Optional[List[SapErpAbapProgram]]:
return (
None if self.attributes is None else self.attributes.sap_erp_abap_programs
)
@sap_erp_abap_programs.setter
def sap_erp_abap_programs(
self, sap_erp_abap_programs: Optional[List[SapErpAbapProgram]]
):
if self.attributes is None:
self.attributes = self.Attributes()
self.attributes.sap_erp_abap_programs = sap_erp_abap_programs
@property
def sap_erp_transaction_codes(self) -> Optional[List[SapErpTransactionCode]]:
return (
None
if self.attributes is None
else self.attributes.sap_erp_transaction_codes
)
@sap_erp_transaction_codes.setter
def sap_erp_transaction_codes(
self, sap_erp_transaction_codes: Optional[List[SapErpTransactionCode]]
):
if self.attributes is None:
self.attributes = self.Attributes()
self.attributes.sap_erp_transaction_codes = sap_erp_transaction_codes
@property
def parent_component(self) -> Optional[SapErpComponent]:
return None if self.attributes is None else self.attributes.parent_component
@parent_component.setter
def parent_component(self, parent_component: Optional[SapErpComponent]):
if self.attributes is None:
self.attributes = self.Attributes()
self.attributes.parent_component = parent_component
class Attributes(SAP.Attributes):
sap_erp_tables: Optional[List[SapErpTable]] = Field(
default=None, description=""
) # relationship
sap_erp_views: Optional[List[SapErpView]] = Field(
default=None, description=""
) # relationship
child_components: Optional[List[SapErpComponent]] = Field(
default=None, description=""
) # relationship
sap_erp_cds_views: Optional[List[SapErpCdsView]] = Field(
default=None, description=""
) # relationship
sap_erp_function_modules: Optional[List[SapErpFunctionModule]] = Field(
default=None, description=""
) # relationship
sap_erp_abap_programs: Optional[List[SapErpAbapProgram]] = Field(
default=None, description=""
) # relationship
sap_erp_transaction_codes: Optional[List[SapErpTransactionCode]] = Field(
default=None, description=""
) # relationship
parent_component: Optional[SapErpComponent] = Field(
default=None, description=""
) # relationship
attributes: SapErpComponent.Attributes = Field(
default_factory=lambda: SapErpComponent.Attributes(),
description=(
"Map of attributes in the instance and their values. "
"The specific keys of this map will vary by type, "
"so are described in the sub-types of this schema."
),
)
from .sap_erp_abap_program import SapErpAbapProgram # noqa: E402, F401
from .sap_erp_cds_view import SapErpCdsView # noqa: E402, F401
from .sap_erp_function_module import SapErpFunctionModule # noqa: E402, F401
from .sap_erp_table import SapErpTable # noqa: E402, F401
from .sap_erp_transaction_code import SapErpTransactionCode # noqa: E402, F401
from .sap_erp_view import SapErpView # noqa: E402, F401
SapErpComponent.Attributes.update_forward_refs()