在 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"
}
这个对象,那么可以被称为:
ssl_policy = google_compute_ssl_policy.custom_ssl_policy.name
和
ssl_policy = google_compute_ssl_policy.custom_ssl_policy.self_link
我知道它object.name
返回 Terraform 对象名称,并object.self_link
返回 GCP 的资源的 URI。
我已经尝试了几个对象,并且它适用于两个属性,所以我想知道这是否微不足道,或者在某些情况下我应该使用其中之一。
以下是官方文档中的定义:
几乎每个 GCP 资源都会有一个名称字段。它们用作识别资源的一种简短方式,并且资源在 Cloud Console 中的显示名称将是名称字段中定义的名称。
但是,在 Terraform 配置中链接资源时,您主要希望使用不同的字段,即资源的 self_link。和 name 一样,几乎每个资源都有一个 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。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句