不能在Terraform中工作的变量的继承

时间:2019-03-08 14:34:48

标签: terraform

对于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为什么不继承变量?

1 个答案:

答案 0 :(得分:0)

Matt Schuchard正确指出,工作空间是默认的。正在运行

terraform workspace select dev

事先解决了这个问题。