Я использую Terraform с AWS в качестве поставщика.
Я хочу использовать троичный оператор в локальной переменной моей зоны доступности.
Логика проста:
Если переменная существует - возьми ее.
Если нет, используйте зоны доступности data
.
Следующий код:
data "aws_availability_zones" "available" {}
locals {
azs = "${length(var.azs) > 0 ? var.azs : data.aws_availability_zones.available.names}"
}
variable "azs" {
description = "A list of Availability zones in the region"
default = []
type = "list"
}
Генерирует следующую ошибку:
Условный оператор нельзя использовать со значениями списка.
Хотя это тихая простая операция, получается, как знакомая проблема .
Я следовал обходным путям в упомянутой теме, но они выглядели довольно сложно (использование функций compact
split
и join
вместе).
Есть предложения по более простому решению?
Спасибо.