【问题标题】:adding extra element to a list in terraform if condition is met如果满足条件,则将额外元素添加到 terraform 中的列表
【发布时间】: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]

【问题讨论】:

    标签: terraform terraform0.12+ terraform-template-file


    【解决方案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"] : []])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-22
      • 2021-08-03
      • 1970-01-01
      • 2016-11-06
      • 2021-10-15
      • 2013-11-15
      相关资源
      最近更新 更多