Skip to content

Pipeline Config Workspace File

laktory.models.pipeline.orchestrators.pipelineconfigworkspacefile.PipelineConfigWorkspaceFile ¤

Bases: WorkspaceFile, PipelineChild

Workspace File storing pipeline configuration. Default values for path and access controls. Forced value for source.

BASE DESCRIPTION
content_base64

The base64-encoded file content. Conflicts with source. Use of content_base64 is discouraged, as it's increasing memory footprint of Terraform state and should only be used in exceptional circumstances, like creating a workspace file with configuration properties for a data pipeline

TYPE: str | None | VariableType DEFAULT: None

md5

TYPE: str | None | VariableType DEFAULT: None

object_id

Unique identifier for a workspace file

TYPE: int | None | VariableType DEFAULT: None

LAKTORY DESCRIPTION
access_controls

Access controls list

TYPE: list[AccessControl | VariableType] | VariableType DEFAULT: [AccessControl(variables={}, group_name='users', permission_level='CAN_READ', service_principal_name=None, user_name=None)]

dirpath

Workspace directory inside rootpath in which the workspace file is deployed. Used only if path is not specified.

TYPE: str | VariableType DEFAULT: None

path_

Workspace filepath for the file. Overwrite dirpath.

TYPE: str | VariableType DEFAULT: None

source_

Path to file on local filesystem.

TYPE: str | VariableType DEFAULT: None

METHOD DESCRIPTION
build

Write config file to settings.build_root if

ATTRIBUTE DESCRIPTION
filename

File filename

TYPE: str | None

filename property ¤

File filename

build() ¤

Write config file to settings.build_root if specified or default cache dir if not. These files may also be used when deployment is delegated to third parties like Databricks Declarative Bundles.

Source code in laktory/models/pipeline/orchestrators/pipelineconfigworkspacefile.py
74
75
76
77
78
79
80
81
82
83
84
def build(self):
    """
    Write config file to `settings.build_root` if
    specified or default cache dir if not. These files may also be used when
    deployment is delegated to third parties like Databricks Declarative Bundles.
    """
    filepath = Path(self.source)
    filepath.parent.mkdir(parents=True, exist_ok=True)
    logger.debug(f"Writing config file at {filepath}")
    with filepath.open(mode="w") as fp:
        json.dump(self.content_dict, fp, indent=4)