Я только что изучил некоторые основы 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
}
# }
}
Итак, мой вопрос: возможно ли динамически генерировать провайдеров в модуле, если да, как я могу реализовать итерацию по всем элементам файлов для его создания? Я не нашел ссылок в документации по входным переменным об этом.