在下面的代码中(不是最干净的),我需要访问init-script列表中的每个值,并将其传递给动态的“init-script”块。当我尝试使用each.value时,terraform返回var.cluster属性,但不返回列表的值。如何访问列表的值。感谢你对此的帮助。
variable "clusters" {
type = map(object({
cluster-name = string
init-scripts = list(string)
}))
}
resource "databricks_cluster" "cluster" {
for_each = var.clusters
cluster_name = each.key
dynamic "init_scripts" {
for_each = { for script in var.clusters[each.key].init-scripts : script => script if var.clusters[each.key].init-scripts != null }
content {
file {
destination = each.value #returns the value of var.clusters
}
}
}
}发布于 2022-10-27 14:00:14
看起来这是个简单的解决办法。Iterator似乎解决了这个问题。
dynamic "init_scripts" {
for_each = { for script in var.clusters[each.key].init-scripts : script => script if var.clusters[each.key].init-scripts != null }
iterator = script
content {
file {
destination = script.value
}
}
}https://stackoverflow.com/questions/74222943
复制相似问题