我正在学习 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]
}