Skip to content

Latest commit

 

History

History
99 lines (74 loc) · 3.54 KB

README.md

File metadata and controls

99 lines (74 loc) · 3.54 KB

Azure Databricks Network Connectivity Config Terraform module

Terraform module for creation Azure Databricks NCC

Usage

This module provisions Databricks Network Connectivity Config workspace bindings and private endpoints rules for your Storage Accounts (i.e. Private Endpoints for blob and dfs in Databricks Control Plane).

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

data "azurerm_databricks_workspace" "example" {
  name                = "example-workspace"
  resource_group_name = "example-rg"
}

data "azurerm_storage_account" "example" {
  name                = "mystorageaccount"
  resource_group_name = "example-rg"
}

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

#NOTE: Network Connectivity Config works only with Unity Catalog assigned Workspaces
module "metastore_assignment" {
  source  = "data-platform-hq/metastore-assignment/databricks"
  version = "~> 1.0"

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

  providers = {
    databricks = databricks.account
  }
}

module "databricks_workspace_ncc" {
  source  = "data-platform-hq/ncc/databricks"
  version = "~> 1.0"

  network_connectivity_config_id = var.databricks_ncc_id
  databricks_workspace_id        = data.databricks_workspace.example.workspace_id
  storage_accounts = [
    { name = data.azurerm_storage_account.example.name, id = data.azurerm_storage_account.example.id },
  ]

  providers = {
    databricks = databricks.account
  }

  depends_on = [modules.metastore_assignment]
}

Requirements

Name Version
terraform >=1.0.0
databricks >=1.44.0

Providers

Name Version
databricks >=1.44.0

Modules

No modules.

Resources

Name Type
databricks_mws_ncc_binding.this resource
databricks_mws_ncc_private_endpoint_rule.this resource
databricks_mws_network_connectivity_config.this data source

Inputs

Name Description Type Default Required
databricks_workspace_id Target Databricks Workspace id string n/a yes
network_connectivity_config_name Name of existing Network Connectivity Config string n/a yes
storage_accounts List of object with parameters to configure NCC for Storage Account. Both blob and dfs private endpoints would be provisioned
list(object({
name = string
id = string
}))
n/a yes

Outputs

No outputs.

License

Apache 2 Licensed. For more information please see LICENSE