Немного странно, но вы можете использовать динамические блоки (требуется 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
}