Skip to content

Commit 3b84508

Browse files
committed
fix: entitlements validation and creation fix
1 parent 9bf19b0 commit 3b84508

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

iam.tf

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,13 @@ resource "databricks_group_member" "this" {
7171

7272
resource "databricks_entitlements" "this" {
7373
for_each = {
74-
for group, params in var.iam : group => params.entitlements
75-
if params.entitlements != null
74+
for group, params in var.iam : group => params
7675
}
7776

7877
group_id = databricks_group.this[each.key].id
79-
allow_cluster_create = contains(each.value, "allow_cluster_create")
80-
allow_instance_pool_create = contains(each.value, "allow_instance_pool_create")
81-
databricks_sql_access = contains(each.value, "databricks_sql_access")
78+
allow_cluster_create = contains(coalesce(each.value.entitlements, ["none"]), "allow_cluster_create")
79+
allow_instance_pool_create = contains(coalesce(each.value.entitlements, ["none"]), "allow_instance_pool_create")
80+
databricks_sql_access = contains(coalesce(each.value.entitlements, ["none"]), "databricks_sql_access")
8281
workspace_access = true
8382

8483
depends_on = [databricks_group_member.this]

variables.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ variable "iam" {
5454
default = {}
5555

5656
validation {
57-
condition = contains(values(var.iam), "entitlements") ? alltrue([
58-
for item in toset(flatten([for group, params in var.iam : params.entitlements])) : contains(["allow_cluster_create", "allow_instance_pool_create", "databricks_sql_access"], item)
57+
condition = length([for item in values(var.iam)[*] : item.entitlements if item.entitlements != null]) != 0 ? alltrue([
58+
for entry in flatten(values(var.iam)[*].entitlements) : contains(["allow_cluster_create", "allow_instance_pool_create", "databricks_sql_access"], entry) if entry != null
5959
]) : true
6060
error_message = "Entitlements validation. The only suitable values are: databricks_sql_access, allow_instance_pool_create, allow_cluster_create"
6161
}

0 commit comments

Comments
 (0)