Azure Metastore Assignment Terraform module

Terraform module for creation Azure Databricks Metastore Assignment

Usage

This module provisions Azure Databricks Metastore Assignment. Below are examples of Account-level and Workspace-level APIs configuration.

Account-level API provider configuration example (recommended).

# Prerequisite resources
terraform {
  required_providers {
    databricks = {
      source  = "databricks/databricks"
      version = ">=1.24.1"
    }
  }
}

variable "databricks_account_id" {}
variable "databricks_metastore_id" {}

provider "databricks" {
  alias      = "account"
  host       = "https://accounts.azuredatabricks.net"
  account_id = var.databricks_account_id
}

# Target Databricks Workspace with Premium SKU
data "azurerm_databricks_workspace" "example" {
  name                = "example-workspace"
  resource_group_name = "example-rg"
}

# Assigning Unity Catalog Metastore to Workspace
module "metastore_assignment" {
  source  = "data-platform-hq/metastore-assignment/databricks"
  version = "~> 1.0"

  workspace_id = data.databricks_workspace.workspace_id
  metastore_id = var.databricks_metastore_id

  providers = {
    databricks = databricks.account
  }
}

Workspace-level API provider configuration example.

# Prerequisite resources
terraform {
  required_providers {
    databricks = {
      source  = "databricks/databricks"
      version = "=1.14.2"
    }
  }
}

variable "databricks_metastore_id" {}

provider "databricks" {
  alias                       = "workspace"
  host                        = data.databricks_workspace.example.workspace_url
  azure_workspace_resource_id = data.databricks_workspace.example.id
}

# Target Databricks Workspace with Premium SKU
data "azurerm_databricks_workspace" "example" {
  name                = "example-workspace"
  resource_group_name = "example-rg"
}

# Assigning Unity Catalog Metastore to Workspace
module "metastore_assignment" {
  source  = "data-platform-hq/metastore-assignment/databricks"
  version = "~> 1.0"

  workspace_id = data.databricks_workspace.workspace_id
  metastore_id = var.databricks_metastore_id

  providers = {
    databricks = databricks.workspace
  }
}

Requirements

Name Version
terraform >=1.0.0
databricks >=1.14.2

Providers

Name Version
databricks >=1.14.2

Modules

No modules.

Resources

Name Type
databricks_metastore_assignment.this resource

Inputs

Name Description Type Default Required
metastore_id Databricks Unity Catalog Metastore Id string "" no
workspace_id Databricks Workspace Id string "" no

Outputs

No outputs.

License

Apache 2 Licensed. For more information please see LICENSE