我有一个来自Terraform变量的对象列表
variable "persons" {
type = list(object({
name = string,
phonenumber = string,
tshirtSize = string
}))
description = "List of person"
}
现在我想要一个人的名字列表,以便可以使用它来定义AWS资源
如何将该对象列表转换为名称列表
["bob", "amy", "jane"]
我使用的是Terraform 0.12.24,但可以根据需要进行升级
答案 0 :(得分:2)
更新后的答案:
使用splat表达式
var.persons[*].name
https://www.terraform.io/docs/configuration/expressions.html#splat-expressions
原始答案:
我能够在本地文件中做到这一点
locals {
names = [
for person in var.persons:
person.name
]
}
其他阅读 查看:https://www.hashicorp.com/blog/hashicorp-terraform-0-12-preview-for-and-for-each/