我确实有这个 vms 变量(无法更改):
variable vms {
description = "Individual VM settings, like ip address and master/worker"
type = map(any)
default = null
}
我想用来自其他(列表)变量的值填充它,其中包含 ip 地址和计算出的 master = true/false。
我想创建以下地图:
vms = {
m1 = {
ip_address = "172.16.201.1"
master = true
w1 = {
ip_address = "172.16.201.2"
master = false
如何在 Terraform 中创建它?如果可以的话,接下来要创建,如何将 m3 添加到刚刚创建的地图中?
谢谢!
而不是将变量声明为泛型
map
:考虑将变量声明为
map
对象,如下所示:这将确保您不会声明具有无效属性(例如
foo
)或值(例如master = 123456
)的变量。然后您可以按如下方式设置变量:
例子
完整的工作示例:
跑步
terraform plan
: