首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当for + for_each在由for_each - Terraform包装的动态资源中时,如何访问列表中的值

当for + for_each在由for_each - Terraform包装的动态资源中时,如何访问列表中的值
EN

Stack Overflow用户
提问于 2022-10-27 13:31:24
回答 1查看 19关注 0票数 0

在下面的代码中(不是最干净的),我需要访问init-script列表中的每个值,并将其传递给动态的“init-script”块。当我尝试使用each.value时,terraform返回var.cluster属性,但不返回列表的值。如何访问列表的值。感谢你对此的帮助。

代码语言:javascript
复制
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
        
      }
    }
  }
}
EN

回答 1

Stack Overflow用户

发布于 2022-10-27 14:00:14

看起来这是个简单的解决办法。Iterator似乎解决了这个问题。

代码语言:javascript
复制
  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
      }
    }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74222943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档