【发布时间】:2021-12-05 16:50:16
【问题描述】:
我正在学习 terraform,在下面的示例中,第一部分放置了一个 VM 并返回该 VM 的 id。第二部分向 vm 添加了一个额外的磁盘。我必须在 virtual_machine_id 参数中输入一个 id,但我不知道如何(cloudstack_instance.worker[$name].id 不起作用)。 有人能给点提示吗?
resource "cloudstack_instance" "worker" {
for_each = {
for name, machine in var.machines :
name => machine
if machine.node_type == "worker"
}
name = "${var.prefix}-${each.key}"
service_offering = "K8S-RBD"
network_id = var.network_id
template = var.template_id
zone = var.zone
project = var.project_id
expunge = true
group = var.prefix
keypair = var.keypair
tags = {
name = "Terraform-VM"
}
}
resource "cloudstack_disk" "worker" {
for_each = {
for name, machine in var.machines :
name => machine
if machine.node_type == "worker"
}
name = "${var.prefix}-${each.key}"
attach = "true"
disk_offering = "Custom-RBD"
size = 50
virtual_machine_id = cloudstack_instance.worker[$name].id
zone = var.zone
project = var.project_id
depends_on = [cloudstack_instance.worker]
}
【问题讨论】:
-
for_each元参数文档将在此处提供帮助:terraform.io/docs/language/meta-arguments/for_each.html
标签: attributes terraform terraform0.12+ terraform-template-file terraform-provider