У меня есть следующий код, использующий for_each
для перебора отображаемых значений:
resource "null_resource" "win_vm" {
for_each = var.vms_to_image
provisioner "remote-exec" {
connection {
type = "winrm"
https = true
insecure = true
user = var.vm_username
password = random_password.vm_password.result
host = element(azurerm_windows_virtual_machine.win_vm.*.public_ip_address, each.value)
use_ntlm = true
}
inline = [
"ipconfig"
]
}
}
Это прекрасно работает и создает соединение WinRM для каждой машины, к которой мне нужно подключиться.
Как я могу включить этот ресурс как условный? Что-то вроде if var.create_vm_images == "Yes" then for_each = var.vms_to_image
Я использовал для этого счетчик, но хотел, чтобы он работал с for_each
, поскольку он сохраняет значение переменной map.