Динамические инициаторы из переменных в модуле - PullRequest
0 голосов
/ 14 апреля 2019

Я только что изучил некоторые основы Terraform и создал простой многократно используемый модуль Terraform с AWS EC2 isntance и некоторыми дополнительными ресурсами (группы безопасности, ellastic ip, пары ключей ssh ​​и т. Д.), Он доступен на https://github.com/g4s8/docker-worker

Теперь я хочу скопировать локальные файлы в экземпляр EC2 при создании (я догадываюсь, используя инициатор файлов ). Можно ли определить переменные файлов следующим образом:

module "worker" {
  # ...
  files = [
    {
      src: "./file1",
      dst: "/home/ec2-user/file1"
    },
    {
      src: "./file2",
      dst: "/home/ec2-user/file2"
    }
  ]
}

и создайте динамических инициаторов на основе этих переменных:

resource "aws_instance" "worker" {
  # pseudocode:
  # for (file : var.files) {
      provisioner "file" {
        source = file.source
        destination = file.destination
      }
  # } 
}

Итак, мой вопрос: возможно ли динамически генерировать провайдеров в модуле, если да, как я могу реализовать итерацию по всем элементам файлов для его создания? Я не нашел ссылок в документации по входным переменным об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...