Для проекта terraform у меня есть следующая структура папок:
- variables.tf
- cloudsql
- variables.tf
- main.tf
В файле высокого уровня variables.tf я определил:
variable "availability_type" {
default = {
prod = "REGIONAL"
dev = "ZONAL"
}
где prod и dev относятся к рабочим областям production и dev.
В переменном уровне cloudql я определил:
variable "availability_type" {
type = "map"
}
Наконец, в main.tf (под cloudsql) я использую переменную
availability_type = "${var.availability_type[terraform.workspace]}"
Однако это приводит к
module.cloudsql.google_sql_database_instance.master: key "default" does not exist in map var.availability_type in:
${var.availability_type[terraform.workspace]}
Почему cloudql не наследует переменные?