0

我有一个我想用我的模块创建的对象(桶)列表

  buckets = [
    {
      name                        = "my_bucket",
      location                    = "EU"
      storage_class               = "STANDARD"
      force_destroy               = false
      versioning                  = true
      uniform_bucket_level_access = false
      public_bucket               = true
      labels = {
        "app" = "my_app"
      }

有些字段是必需的,(如名称和位置)有些不是,如果此处未提供,我在资源中为它们提供了默认值;- 完整的模块和一切都是可操作的,但它没有在变量中定义“类型”就可以工作 - 所以它只需要一切,但我的问题是如何在variable块中定义该对象?

variable "buckets" {
  #type = list(object()) #? 
  type = set(object({
      name                        = string
      location                    = string
      storage_class               = string
      force_destroy               = boolean
      versioning                  = boolean
      uniform_bucket_level_access = boolean
      public_bucket               = boolean
      labels = object({
        string = string # ?
      })
  }))
}

和对象看起来如何具有可选字段

4

1 回答 1