【问题标题】:terraform how to describe variable type with changing keys in objectterraform如何通过更改对象中的键来描述变量类型
【发布时间】:2020-08-03 12:31:37
【问题描述】:

我有一个不断变化的对象列表作为变量,想知道如何正确描述它的类型

variable "lifecycle_rules" {
  type = set(object({
#    set(object({
#      action = map(string)
#      condition = map(string)
#    }))
  }))
  default = [
    {
    first = [
      {
        condition = {
          age = "1"
        }
        action = {
          type = "Delete"
        }
      },
      {
        condition = {
          age = "2"
        }
        action = {
          type = "Delete"
        }
      }
    ]},
    {
     second = [
      {
        condition = {
          age = "3"
        }
        action = {
          type = "Delete"
        }
      },
      {
        condition = {
          age = "4"
        }
        action = {
          type = "Delete"
        }
      }
    ]
  }
  ]
}

这里应该像这样string = set(object({... 第一个和第二个总是在变化,所以key 值应该是 字符串,但不能真正设置它 - 任何其他想法,如何编写 输入下面的默认值?

【问题讨论】:

    标签: terraform


    【解决方案1】:

    你快到了。我认为正确的是:

      type = set(
          map(
            set(
              object({condition = map(string), 
                      action    = map(string)})
               )
           )
         )
    

    map 中不要指定属性,因为它们可能不同。在最内层你有object,因为conditionaction 是不变的。

    【讨论】:

      猜你喜欢
      • 2021-06-26
      • 2016-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      • 2019-02-12
      • 1970-01-01
      相关资源
      最近更新 更多