Source code for pyatlan.model.assets.looker_field

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

from .looker import Looker


[docs] class LookerField(Looker): """Description""" type_name: str = Field(default="LookerField", allow_mutation=False) @validator("type_name") def validate_type_name(cls, v): if v != "LookerField": raise ValueError("must be LookerField") return v def __setattr__(self, name, value): if name in LookerField._convenience_properties: return object.__setattr__(self, name, value) super().__setattr__(name, value) PROJECT_NAME: ClassVar[TextField] = TextField("projectName", "projectName") """ Name of the project in which this field exists. """ LOOKER_EXPLORE_QUALIFIED_NAME: ClassVar[KeywordTextField] = KeywordTextField( "lookerExploreQualifiedName", "lookerExploreQualifiedName", "lookerExploreQualifiedName.text", ) """ Unique name of the Explore in which this field exists. """ LOOKER_VIEW_QUALIFIED_NAME: ClassVar[KeywordTextField] = KeywordTextField( "lookerViewQualifiedName", "lookerViewQualifiedName", "lookerViewQualifiedName.text", ) """ Unique name of the view in which this field exists. """ LOOKER_TILE_QUALIFIED_NAME: ClassVar[KeywordTextField] = KeywordTextField( "lookerTileQualifiedName", "lookerTileQualifiedName", "lookerTileQualifiedName.text", ) """ Unique name of the tile in which this field is used. """ LOOKER_LOOK_QUALIFIED_NAME: ClassVar[KeywordTextField] = KeywordTextField( "lookerLookQualifiedName", "lookerLookQualifiedName", "lookerLookQualifiedName.text", ) """ Unique name of the look in which this field is used. """ LOOKER_DASHBOARD_QUALIFIED_NAME: ClassVar[KeywordTextField] = KeywordTextField( "lookerDashboardQualifiedName", "lookerDashboardQualifiedName", "lookerDashboardQualifiedName.text", ) """ Unique name of the dashboard in which this field is used. """ MODEL_NAME: ClassVar[KeywordTextField] = KeywordTextField( "modelName", "modelName.keyword", "modelName" ) """ Name of the model in which this field exists. """ SOURCE_DEFINITION: ClassVar[TextField] = TextField( "sourceDefinition", "sourceDefinition" ) """ Deprecated. """ LOOKER_FIELD_DATA_TYPE: ClassVar[KeywordField] = KeywordField( "lookerFieldDataType", "lookerFieldDataType" ) """ Deprecated. """ LOOKER_TIMES_USED: ClassVar[NumericField] = NumericField( "lookerTimesUsed", "lookerTimesUsed" ) """ Deprecated. """ LOOKER_FIELD_IS_REFINED: ClassVar[BooleanField] = BooleanField( "lookerFieldIsRefined", "lookerFieldIsRefined" ) """ Whether the looker field asset is coming from a refinement """ LOOKER_FIELD_REFINEMENT_FILE_PATH: ClassVar[TextField] = TextField( "lookerFieldRefinementFilePath", "lookerFieldRefinementFilePath" ) """ Absolute path of the file where the refinement of the field is declared. """ LOOKER_FIELD_REFINEMENT_LINE_NUMBER: ClassVar[TextField] = TextField( "lookerFieldRefinementLineNumber", "lookerFieldRefinementLineNumber" ) """ Line number in the lookerFieldRefinementFilePath where this refinement of the field is declared. """ PROJECT: ClassVar[RelationField] = RelationField("project") """ TBC """ VIEW: ClassVar[RelationField] = RelationField("view") """ TBC """ TILE: ClassVar[RelationField] = RelationField("tile") """ TBC """ MODEL: ClassVar[RelationField] = RelationField("model") """ TBC """ DASHBOARD: ClassVar[RelationField] = RelationField("dashboard") """ TBC """ EXPLORE: ClassVar[RelationField] = RelationField("explore") """ TBC """ LOOK: ClassVar[RelationField] = RelationField("look") """ TBC """ _convenience_properties: ClassVar[List[str]] = [ "project_name", "looker_explore_qualified_name", "looker_view_qualified_name", "looker_tile_qualified_name", "looker_look_qualified_name", "looker_dashboard_qualified_name", "model_name", "source_definition", "looker_field_data_type", "looker_times_used", "looker_field_is_refined", "looker_field_refinement_file_path", "looker_field_refinement_line_number", "project", "view", "tile", "model", "dashboard", "explore", "look", ] @property def project_name(self) -> Optional[str]: return None if self.attributes is None else self.attributes.project_name @project_name.setter def project_name(self, project_name: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.project_name = project_name @property def looker_explore_qualified_name(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.looker_explore_qualified_name ) @looker_explore_qualified_name.setter def looker_explore_qualified_name( self, looker_explore_qualified_name: Optional[str] ): if self.attributes is None: self.attributes = self.Attributes() self.attributes.looker_explore_qualified_name = looker_explore_qualified_name @property def looker_view_qualified_name(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.looker_view_qualified_name ) @looker_view_qualified_name.setter def looker_view_qualified_name(self, looker_view_qualified_name: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.looker_view_qualified_name = looker_view_qualified_name @property def looker_tile_qualified_name(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.looker_tile_qualified_name ) @looker_tile_qualified_name.setter def looker_tile_qualified_name(self, looker_tile_qualified_name: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.looker_tile_qualified_name = looker_tile_qualified_name @property def looker_look_qualified_name(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.looker_look_qualified_name ) @looker_look_qualified_name.setter def looker_look_qualified_name(self, looker_look_qualified_name: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.looker_look_qualified_name = looker_look_qualified_name @property def looker_dashboard_qualified_name(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.looker_dashboard_qualified_name ) @looker_dashboard_qualified_name.setter def looker_dashboard_qualified_name( self, looker_dashboard_qualified_name: Optional[str] ): if self.attributes is None: self.attributes = self.Attributes() self.attributes.looker_dashboard_qualified_name = ( looker_dashboard_qualified_name ) @property def model_name(self) -> Optional[str]: return None if self.attributes is None else self.attributes.model_name @model_name.setter def model_name(self, model_name: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.model_name = model_name @property def source_definition(self) -> Optional[str]: return None if self.attributes is None else self.attributes.source_definition @source_definition.setter def source_definition(self, source_definition: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.source_definition = source_definition @property def looker_field_data_type(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.looker_field_data_type ) @looker_field_data_type.setter def looker_field_data_type(self, looker_field_data_type: Optional[str]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.looker_field_data_type = looker_field_data_type @property def looker_times_used(self) -> Optional[int]: return None if self.attributes is None else self.attributes.looker_times_used @looker_times_used.setter def looker_times_used(self, looker_times_used: Optional[int]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.looker_times_used = looker_times_used @property def looker_field_is_refined(self) -> Optional[bool]: return ( None if self.attributes is None else self.attributes.looker_field_is_refined ) @looker_field_is_refined.setter def looker_field_is_refined(self, looker_field_is_refined: Optional[bool]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.looker_field_is_refined = looker_field_is_refined @property def looker_field_refinement_file_path(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.looker_field_refinement_file_path ) @looker_field_refinement_file_path.setter def looker_field_refinement_file_path( self, looker_field_refinement_file_path: Optional[str] ): if self.attributes is None: self.attributes = self.Attributes() self.attributes.looker_field_refinement_file_path = ( looker_field_refinement_file_path ) @property def looker_field_refinement_line_number(self) -> Optional[str]: return ( None if self.attributes is None else self.attributes.looker_field_refinement_line_number ) @looker_field_refinement_line_number.setter def looker_field_refinement_line_number( self, looker_field_refinement_line_number: Optional[str] ): if self.attributes is None: self.attributes = self.Attributes() self.attributes.looker_field_refinement_line_number = ( looker_field_refinement_line_number ) @property def project(self) -> Optional[LookerProject]: return None if self.attributes is None else self.attributes.project @project.setter def project(self, project: Optional[LookerProject]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.project = project @property def view(self) -> Optional[LookerView]: return None if self.attributes is None else self.attributes.view @view.setter def view(self, view: Optional[LookerView]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.view = view @property def tile(self) -> Optional[LookerTile]: return None if self.attributes is None else self.attributes.tile @tile.setter def tile(self, tile: Optional[LookerTile]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.tile = tile @property def model(self) -> Optional[LookerModel]: return None if self.attributes is None else self.attributes.model @model.setter def model(self, model: Optional[LookerModel]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.model = model @property def dashboard(self) -> Optional[LookerDashboard]: return None if self.attributes is None else self.attributes.dashboard @dashboard.setter def dashboard(self, dashboard: Optional[LookerDashboard]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.dashboard = dashboard @property def explore(self) -> Optional[LookerExplore]: return None if self.attributes is None else self.attributes.explore @explore.setter def explore(self, explore: Optional[LookerExplore]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.explore = explore @property def look(self) -> Optional[LookerLook]: return None if self.attributes is None else self.attributes.look @look.setter def look(self, look: Optional[LookerLook]): if self.attributes is None: self.attributes = self.Attributes() self.attributes.look = look class Attributes(Looker.Attributes): project_name: Optional[str] = Field(default=None, description="") looker_explore_qualified_name: Optional[str] = Field( default=None, description="" ) looker_view_qualified_name: Optional[str] = Field(default=None, description="") looker_tile_qualified_name: Optional[str] = Field(default=None, description="") looker_look_qualified_name: Optional[str] = Field(default=None, description="") looker_dashboard_qualified_name: Optional[str] = Field( default=None, description="" ) model_name: Optional[str] = Field(default=None, description="") source_definition: Optional[str] = Field(default=None, description="") looker_field_data_type: Optional[str] = Field(default=None, description="") looker_times_used: Optional[int] = Field(default=None, description="") looker_field_is_refined: Optional[bool] = Field(default=None, description="") looker_field_refinement_file_path: Optional[str] = Field( default=None, description="" ) looker_field_refinement_line_number: Optional[str] = Field( default=None, description="" ) project: Optional[LookerProject] = Field( default=None, description="" ) # relationship view: Optional[LookerView] = Field(default=None, description="") # relationship tile: Optional[LookerTile] = Field(default=None, description="") # relationship model: Optional[LookerModel] = Field( default=None, description="" ) # relationship dashboard: Optional[LookerDashboard] = Field( default=None, description="" ) # relationship explore: Optional[LookerExplore] = Field( default=None, description="" ) # relationship look: Optional[LookerLook] = Field(default=None, description="") # relationship attributes: LookerField.Attributes = Field( default_factory=lambda: LookerField.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 .looker_dashboard import LookerDashboard # noqa: E402, F401 from .looker_explore import LookerExplore # noqa: E402, F401 from .looker_look import LookerLook # noqa: E402, F401 from .looker_model import LookerModel # noqa: E402, F401 from .looker_project import LookerProject # noqa: E402, F401 from .looker_tile import LookerTile # noqa: E402, F401 from .looker_view import LookerView # noqa: E402, F401 LookerField.Attributes.update_forward_refs()