如何使用 for_each 使用 terraform 创建多个不同名称、不同 CPU 和内存要求的 vsphere VM
How to create multiple vsphere VMs of different name, different CPUs and memory requirement using terraform using for_each
我有一个场景-
我必须为具有不同 cpus 和内存要求的不同用户提供多个 vsphere 虚拟机我正在尝试下面的代码但它失败了。
我的 terraform tfvars 看起来像 -
example_users = name1 {
hardware = {cpus = 8
memory = 10
}
},
name2= {
hardware = { cpus =9
memory = 8
}
},
and so-on
main.tf=
for_each = var.example_users
cpus = each.value.hardware.cpus
memory = each.value.harware.memory
有人可以帮忙吗
Terraform 正在寻找 key:value 对的地图,因此您可以稍微更新一下格式并可能具有功能配置。我也会删除嵌套的硬件映射,因为 Terraform 需要额外的逻辑来理解内部信息。
tfvars:
example_users = {
name1 = {
cpus = 8
memory = 10
}
name2 = {
cpus = 9
memory = 8
}
}
main.tf:
for_each = var.example_users
cpus = each.value["cpus"]
memory = each.value["memory"]
我有一个场景-
我必须为具有不同 cpus 和内存要求的不同用户提供多个 vsphere 虚拟机我正在尝试下面的代码但它失败了。
我的 terraform tfvars 看起来像 -
example_users = name1 {
hardware = {cpus = 8
memory = 10
}
},
name2= {
hardware = { cpus =9
memory = 8
}
},
and so-on
main.tf=
for_each = var.example_users
cpus = each.value.hardware.cpus
memory = each.value.harware.memory
有人可以帮忙吗
Terraform 正在寻找 key:value 对的地图,因此您可以稍微更新一下格式并可能具有功能配置。我也会删除嵌套的硬件映射,因为 Terraform 需要额外的逻辑来理解内部信息。
tfvars:
example_users = {
name1 = {
cpus = 8
memory = 10
}
name2 = {
cpus = 9
memory = 8
}
}
main.tf:
for_each = var.example_users
cpus = each.value["cpus"]
memory = each.value["memory"]