terraform: создать список на основе количества ресурсов - PullRequest
0 голосов
/ 13 ноября 2018

У нас есть несколько примеров (я знаю ... крупный рогатый скот, а не домашние животные, но в данном случае это действительно домашние животные)

resource "aws_instance" "read_00" {
  count = "${var.read_00_count}"

resource "aws_instance" "read_01" {
  count = "${var.read_01_count}"

И у нас есть ELB, к которому мы хотим динамически добавитьэкземпляры, основанные на их переменной count, например:

resource "aws_elb" "read_slaves" {
  instances = ["${aws_instance.read_.*.id}"]

Но это, конечно, не работает.

Возможно ли динамически создавать список идентификаторов экземпляров ТОЛЬКО, если ихколичество не ноль?

Я знаю, что это идет вразрез с зерном, но если это возможно, это было бы здорово.

1 Ответ

0 голосов
/ 13 ноября 2018

С Terraform 0.12 это будет намного проще, но пока что-то вроде этого будет:

[...]
resource "aws_instance" "read_01" {
  [...]
  count = "${var.read_01_count}"
  tags {
    Role = "read_slave"
  }
}

data "aws_instances" "read-slaves" {
  instance_tags {
    Role = "read_slave"
  }
  // optional filters
}

resource "aws_elb" "read_slaves" {
  instances = ["${data.aws_instances.read-slaves.ids}"]

  listener {
    ...
  }
}

Таким образом:

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