【问题标题】:Is there a way to get terraform provider's attribute and store it as a local variable?有没有办法获取 terraform 提供者的属性并将其存储为局部变量?
【发布时间】:2021-05-25 15:13:34
【问题描述】:

我在最顶层的模块中定义了一个提供者,有没有办法在子模块中访问它的属性?

一个例子:

最顶层的模块:

provider "google" {
    project = "foo"
}
module "child" {
    source = "./child"
}

子模块:

locals {
    foo = google.project // this won't work (probably because it clashes with alias access syntax)
}

【问题讨论】:

    标签: terraform terraform-provider-gcp


    【解决方案1】:

    很遗憾,您不能像这样引用提供者。对此的要求已经很少,例如herehere

    相反,在您的情况下,您可以使用数据源:

    data "google_project" "project" {}
    
    locals {
        foo = data.google_project.project.project_id
    }
    

    或将项目 id 设为变量:

    variable "project_id" {
       default = "foo"
    }
    
    provider "google" {
        project =  var.project_id
    }
    
    locals {
        foo = var.project_id
    }
    

    【讨论】:

      猜你喜欢
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      • 2019-07-05
      • 1970-01-01
      • 2022-01-23
      • 2015-01-31
      相关资源
      最近更新 更多