sur*_*ren 3 google-cloud-platform terraform terraform-provider-gcp
在 GCP 中,当使用 Terraform 时,我发现我可以使用name
属性以及self_link
. 所以,我想知道是否在某些情况下我必须使用其中任何一个。
例如:
resource "google_compute_ssl_policy" "custom_ssl_policy" {
name = "my-ssl-policy"
profile = "MODERN"
min_tls_version = "TLS_1_1"
}
Run Code Online (Sandbox Code Playgroud)
这个对象,那么可以被称为:
ssl_policy = google_compute_ssl_policy.custom_ssl_policy.name
Run Code Online (Sandbox Code Playgroud)
和
ssl_policy = google_compute_ssl_policy.custom_ssl_policy.self_link
Run Code Online (Sandbox Code Playgroud)
我知道object.name
返回 Terraform 对象名称,并object.self_link
返回 GCP 资源的 URI。
我尝试过使用多个对象,并且它适用于这两个属性,所以我想知道这是否微不足道,或者在某些情况下我应该使用其中之一。
这是官方文档中的定义:
几乎每个 GCP 资源都会有一个名称字段。它们用作识别资源的一种简短方式,云控制台中资源的显示名称将是名称字段中定义的名称。
不过,在 Terraform 配置中链接资源时,您主要希望使用不同的字段,即资源的 self_link 。与名称一样,几乎每个资源都有一个 self_link。他们看着像是:
https://www.googleapis.com/compute/v1/projects/foo/zones/us-central1-c/instances/terraform-instance
资源的 self_link 是对该资源的唯一引用。在 Terraform 中链接两个资源时,您可以使用 Terraform 插值来避免键入自链接!
参考:https ://registry.terraform.io/providers/hashicorp/google/latest/docs/guides/getting_started
举个例子,我可以部署两个具有相同名称/相同项目但位于不同区域的云功能。在这种情况下,如果您必须在 Terraform 代码中引用这两个资源,那么最好使用 self_link,因为它是唯一的 URI。
归档时间: |
|
查看次数: |
6475 次 |
最近记录: |