Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: isolation mode support #11

Merged
merged 9 commits into from
Jul 18, 2024
Merged
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,13 @@ module "databricks_locations" {
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >=1.0.0 |
| <a name="requirement_azurerm"></a> [azurerm](#requirement\_azurerm) | >=3.40.0 |
| <a name="requirement_databricks"></a> [databricks](#requirement\_databricks) | >=1.48.2 |
| <a name="requirement_databricks"></a> [databricks](#requirement\_databricks) | >=1.48.3 |

## Providers

| Name | Version |
|------|---------|
| <a name="provider_databricks"></a> [databricks](#provider\_databricks) | >=1.48.2 |
| <a name="provider_databricks"></a> [databricks](#provider\_databricks) | >=1.48.3 |

## Modules

Expand All @@ -102,8 +102,8 @@ No modules.

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_external_locations"></a> [external\_locations](#input\_external\_locations) | List of object with external location configuration attributes | <pre>list(object({<br> index = string # Index of instance, for example short name, used later to access exact external location in output map<br> name = string # Custom whole name of resource<br> url = string # Path URL in cloud storage<br> owner = optional(string) # Owner of resource<br> skip_validation = optional(bool, true) # Suppress validation errors if any & force save the external location<br> read_only = optional(bool, false) # Indicates whether the external location is read-only.<br> force_destroy = optional(bool, true)<br> force_update = optional(bool, true)<br> comment = optional(string, "External location provisioned by Terraform")<br> isolation_mode = optional(string, null)<br> permissions = optional(set(object({<br> principal = string<br> privileges = list(string)<br> })), [])<br> }))</pre> | `[]` | no |
| <a name="input_storage_credential"></a> [storage\_credential](#input\_storage\_credential) | Object with storage credentials configuration attributes | <pre>object({<br> azure_access_connector_id = optional(string, null) # Azure Databricks Access Connector Id<br> cloud = optional(string, "azure")<br> name = string # Custom whole name of resource<br> owner = optional(string) # Owner of resource<br> force_destroy = optional(bool, true)<br> comment = optional(string, "Managed identity credential provisioned by Terraform")<br> permissions = optional(set(object({<br> principal = string<br> privileges = list(string)<br> })), [])<br> })</pre> | n/a | yes |
| <a name="input_external_locations"></a> [external\_locations](#input\_external\_locations) | List of object with external location configuration attributes | <pre>list(object({<br> index = string # Index of instance, for example short name, used later to access exact external location in output map<br> name = string # Custom whole name of resource<br> url = string # Path URL in cloud storage<br> owner = optional(string) # Owner of resource<br> skip_validation = optional(bool, true) # Suppress validation errors if any & force save the external location<br> read_only = optional(bool, false) # Indicates whether the external location is read-only.<br> force_destroy = optional(bool, true)<br> force_update = optional(bool, true)<br> comment = optional(string, "External location provisioned by Terraform")<br> isolation_mode = optional(string, null)<br> permissions = optional(set(object({<br> principal = string<br> privileges = list(string)<br> })), [])<br> isolation_mode = optional(string, "ISOLATION_MODE_OPEN")<br> }))</pre> | `[]` | no |
| <a name="input_storage_credential"></a> [storage\_credential](#input\_storage\_credential) | Object with storage credentials configuration attributes | <pre>object({<br> azure_access_connector_id = optional(string, null) # Azure Databricks Access Connector Id<br> cloud = optional(string, "azure")<br> name = string # Custom whole name of resource<br> owner = optional(string) # Owner of resource<br> force_destroy = optional(bool, true)<br> comment = optional(string, "Managed identity credential provisioned by Terraform")<br> permissions = optional(set(object({<br> principal = string<br> privileges = list(string)<br> })), [])<br> isolation_mode = optional(string, "ISOLATION_MODE_OPEN")<br> })</pre> | n/a | yes |

## Outputs

Expand Down
5 changes: 3 additions & 2 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,9 @@ resource "databricks_storage_credential" "azure" {
access_connector_id = var.storage_credential.azure_access_connector_id
}

force_destroy = var.storage_credential.force_destroy
comment = var.storage_credential.comment
force_destroy = var.storage_credential.force_destroy
comment = var.storage_credential.comment
isolation_mode = var.storage_credential.isolation_mode
}

resource "databricks_grants" "credential" {
Expand Down
2 changes: 2 additions & 0 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ variable "storage_credential" {
principal = string
privileges = list(string)
})), [])
isolation_mode = optional(string, "ISOLATION_MODE_OPEN")
})
description = "Object with storage credentials configuration attributes"
}
Expand All @@ -30,6 +31,7 @@ variable "external_locations" {
principal = string
privileges = list(string)
})), [])
isolation_mode = optional(string, "ISOLATION_MODE_OPEN")
}))
description = "List of object with external location configuration attributes"
default = []
Expand Down
3 changes: 2 additions & 1 deletion versions.tf
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ terraform {
}
databricks = {
source = "databricks/databricks"
version = ">=1.48.2"
version = ">=1.48.3"

}
}
}