Terraform условные источники данных - PullRequest
0 голосов
/ 10 мая 2019

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

Пример выглядит следующим образом:

Если 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 для достижения этой цели?

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