Как я могу условно определить теги ресурсов aws в terraform? - PullRequest
0 голосов
/ 30 июня 2019

Я хотел бы определить теги ресурсов (например, для таблицы DynamoDB) только в определенных средах, но не во всех.

Я знаком с уловкой подсчета: установка счетчика в 0, чтобы ресурс не создавался. Но это поле внутри ресурса.

tags {
    count = "${var.is_production == "T" ? 1 : 0}"
    MyProductionOnlyTag = "${var.prod_tag_value}"
}

1 Ответ

0 голосов
/ 03 июля 2019

Немного странно, но вы можете использовать динамические блоки (требуется terraform => 0.12):

dynamic "tags" {
  iterator = my_prod_tag_value
  for_each = "${var.my_prod_tag == null ? 0 : 1 }"
  content {
    MyProductionOnlyTag = "${my_prod_tag_value}"
  }
}

Кроме того, при объявлении var.my_prod_tag вы должны явно разрешить ему быть равным нулю:

variable "my_prod_tag" {
    type = "string"
    default = null
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...