可以给我的地图一些默认值吗?
variable "project_var" {
type = map
#default = {}
default = { default: 'false'}
}
这样当我将这个变量传递给带有另外两个值的模块时
project_var = { "project_a" : true, "project_b" : false }
但是在模块内部,资源将迭代 10 个其他“项目”,我可以给其他我在地图中未指定的项目提供一个错误值吗?对于字符串来说,这很简单,那么地图呢?
没有办法为地图中的每个元素定义默认值,但如果您指定了默认地图,您可以将其与用户提供的地图合并以获得类似的最终结果。
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