【问题标题】:Inheritance of variables not working in terraform变量的继承在 terraform 中不起作用
【发布时间】:2019-03-08 14:34:47
【问题描述】:

对于一个 terraform 项目,我有以下文件夹结构:

- variables.tf
- cloudsql
    - variables.tf
    - main.tf 

在我定义的高级 variables.tf 文件中:

variable "availability_type" {
  default = {
    prod = "REGIONAL"
    dev  = "ZONAL"
}

prod 和 dev 指的是生产和开发工作区。

在cloudsql的具体级别variables.tf中我已经定义了:

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

【问题讨论】:

  • 因为您当前的工作区是default 而不是proddev。您可以使用terraform workspace list 命令确认这一点。

标签: terraform


【解决方案1】:

正如 Matt Schuchard 正确指出的那样,工作区是默认的。跑步

terraform workspace select dev

事先解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 2015-03-04
    • 2012-06-04
    相关资源
    最近更新 更多