将地图的所有值都设为默认值?

问题描述 投票:0回答:1

可以给我的地图一些默认值吗?

variable "project_var" {
  type        = map
  #default     = {}
  default      = { default: 'false'}
}

这样当我将这个变量传递给带有另外两个值的模块时

project_var = { "project_a" : true, "project_b" : false }

但是在模块内部,资源将迭代 10 个其他“项目”,我可以给其他我在地图中未指定的项目提供一个错误值吗?对于字符串来说,这很简单,那么地图呢?

terraform
1个回答
0
投票

没有办法为地图中的每个元素定义默认值,但如果您指定了默认地图,您可以将其与用户提供的地图合并以获得类似的最终结果。

project_var = { "project_a" : true, "project_b" : false }
default_project_map = {"project_a" : false, "project_b" : false, "project_c" : false}
merge(default_project_map , project_var )

结果:

{"project_a" : true, "project_b" : false, "project_c" : false}

参考资料:

https://www.terraform.io/docs/configuration/functions/merge.html

© www.soinside.com 2019 - 2024. All rights reserved.