我有些代码是这个通用形式:
variable "foo" {
type = "list"
default = [ 1,2,3 ]
}
resource "bar_type" "bar" {
bar_field = "${var.foo}"
}
我想在不修改foo
的情况下向bar_field
追加一个附加值。 我该怎么做? 我在文档中没有看到任何类型的连接或追加函数。
这是 0.11.x 版本的 Terraform.
我有些代码是这个通用形式:
variable "foo" {
type = "list"
default = [ 1,2,3 ]
}
resource "bar_type" "bar" {
bar_field = "${var.foo}"
}
我想在不修改foo
的情况下向bar_field
追加一个附加值。 我该怎么做? 我在文档中没有看到任何类型的连接或追加函数。
这是 0.11.x 版本的 Terraform.
variable "foo" {
type = "list"
default = [ 1,2,3 ]
}
# assume a value of 4 of type number is the additional value to be appended
resource "bar_type" "bar" {
bar_field = "${concat(var.foo, [4])}"
}
将值附加到bar_field
分配的值,同时确保var.foo
保持不变。
如果列表中不存在某个项,添加新的项:
locals {
oldlist = ["a", "b", "c"]
newitem = "d"
newlist = (contains(local.oldlist, local.newitem) == false ? concat(local.oldlist, [local.newitem]) : local.oldlist)
}
output "newlist" {
value = local.newlist
}
var1 = ["string1","string2"]
var2 = "string3"
var3 = concat(var1, formatlist(var2))
contains(local.oldlist, local.newitem) ? local.oldlist : concat(local.oldlist, [local.newitem])
。 - Darren Bishop