如果满足条件,则将额外元素添加到 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) 的额外空间(

If Then, 满足条件时连接

如果 div 没有 img 标签,则将“无图像”img 添加到 div(Javascript 或 Jquery)