lubiarzm1
Contributor

All issues was resolved
Ready to deploy code

locals {
  default_tags = {
    terraform                 = "true"
    workload                  = var.app
    env                       = var.environment
  }
}

resource "azurerm_databricks_access_connector" "connector" {
  name                = "dac-${var.name_of_workspace}"
  resource_group_name = var.rg
  location            = var.location

  identity {
    type = "SystemAssigned"
  }
}

resource "azurerm_databricks_workspace" "workspace" {
  provider                              = azurerm
  name                                  = "dw-${var.name_of_workspace}"
  resource_group_name                   = var.rg
  location                              = var.location
  sku                                   = var.tier_of_databricks
  
  managed_resource_group_name           = "rg-${var.name_of_workspace}-managed"
  network_security_group_rules_required = "NoAzureDatabricksRules"
  public_network_access_enabled         = false
  default_storage_firewall_enabled      = false
  access_connector_id                   = azurerm_databricks_access_connector.connector.id

  custom_parameters {
    virtual_network_id      = var.vnet_id
    public_subnet_name      = var.subnet_name_public
    private_subnet_name     = var.subnet_name_private

    public_subnet_network_security_group_association_id  = var.public_nsg_id
    private_subnet_network_security_group_association_id = var.private_nsg_id
  }

  tags = merge(local.default_tags,
    { module_version = var.module_version }
  )

  depends_on = [
    azurerm_databricks_access_connector.connector
  ]
}

resource "azurerm_private_endpoint" "databricks_pe_ui" {
  name                = "pe-${var.name_of_workspace}-ui"
  location            = var.location
  resource_group_name = var.rg
  subnet_id           = var.subnet_private_endpoint_id

  private_service_connection {
    name                           = "psc-${var.name_of_workspace}-ui"
    private_connection_resource_id = azurerm_databricks_workspace.workspace.id
    subresource_names              = ["databricks_ui_api"]
    is_manual_connection           = false
  }

  tags = merge(local.default_tags,
    { module_version = var.module_version }
  )
  depends_on = [azurerm_databricks_workspace.workspace]
}

resource "azurerm_private_endpoint" "databricks_pe_auth" {
  name                = "pe-${var.name_of_workspace}-auth"
  location            = var.location
  resource_group_name = var.rg
  subnet_id           = var.subnet_private_endpoint_id

  private_service_connection {
    name                           = "psc-${var.name_of_workspace}-auth"
    private_connection_resource_id = azurerm_databricks_workspace.workspace.id
    subresource_names              = ["browser_authentication"]
    is_manual_connection           = false
  }

  tags = merge(local.default_tags,
    { module_version = var.module_version }
  )
  depends_on = [azurerm_databricks_workspace.workspace]
}

View solution in original post