Skip to content

Data Mesh

DataDomain

pyatlan.model.assets.core.data_domain.DataDomain(__pydantic_self__, **data: Any)

Bases: DataMesh

Description

Source code in pyatlan/model/assets/core/referenceable.py
def __init__(__pydantic_self__, **data: Any) -> None:
    super().__init__(**data)
    __pydantic_self__.__fields_set__.update(["attributes", "type_name"])

Attributes

DATA_PRODUCTS: RelationField = RelationField('dataProducts') class-attribute

TBC

PARENT_DOMAIN: RelationField = RelationField('parentDomain') class-attribute

TBC

STAKEHOLDERS: RelationField = RelationField('stakeholders') class-attribute

TBC

SUB_DOMAINS: RelationField = RelationField('subDomains') class-attribute

TBC

DataMesh

pyatlan.model.assets.core.data_mesh.DataMesh(__pydantic_self__, **data: Any)

Bases: Catalog

Description

Source code in pyatlan/model/assets/core/referenceable.py
def __init__(__pydantic_self__, **data: Any) -> None:
    super().__init__(**data)
    __pydantic_self__.__fields_set__.update(["attributes", "type_name"])

Attributes

PARENT_DOMAIN_QUALIFIED_NAME: KeywordTextField = KeywordTextField('parentDomainQualifiedName', 'parentDomainQualifiedName', 'parentDomainQualifiedName.text') class-attribute

Unique name of the parent domain in which this asset exists.

SUPER_DOMAIN_QUALIFIED_NAME: KeywordTextField = KeywordTextField('superDomainQualifiedName', 'superDomainQualifiedName', 'superDomainQualifiedName.text') class-attribute

Unique name of the top-level domain in which this asset exists.

Functions

get_super_domain_qualified_name(domain_qualified_name: str) staticmethod

Retrieve the domain's top-most ancestral domain qualified name.

:param domain_qualified_name: of the domain, from which to retrieve the top-most ancestral domain qualified name :returns qualified_name: of the top-most ancestral domain, or None if it can't be determined

Source code in pyatlan/model/assets/core/data_mesh.py
@staticmethod
def get_super_domain_qualified_name(domain_qualified_name: str):
    """
    Retrieve the domain's top-most ancestral domain qualified name.

    :param domain_qualified_name: of the domain, from which to
    retrieve the top-most ancestral domain qualified name
    :returns qualified_name: of the top-most ancestral domain, or `None` if it can't be determined
    """
    import re

    domain_qn_prefix = re.compile(r"(default/domain/[a-zA-Z0-9-]+/super)/.*")
    if domain_qualified_name:
        match = domain_qn_prefix.match(domain_qualified_name)
        if match and match.group(1):
            return match.group(1)
        elif domain_qualified_name.startswith("default/domain/"):
            return domain_qualified_name
    return None

DataProduct

pyatlan.model.assets.core.data_product.DataProduct(__pydantic_self__, **data: Any)

Bases: DataMesh

Description

Source code in pyatlan/model/assets/core/referenceable.py
def __init__(__pydantic_self__, **data: Any) -> None:
    super().__init__(**data)
    __pydantic_self__.__fields_set__.update(["attributes", "type_name"])

Attributes

DAAP_CRITICALITY: KeywordField = KeywordField('daapCriticality', 'daapCriticality') class-attribute

Criticality of this data product.

DAAP_INPUT_PORT_GUIDS: KeywordField = KeywordField('daapInputPortGuids', 'daapInputPortGuids') class-attribute

Input ports guids for this data product.

DAAP_LINEAGE_STATUS: KeywordField = KeywordField('daapLineageStatus', 'daapLineageStatus') class-attribute

Status of this data product lineage.

DAAP_OUTPUT_PORT_GUIDS: KeywordField = KeywordField('daapOutputPortGuids', 'daapOutputPortGuids') class-attribute

Output ports guids for this data product.

DAAP_SENSITIVITY: KeywordField = KeywordField('daapSensitivity', 'daapSensitivity') class-attribute

Information sensitivity of this data product.

DAAP_STATUS: KeywordField = KeywordField('daapStatus', 'daapStatus') class-attribute

Status of this data product.

DAAP_VISIBILITY: KeywordField = KeywordField('daapVisibility', 'daapVisibility') class-attribute

Visibility of a data product.

DAAP_VISIBILITY_GROUPS: KeywordField = KeywordField('daapVisibilityGroups', 'daapVisibilityGroups') class-attribute

list of groups for product visibility control

DAAP_VISIBILITY_USERS: KeywordField = KeywordField('daapVisibilityUsers', 'daapVisibilityUsers') class-attribute

list of users for product visibility control

DATA_DOMAIN: RelationField = RelationField('dataDomain') class-attribute

TBC

DATA_PRODUCT_ASSETS_DSL: TextField = TextField('dataProductAssetsDSL', 'dataProductAssetsDSL') class-attribute

Search DSL used to define which assets are part of this data product.

DATA_PRODUCT_ASSETS_PLAYBOOK_FILTER: TextField = TextField('dataProductAssetsPlaybookFilter', 'dataProductAssetsPlaybookFilter') class-attribute

Playbook filter to define which assets are part of this data product.

DATA_PRODUCT_CRITICALITY: KeywordField = KeywordField('dataProductCriticality', 'dataProductCriticality') class-attribute

Criticality of this data product.

DATA_PRODUCT_SCORE_UPDATED_AT: NumericField = NumericField('dataProductScoreUpdatedAt', 'dataProductScoreUpdatedAt') class-attribute

Timestamp when the score of this data product was last updated.

DATA_PRODUCT_SCORE_VALUE: NumericField = NumericField('dataProductScoreValue', 'dataProductScoreValue') class-attribute

Score of this data product.

DATA_PRODUCT_SENSITIVITY: KeywordField = KeywordField('dataProductSensitivity', 'dataProductSensitivity') class-attribute

Information sensitivity of this data product.

DATA_PRODUCT_STATUS: KeywordField = KeywordField('dataProductStatus', 'dataProductStatus') class-attribute

Status of this data product.

DATA_PRODUCT_VISIBILITY: KeywordField = KeywordField('dataProductVisibility', 'dataProductVisibility') class-attribute

Visibility of a data product.

INPUT_PORTS: RelationField = RelationField('inputPorts') class-attribute

TBC

OUTPUT_PORTS: RelationField = RelationField('outputPorts') class-attribute

TBC

Functions

get_assets(client: AtlanClient)

Retrieves list of all assets linked to the provided data product.

:param client: connectivity to an Atlan tenant :raises InvalidRequestError: if DataProduct asset DSL cannot be found (does not exist) in Atlan :raises AtlanError: if there is an issue interacting with the API :returns: instance of IndexSearchResults with list of all assets linked to the provided data product

Source code in pyatlan/model/assets/core/data_product.py
def get_assets(self, client: AtlanClient):
    """
    Retrieves list of all assets linked to the provided data product.

    :param client: connectivity to an Atlan tenant
    :raises InvalidRequestError: if DataProduct asset DSL cannot be found (does not exist) in Atlan
    :raises AtlanError: if there is an issue interacting with the API
    :returns: instance of `IndexSearchResults` with list of all assets linked to the provided data product
    """
    dp_dsl = self.data_product_assets_d_s_l
    if not dp_dsl:
        raise ErrorCode.MISSING_DATA_PRODUCT_ASSET_DSL.exception_with_parameters()
    json_object = json.loads(dp_dsl)
    request = IndexSearchRequest(**json_object.get("query", {}))
    response = client.asset.search(request)
    return response