terraform-provider- azure null_resouce для запуска local-exe c на нескольких виртуальных машинах - PullRequest
0 голосов
/ 21 января 2020

Эта конфигурация работала для версии 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.

Спасибо Асгар

...