Terraform - 从资源的元数据属性创建输出

时间:2021-04-19 19:38:04

标签: terraform

我有一个资源,它当前正在使用 for_each 语句来循环变量中的值。

我正在尝试获取元数据属性并创建一个输出值,但我似乎无法正确索引元数据中的对象。我唯一要做的就是在下面工作,但有多余的数据不需要。

输出.tf

 output "namespace" {
 value = [for namespace in helm_release.jupyterhub[*]: namespace]
 }

这会输出两个对象的列表。

namespace = [
  {
    "class1" = {
      "namespace" = "name1"
    }
    "class2" = {
      "namespace" = "name2"
    }
  },
]

我试图解决这个问题,但似乎无法正确获取命名空间值。这是一个嵌套的地图,我的 for 循环需要更多的索引逻辑吗?

1 个答案:

答案 0 :(得分:1)

在使用嵌套 for 循环进行更多试验和错误后弄清楚了这一点。

 value = [for namespace in helm_release.jupyterhub[*]:
           for i in namespace: i.namespace]

这应该输出 ["name1", "name2"]