对于terraform项目,我具有以下文件夹结构:
- variables.tf
- cloudsql
- variables.tf
- main.tf
在高级variables.tf文件中,我定义了:
variable "availability_type" {
default = {
prod = "REGIONAL"
dev = "ZONAL"
}
prod和dev指生产和开发工作区。
在cloudsql特定级别的变量中。我定义了:
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]}
cloudsql为什么不继承变量?
答案 0 :(得分:0)
Matt Schuchard正确指出,工作空间是默认的。正在运行
terraform workspace select dev
事先解决了这个问题。