databricks_catalog Resource

June 12, 2026 ยท View on GitHub

API Documentation

Within a metastore, Unity Catalog provides a 3-level namespace for organizing data: Catalogs, Databases (also called Schemas), and Tables / Views.

A databricks_catalog is contained within databricks_metastore and can contain databricks_schema. By default, Databricks creates default schema for every new catalog, but Terraform plugin is removing this auto-created schema, so that resource destruction could be done in a clean way.

-> This resource can only be used with a workspace-level provider!

Example Usage

resource "databricks_catalog" "sandbox" {
  name    = "sandbox"
  comment = "this catalog is managed by terraform"
  properties = {
    purpose = "testing"
  }
}

Argument Reference

The following arguments are required:

  • name - Name of Catalog relative to parent metastore.
  • storage_root - (Optional if storage_root is specified for the metastore) Managed location of the catalog. Location in cloud storage where data for managed tables will be stored. If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space -> %20, etc.). If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
  • provider_name - (Optional) For Delta Sharing Catalogs: the name of the delta sharing provider. Change forces creation of a new resource.
  • share_name - (Optional) For Delta Sharing Catalogs: the name of the share under the share provider. Change forces creation of a new resource.
  • connection_name - (Optional) For Foreign Catalogs: the name of the connection to an external data source. Changes forces creation of a new resource.
  • owner - (Optional) Username/groupname/sp application_id of the catalog owner.
  • isolation_mode - (Optional) 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.
  • enable_predictive_optimization - (Optional) Whether predictive optimization should be enabled for this object and objects under it. Can be ENABLE, DISABLE or INHERIT
  • comment - (Optional) User-supplied free-form text.
  • properties - (Optional) Extensible Catalog properties.
  • options - (Optional) For Foreign Catalogs: the name of the entity from an external data source that maps to a catalog. For example, the database name in a PostgreSQL server.
  • force_destroy - (Optional) Delete catalog regardless of its contents.
  • provider_config - (Optional) Configure the provider for management through account provider. This block consists of the following fields:
    • workspace_id - (Required) Workspace ID which the resource belongs to. This workspace must be part of the account which the provider is configured with.

Attribute Reference

In addition to all arguments above, the following attributes are exported:

  • id - ID of this catalog - same as the name.
  • metastore_id - ID of the parent metastore.
  • storage_location - effective storage Location URL (full path) for managed tables within catalog.
  • catalog_type - the type of the catalog.
  • created_at - time at which this catalog was created, in epoch milliseconds.
  • created_by - username of catalog creator.
  • securable_type - the type of Unity Catalog securable.
  • updated_at - time at which this catalog was last modified, in epoch milliseconds..
  • updated_by - username of user who last modified catalog.

Import

This resource can be imported by name:

import {
  to = databricks_catalog.this
  id = "<name>"
}

Alternatively, when using terraform version 1.4 or earlier, import using the terraform import command:

terraform import databricks_catalog.this <name>

The following resources are used in the same context: