Skip to content

Catalog

laktory.models.resources.databricks.Catalog ¤

Bases: CatalogBase

A catalog is the first layer of Unity Catalog's three-level namespace. It's used to organize your data assets.

Examples:

import io

from laktory import models

catalog_yaml = '''
name: dev
grants:
- principal: account users
  privileges:
  - USE_CATALOG
  - USE_SCHEMA
schemas:
- name: engineering
  grants:
  - principal: domain-engineering
    privileges:
    - SELECT
- name: sources
  volumes:
  - name: landing
    volume_type: EXTERNAL
    grants:
    - principal: account users
      privileges:
      - READ_VOLUME
    - principal: role-metastore-admins
      privileges:
      - WRITE_VOLUME
'''
catalog = models.resources.databricks.Catalog.model_validate_yaml(
    io.StringIO(catalog_yaml)
)
References
BASE DESCRIPTION
browse_only

Indicates whether the principal is limited to retrieving metadata for the associated object through the BROWSE privilege when include_browse is enabled in the request.

TYPE: bool | None | VariableType DEFAULT: None

comment

User-provided free-form text description.

TYPE: str | None | VariableType DEFAULT: None

connection_name

The name of the connection to an external data source.

TYPE: str | None | VariableType DEFAULT: None

effective_predictive_optimization_flag

TYPE: CatalogEffectivePredictiveOptimizationFlag | None | VariableType DEFAULT: None

enable_predictive_optimization

Whether predictive optimization should be enabled for this object and objects under it.

TYPE: str | None | VariableType DEFAULT: None

force_destroy

If True catalog can be deleted, even when not empty

TYPE: bool | VariableType DEFAULT: True

isolation_mode

Whether the catalog is accessible from all workspaces or a specific set of workspaces. Can be ISOLATED or OPEN. Setting the catalog to ISOLATED will automatically allow access from the current workspace.

TYPE: Literal['OPEN', 'ISOLATED'] | VariableType DEFAULT: 'OPEN'

managed_encryption_settings

Control CMK encryption for managed catalog data

TYPE: CatalogManagedEncryptionSettings | None | VariableType DEFAULT: None

metastore_id

Unique identifier of parent metastore.

TYPE: str | None | VariableType DEFAULT: None

name

Name of the catalog

TYPE: str | VariableType

options

A map of key-value properties attached to the securable.

TYPE: dict[str, str] | None | VariableType DEFAULT: None

owner

Username of current owner of catalog.

TYPE: str | None | VariableType DEFAULT: None

properties

A map of key-value properties attached to the securable.

TYPE: dict[str, str] | None | VariableType DEFAULT: None

provider_name

The name of delta sharing provider.

TYPE: str | None | VariableType DEFAULT: None

provisioning_info

TYPE: CatalogProvisioningInfo | None | VariableType DEFAULT: None

share_name

The name of the share under the share provider.

TYPE: str | None | VariableType DEFAULT: None

storage_root

Storage root URL for managed tables within catalog.

TYPE: str | None | VariableType DEFAULT: None

LAKTORY DESCRIPTION
grant

Non-destructive grant for specific principal(s). Adds or updates privileges for the listed principal(s) and leaves grants for all other principals untouched. Use when access is managed from multiple sources (Laktory, Databricks UI, etc.). Mutually exclusive with grants.

TYPE: CatalogGrant | list[CatalogGrant] | VariableType DEFAULT: None

grants

Authoritative grant list for all principals. Replaces every existing grant on this Catalog - including those set outside Laktory - with only the entries listed here. Use only when Laktory owns all access management for this resource. Mutually exclusive with grant.

TYPE: list[CatalogGrant | VariableType] | VariableType DEFAULT: None

schemas

List of schemas stored in the catalog

TYPE: list[Schema | VariableType] | VariableType DEFAULT: []

workspace_bindings

If you use workspaces to isolate user data access, you may want to limit access from specific workspaces in your account, also known as workspace binding.

TYPE: list[WorkspaceBinding | VariableType] | VariableType DEFAULT: None

ATTRIBUTE DESCRIPTION
additional_core_resources
  • catalog grants

TYPE: list

full_name

Full name of the catalog {catalog_name}

TYPE: str

additional_core_resources property ¤

  • catalog grants
  • schemas resources

full_name property ¤

Full name of the catalog {catalog_name}


laktory.models.resources.databricks.catalog.CatalogEffectivePredictiveOptimizationFlag ¤

Bases: BaseModel

PARAMETER DESCRIPTION
inherited_from_name

TYPE: str | None | VariableType DEFAULT: None

inherited_from_type

TYPE: str | None | VariableType DEFAULT: None

value

TYPE: str | VariableType


laktory.models.resources.databricks.catalog.CatalogLookup ¤

Bases: ResourceLookup

PARAMETER DESCRIPTION
name

Catalog name

TYPE: str | VariableType


laktory.models.resources.databricks.catalog.CatalogManagedEncryptionSettings ¤

Bases: BaseModel

PARAMETER DESCRIPTION
azure_encryption_settings

TYPE: CatalogManagedEncryptionSettingsAzureEncryptionSettings | None | VariableType DEFAULT: None

azure_key_vault_key_id

TYPE: str | None | VariableType DEFAULT: None

customer_managed_key_id

TYPE: str | None | VariableType DEFAULT: None


laktory.models.resources.databricks.catalog.CatalogManagedEncryptionSettingsAzureEncryptionSettings ¤

Bases: BaseModel

PARAMETER DESCRIPTION
azure_cmk_access_connector_id

TYPE: str | None | VariableType DEFAULT: None

azure_cmk_managed_identity_id

TYPE: str | None | VariableType DEFAULT: None

azure_tenant_id

TYPE: str | VariableType


laktory.models.resources.databricks.catalog.CatalogProvisioningInfo ¤

Bases: BaseModel

PARAMETER DESCRIPTION
state

TYPE: str | None | VariableType DEFAULT: None