Terraform: установите необязательный атрибут ресурса, если условие выполнено, иначе не объявляйте его - PullRequest
1 голос
/ 09 апреля 2020

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

Все найденные мной предложения основаны на объявлении атрибута и установке его значения на null, если условие не выполняется, вместо того, чтобы не объявлять атрибут вообще.

Есть ли способ для меня сделать что-то вроде следующего? В псевдокоде:

resource "some_resource" "this" {
  name = var.name

  if var.name == "some_name":
    some_optional_attribute = "some_value"
  else:
    pass  # do nothing, don't even declare the optional attribute
}

Дайте мне знать, заранее спасибо!

1 Ответ

1 голос
/ 09 апреля 2020

Я не верю, что есть лучший метод, чем просто сделать следующее:

resource "some_resource" "this" {
  some_optional_attribute = var.name == "some_name" ? var.name : null
}

Когда вы объявляете атрибут как ноль, это в основном означает, что он не используется. Вышеупомянутое, на мой взгляд, эквивалентно вашему утверждению if.

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