Skip to content

Commit 7eaaa06

Browse files
Leonid_Frolov1Leonid_Frolov1
Leonid_Frolov1
authored and
Leonid_Frolov1
committed
feat: cluster policies override
1 parent ab8ac0b commit 7eaaa06

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

cluster.tf

+11
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,14 @@ resource "databricks_cluster_policy" "this" {
115115
name = each.key
116116
definition = jsonencode(each.value)
117117
}
118+
119+
resource "databricks_cluster_policy" "overrides" {
120+
for_each = {
121+
for param in var.default_cluster_policies_override : (param.name) => param
122+
if param.definition != null
123+
}
124+
125+
policy_family_id = each.value.family_id
126+
policy_family_definition_overrides = jsonencode(each.value.definition)
127+
name = each.key
128+
}

variables.tf

+19
Original file line numberDiff line numberDiff line change
@@ -245,3 +245,22 @@ variable "system_schemas_enabled" {
245245
description = "System Schemas only works with assigned Unity Catalog Metastore. Boolean flag to enabled this feature"
246246
default = false
247247
}
248+
249+
variable "default_cluster_policies_override" {
250+
type = list(object({
251+
name = string
252+
family_id = string
253+
definition = any
254+
}))
255+
description = <<-EOT
256+
Provides an ability to override default cluster policy
257+
name - name of cluster policy to override
258+
family_id - family id of corresponding policy
259+
definition - JSON document expressed in Databricks Policy Definition Language. No need to call 'jsonencode()' function on it when providing a value;
260+
EOT
261+
default = [{
262+
name = null
263+
family_id = null
264+
definition = null
265+
}]
266+
}

0 commit comments

Comments
 (0)