5

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
}

让我知道,提前谢谢!

4

1 回答 1

3

我认为没有比简单地执行以下操作更好的方法:

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

当您将属性声明为 null 时,基本上意味着它没有被使用。我认为以上内容等同于您的 if 语句。

于 2020-04-09T19:41:16.767 回答