我们如何从Terraform gcp资源IAM绑定中的变量中添加项目编号

问题描述

下面是我的地形资源。我们如何从terraform gcp资源iam绑定中的变量中添加项目编号,因为如果我要为其他帐户运行相同的terraform,则必须手动更改。

resource "google_project_iam_binding" "project" {
  project = var.projectid
  role    = "roles/container.admin"

  members = [
    "serviceAccount:[email protected]",]
}

解决方法

您可以使用google_client_config数据源来访问提供程序的配置。

首先,将以下数据源块添加到main.tf中:

data "google_client_config" "current" {}

然后,您将可以按以下方式访问project_id:

output "project_id" {
  value = data.google_client_config.current.project
}

有关更多信息,请参阅: https://www.terraform.io/docs/providers/google/d/client_config.html

,

可以在google_project数据源(https://www.terraform.io/docs/providers/google/d/project.html)中找到项目编号。

因此,当添加此内容时:

data "google_project" "project" {}

应该可以使用以下方式访问它:

data.google_project.project.number