Эта конфигурация работала для версии 0.12.3 ( Terraform local-exe c Provisioner для работы на нескольких Azure виртуальных машинах ).
Я обновил версию Terraform до 0.12.19 вчера, и изменил все мои сценарии TF для использования for_each. Все работают, за исключением следующего:
resource "null_resource" "ubuntu_data_disk" {
for_each = var.u_name
triggers = {
network_interface_ids = join(",", azurerm_network_interface.unic[each.key].id)
}
provisioner "local-exec" {
command = "sleep 5 ; ansible-playbook -i ${join(" ", azurerm_network_interface.unic[each.key])}, datadisk-playbook.yml"
}
}
Вот ошибка, которую применяет TF:
Ошибка: неверный аргумент функции: недопустимое значение для параметра «списки»: список требуемых строк.
Я пытался использовать несколько других комбинаций, используя элементы, и т. д. c., но ни одна из них не работала.
Буду признателен за любую помощь.
С наилучшими пожеланиями, Асгар
Похоже, что работает, но не совсем так, как я хочу:
network_interface_ids = values (azurerm_network_interface.uni c). * .id
Я пытаюсь создать 4 виртуальные машины, каждая с одним NI C. С учетом вышесказанного он пытается добавить 4 сетевых адаптера к каждой виртуальной машине. Я хотел бы, чтобы одна виртуальная машина получила один NI C.
Спасибо Асгар