我有一个我想用我的模块创建的对象(桶)列表
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 # ?
})
}))
}
和对象看起来如何具有可选字段