如果满足条件,则将额外元素添加到 terraform 中的列表
Posted
技术标签:
【中文标题】如果满足条件,则将额外元素添加到 terraform 中的列表【英文标题】:adding extra element to a list in terraform if condition is met 【发布时间】:2021-08-26 09:03:31 【问题描述】:我在 terraform 中有一个列表,看起来像:
array = ["a","b","c"]
在这个 terraform 文件中有两个变量,分别称为年龄和性别,如果年龄等于 12 并且性别等于男性(即如果 var.age == 12 && var.gender == 'male' 那么数组应该是 ["a","b","c","d"],否则数组应该是 ["a","b" ,“C”])。以下是正确的路径,还是我需要使用其他方法?
array = ["a","b","c", var.age == 12 && var.gender == 'male' ? "d" : null]
【问题讨论】:
【参考方案1】:有几种方法可以做到这一点。一种方法是(示例):
variable "array"
default = ["a","b","c"]
variable "age"
default = 12
variable "gender"
default = "male"
locals
array = var.age == 12 && var.gender == "male" ? concat(var.array, ["d"]) : var.array
output "test"
value = local.array
【讨论】:
很好奇...还有什么其他方法? :)【参考方案2】:还有另一种方法可以使用flatten:
variable = flatten(["a", "b", "c", var.age == 12 ? ["d"] : []])
【讨论】:
以上是关于如果满足条件,则将额外元素添加到 terraform 中的列表的主要内容,如果未能解决你的问题,请参考以下文章
jQuery - 如果所有子元素都具有相同的类,则将附加类添加到页面上的另一个元素
2021-10-01:矩阵置零。给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。进阶:一个直观的解决方案是使用 O(mn) 的额外空间(