Я пытаюсь создать модуль, который должен был бы создать файл с другими значениями на основе условного выражения, которое после его создания будет использоваться в другом модуле.
Пример выглядит следующим образом:
Если myVar = x, используйте набор переменных «a», в противном случае, если myVar = y, используйте набор переменных «b», в противном случае, если myVar = z, используйте набор переменных «c».
Я пытался сделать что-то вроде ниже, но не повезло.
data "ignition_file" "instance" {
path = "/instance.env"
count = "${var.myVar}"
content {
content = "${data.template_file.instance.rendered}"
}
}
Также я попытался использовать:
count = "${var.myVar == "a" ? 1 : 0}"
но тоже не повезло.
Я просматриваю это https://blog.gruntwork.io/terraform-tips-tricks-loops-if-statements-and-gotchas-f739bbae55f9, где пример выглядит следующим образом:
data "template_file" "user_data_shell" {
count = "${var.use_shell_script_user_data}"
template = <<-EOF
#!/bin/bash
run-microservice.sh
EOF
}
data "template_file" "user_data_cloud" {
count = "${1 - var.use_shell_script_user_data}"
template = <<-EOF
#cloud-config
runcmd:
- run-microservice.sh
EOF
}
Однако это приведет к наличию 3 выходов, что затруднит мне передачу его на другой модуль.
Есть ли способ использовать Terraform 0.11 для достижения этой цели?