gpt4 book ai didi

google-cloud-platform - 如何使用 Terraform 获取默认的 GCP 项目和区域?

转载 作者:行者123 更新时间:2023-12-05 01:10:22 26 4
gpt4 key购买 nike

对于标准的 tf 样板:

provider "google" {}

如何获取提供商的默认projectregion?类似于 AWS 中的 aws_region 的东西(如 this question ),但用于 Google Compute Engine (GCE/GCP)。

在某些情况下,这些是在外部环境变量中指定的:

export GOOGLE_PROJECT=myproject
export GOOGLE_REGION=europe-west2
terraform apply

在 hcl 代码中它们很少被覆盖:

provider "google" {
project = "myproject"
region = "europe-west2"
}

此操作失败,未在根模块中声明托管资源“provider”“google”。:

output "region" {
value = provider.google.region
}

最佳答案

基本

使用 google_client_config数据来源:

data "google_client_config" "this" {}

output "region" {
value = data.google_client_config.this.region
}

output "project" {
value = data.google_client_config.this.project
}

多个提供者

这甚至可以与多个提供者一起使用:

provider "google" {
region = "europe-west2"
}

provider "google" {
alias = "another" // alias marks this as an alternate provider
region = "us-east1"
}

data "google_client_config" "this" {
provider = google
}

data "google_client_config" "that" {
provider = google.another
}

output "regions" {
value = [data.google_client_config.this.region, data.google_client_config.that.region]
}

输出:

$ terraform init
$ terraform apply --auto-approve

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

Outputs:

regions = [
"europe-west2",
"us-east1",
]

关于google-cloud-platform - 如何使用 Terraform 获取默认的 GCP 项目和区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64134253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com