kub*_*zyk 5 google-cloud-platform terraform terraform-provider-gcp
Google Compute Engine (GCE/GCP) 的标准 terraform 样板是:
provider "google" {}
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到我的默认project值region?我需要类似于aws_regionAWS 的东西(就像这个问题)。
在某些情况下,这些是在环境变量中外部指定的:
provider "google" {}
Run Code Online (Sandbox Code Playgroud)
它们很少在 hcl 代码中显式可见:
provider "google" {
project = "myproject"
region = "europe-west2"
}
Run Code Online (Sandbox Code Playgroud)
当两者都不是的情况下如何进行?
kub*_*zyk 10
使用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
}
Run Code Online (Sandbox Code Playgroud)
这甚至可以与多个提供者一起使用:
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]
}
Run Code Online (Sandbox Code Playgroud)
输出:
$ terraform init
$ terraform apply --auto-approve
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
Outputs:
regions = [
"europe-west2",
"us-east1",
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3618 次 |
| 最近记录: |