Deployment name prefix not defined in Terraform

You must have a deployment_name defined in Databricks, before using it to deploy workspaces with Terraform.

Written by Cedric Law

Last published at: July 22nd, 2022

Problem

You are using Terraform to deploy a workspace in AWS and you get a Deployment name cannot be used until a deployment name prefix is defined. error message.

│ Error: MALFORMED_REQUEST: Failed parameter validation checks: Deployment name cannot be used until a deployment name prefix is defined. Please contact your Databricks representative
│
│   with databricks_mws_workspaces.this,
│   on workspace.tf line 3, in resource "databricks_mws_workspaces" "this":
│    3: resource "databricks_mws_workspaces" "this" {
│

Cause

The deployment_name prefix is defined in Terraform, but no deployment prefix is configured in your Databricks account.

Solution

To work around the issue, disable the deployment_name prefix variable in your Terraform configuration.

In this example, the deployment_name has been commented out.

// workspace.tf

resource "databricks_mws_workspaces" "this" {
  provider        = databricks.mws
  account_id      = var.databricks_account_id
  aws_region      = var.region
  workspace_name  = local.prefix
  # deployment_name = local.prefix


  credentials_id           = databricks_mws_credentials.this.credentials_id
  storage_configuration_id = databricks_mws_storage_configurations.this.storage_configuration_id
  network_id               = databricks_mws_networks.this.network_id
}

For a permanent solution, ensure that a deployment prefix is configured in your Databricks account.

Delete

Info

To set a deployment_name prefix in your Databricks account, you must contact your Databricks representative. Once a new deployment_name prefix is added/updated, it only applies to new workspaces.

Review the Terraform databricks_mws_workspaces documentation for more information.

You can also review the Databricks Terraform documentation.