Source code for pyatlan.model.assets.sigma_data_element

# 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 (
    KeywordField,
    NumericField,
    RelationField,
    TextField,
)

from .sigma import Sigma


[docs] class SigmaDataElement(Sigma): """Description""" type_name: str = Field(default="SigmaDataElement", allow_mutation=False) @validator("type_name") def validate_type_name(cls, v): if v != "SigmaDataElement": raise ValueError("must be SigmaDataElement") return v def __setattr__(self, name, value): if name in SigmaDataElement._convenience_properties: return object.__setattr__(self, name, value) super().__setattr__(name, value) SIGMA_DATA_ELEMENT_QUERY: ClassVar[TextField] = TextField( "sigmaDataElementQuery", "sigmaDataElementQuery" ) """ """ SIGMA_DATA_ELEMENT_TYPE: ClassVar[KeywordField] = KeywordField( "sigmaDataElementType", "sigmaDataElementType" ) """ """ SIGMA_DATA_ELEMENT_FIELD_COUNT: ClassVar[NumericField] = NumericField( "sigmaDataElementFieldCount", "sigmaDataElementFieldCount" ) """ Number of fields in this data element. """ SIGMA_PAGE: ClassVar[RelationField] = RelationField("sigmaPage") """ TBC """ SIGMA_DATA_ELEMENT_FIELDS: ClassVar[RelationField] = RelationField( "sigmaDataElementFields" ) """ TBC """ _convenience_properties: ClassVar[List[str]] = [ "sigma_data_element_query", "sigma_data_element_type", "sigma_data_element_field_count", "sigma_page", "sigma_data_element_fields", ] @property def sigma_data_element_query(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.sigma_data_element_query ) @sigma_data_element_query.setter def sigma_data_element_query(self, sigma_data_element_query: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.sigma_data_element_query = sigma_data_element_query @property def sigma_data_element_type(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.sigma_data_element_type ) @sigma_data_element_type.setter def sigma_data_element_type(self, sigma_data_element_type: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.sigma_data_element_type = sigma_data_element_type @property def sigma_data_element_field_count(self) -> Optional[int]: return ( None if self.attributes is None else self.attributes.sigma_data_element_field_count ) @sigma_data_element_field_count.setter def sigma_data_element_field_count( self, sigma_data_element_field_count: Optional[int] ): if self.attributes is None: self.attributes = self.Attributes() self.attributes.sigma_data_element_field_count = sigma_data_element_field_count @property def sigma_page(self) -> Optional[SigmaPage]: return None if self.attributes is None else self.attributes.sigma_page @sigma_page.setter def sigma_page(self, sigma_page: Optional[SigmaPage]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.sigma_page = sigma_page @property def sigma_data_element_fields(self) -> Optional[List[SigmaDataElementField]]: return ( None if self.attributes is None else self.attributes.sigma_data_element_fields ) @sigma_data_element_fields.setter def sigma_data_element_fields( self, sigma_data_element_fields: Optional[List[SigmaDataElementField]] ): if self.attributes is None: self.attributes = self.Attributes() self.attributes.sigma_data_element_fields = sigma_data_element_fields class Attributes(Sigma.Attributes): sigma_data_element_query: Optional[str] = Field(default=None, description="") sigma_data_element_type: Optional[str] = Field(default=None, description="") sigma_data_element_field_count: Optional[int] = Field( default=None, description="" ) sigma_page: Optional[SigmaPage] = Field( default=None, description="" ) # relationship sigma_data_element_fields: Optional[List[SigmaDataElementField]] = Field( default=None, description="" ) # relationship attributes: SigmaDataElement.Attributes = Field( default_factory=lambda: SigmaDataElement.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 .sigma_data_element_field import SigmaDataElementField # noqa: E402, F401 from .sigma_page import SigmaPage # noqa: E402, F401 SigmaDataElement.Attributes.update_forward_refs()