Source code for pyatlan.model.assets.core.fabric_workspace

# 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 .fabric import Fabric


[docs] class FabricWorkspace(Fabric): """Description""" type_name: str = Field(default="FabricWorkspace", allow_mutation=False) @validator("type_name") def validate_type_name(cls, v): if v != "FabricWorkspace": raise ValueError("must be FabricWorkspace") return v def __setattr__(self, name, value): if name in FabricWorkspace._convenience_properties: return object.__setattr__(self, name, value) super().__setattr__(name, value) FABRIC_DATA_PIPELINES: ClassVar[RelationField] = RelationField( "fabricDataPipelines" ) """ TBC """ FABRIC_SEMANTIC_MODELS: ClassVar[RelationField] = RelationField( "fabricSemanticModels" ) """ TBC """ FABRIC_DASHBOARDS: ClassVar[RelationField] = RelationField("fabricDashboards") """ TBC """ FABRIC_DATAFLOWS: ClassVar[RelationField] = RelationField("fabricDataflows") """ TBC """ FABRIC_DATABASES: ClassVar[RelationField] = RelationField("fabricDatabases") """ TBC """ FABRIC_REPORTS: ClassVar[RelationField] = RelationField("fabricReports") """ TBC """ _convenience_properties: ClassVar[List[str]] = [ "fabric_data_pipelines", "fabric_semantic_models", "fabric_dashboards", "fabric_dataflows", "fabric_databases", "fabric_reports", ] @property def fabric_data_pipelines(self) -> Optional[List[FabricDataPipeline]]: return ( None if self.attributes is None else self.attributes.fabric_data_pipelines ) @fabric_data_pipelines.setter def fabric_data_pipelines( self, fabric_data_pipelines: Optional[List[FabricDataPipeline]] ): if self.attributes is None: self.attributes = self.Attributes() self.attributes.fabric_data_pipelines = fabric_data_pipelines @property def fabric_semantic_models(self) -> Optional[List[FabricSemanticModel]]: return ( None if self.attributes is None else self.attributes.fabric_semantic_models ) @fabric_semantic_models.setter def fabric_semantic_models( self, fabric_semantic_models: Optional[List[FabricSemanticModel]] ): if self.attributes is None: self.attributes = self.Attributes() self.attributes.fabric_semantic_models = fabric_semantic_models @property def fabric_dashboards(self) -> Optional[List[FabricDashboard]]: return None if self.attributes is None else self.attributes.fabric_dashboards @fabric_dashboards.setter def fabric_dashboards(self, fabric_dashboards: Optional[List[FabricDashboard]]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.fabric_dashboards = fabric_dashboards @property def fabric_dataflows(self) -> Optional[List[FabricDataflow]]: return None if self.attributes is None else self.attributes.fabric_dataflows @fabric_dataflows.setter def fabric_dataflows(self, fabric_dataflows: Optional[List[FabricDataflow]]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.fabric_dataflows = fabric_dataflows @property def fabric_databases(self) -> Optional[List[Database]]: return None if self.attributes is None else self.attributes.fabric_databases @fabric_databases.setter def fabric_databases(self, fabric_databases: Optional[List[Database]]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.fabric_databases = fabric_databases @property def fabric_reports(self) -> Optional[List[FabricReport]]: return None if self.attributes is None else self.attributes.fabric_reports @fabric_reports.setter def fabric_reports(self, fabric_reports: Optional[List[FabricReport]]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.fabric_reports = fabric_reports class Attributes(Fabric.Attributes): fabric_data_pipelines: Optional[List[FabricDataPipeline]] = Field( default=None, description="" ) # relationship fabric_semantic_models: Optional[List[FabricSemanticModel]] = Field( default=None, description="" ) # relationship fabric_dashboards: Optional[List[FabricDashboard]] = Field( default=None, description="" ) # relationship fabric_dataflows: Optional[List[FabricDataflow]] = Field( default=None, description="" ) # relationship fabric_databases: Optional[List[Database]] = Field( default=None, description="" ) # relationship fabric_reports: Optional[List[FabricReport]] = Field( default=None, description="" ) # relationship attributes: FabricWorkspace.Attributes = Field( default_factory=lambda: FabricWorkspace.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 .database import Database # noqa: E402, F401 from .fabric_dashboard import FabricDashboard # noqa: E402, F401 from .fabric_data_pipeline import FabricDataPipeline # noqa: E402, F401 from .fabric_dataflow import FabricDataflow # noqa: E402, F401 from .fabric_report import FabricReport # noqa: E402, F401 from .fabric_semantic_model import FabricSemanticModel # noqa: E402, F401