【发布时间】:2020-09-08 07:53:59
【问题描述】:
resource "azurerm_windows_virtual_machine" "virtual_machine" {
count = var.vm_count
name = "${local.vm_name}${count.index +1}"
resource "azurerm_virtual_machine_data_disk_attachment" "datadisk01" {
count = var.disk_count
**virtual_machine_id = azurerm_windows_virtual_machine.virtual_machine[count.index].id
managed_disk_id = element("${module.DISK.datadisk_id}","${count.index}")
}
问题 - 我有 2 个不同的计数变量 vm_count 和 disk_count。 我想要一个通用的解决方案,例如。如果 vm count 为 2,并且每个 VM 应该有 3 个 datadisk,即 disk_count 为 3。
我可以根据计数创建多个虚拟机和磁盘。但是在 vm 和磁盘连接时面临问题,因为我无法在同一资源中使用 2 个计数。 这种情况如何处理?
生产线上面临的问题**
总之,我想创建 vm_count (N) 个 VM,其中创建了 disk_count (M) 个磁盘并将其附加到 每个 VM。
如何创建 N 个 VM,每个 VM 创建并附加 M 个磁盘?
【问题讨论】:
-
您希望像双
for-loop这样的东西?首先循环vm_count,然后是disk_count并创建 6 个azurerm_virtual_machine_data_disk_attachment? -
是的,我正在寻找类似的解决方案。但是,这里的问题是我在 VM 资源和磁盘资源中使用了计数,如果我使用 for 循环那么如何获取 virtual_machine_id ?