Terraform 输出null_数据_源输出为平面地图,而不是地形中的地图数组
如何获得所需的输出,我缺少什么您需要Terraform 输出null_数据_源输出为平面地图,而不是地形中的地图数组,terraform,Terraform,如何获得所需的输出,我缺少什么您需要flatte()函数 使用函数concat() 这是输出 variable "vpc1" { type = "list" default = [ "name1:ip1:az1:dedicated", "name2:ip2:az2:dedicated", ] } variable vpc2 { type = "list" default = [ "foo:10.1:east:yes", "bar:10.2
flatte()函数
使用函数concat()
这是输出
variable "vpc1" {
type = "list"
default = [
"name1:ip1:az1:dedicated",
"name2:ip2:az2:dedicated",
]
}
variable vpc2 {
type = "list"
default = [
"foo:10.1:east:yes",
"bar:10.2:west:no",
]
}
output "mappings" {
value = "${flatten(concat(var.vpc1, var.vpc2))}"
}
参考:
谢谢。。尝试对第一种情况的输出“mappings”{value=“${flatte(concat(data.null\u data\u source.values.*.outputs))}使用展平选项。无效。以与嵌套列表相同的方式应用完整的打印!资源:0已添加,0已更改,0已销毁。输出:mappings=[{name1=foo},{name2=bar}当我从var.vpc1中筛选出第一个字段(name1,name2)和(foo,bar)中相应的值时从var.vpc2它把它放在一个带有花括号的数组中,这不是我想要的,展平只在它们位于方括号内时有效。这里的示例与您正在测试的文件不同。我猜不出您的原始地形文件。如果您放的是真实的,我们应该可以修复
output "mappings" {
value = "${flatten(data.null_data_source.values.*.outputs)}"
}
variable "vpc1" {
type = "list"
default = [
"name1:ip1:az1:dedicated",
"name2:ip2:az2:dedicated",
]
}
variable vpc2 {
type = "list"
default = [
"foo:10.1:east:yes",
"bar:10.2:west:no",
]
}
output "mappings" {
value = "${flatten(concat(var.vpc1, var.vpc2))}"
}
$ terraform apply
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
Outputs:
mappings = [
name1:ip1:az1:dedicated,
name2:ip2:az2:dedicated,
foo:10.1:east:yes,
bar:10.2:west:no
]