我只想在某些环境中定义资源标签(例如,对于DynamoDB表),而不是全部。
我熟悉计数技巧:将计数设置为0,这样就不会创建资源。但这是资源中的一个字段。
tags {
count = "${var.is_production == "T" ? 1 : 0}"
MyProductionOnlyTag = "${var.prod_tag_value}"
}
答案 0 :(得分:0)
有点黑,但是您可以使用动态块(需要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
}