GCP 中的 Terraform `name` 与 `self_link`

确定

在 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

您可以通过Terraform在GCP中运行Docker容器吗?

Terraform中的GCP服务帐户密钥管理和使用

从Terraform的保管箱中读取GCP凭据?

如何使用Terraform在GCP中添加DNS记录?

如何在 terraform 中引用 GCP 資源?

如何使用 terraform 在 gcp vm 中运行 bash 脚本

如何使用 Terraform 脚本在 GCP 中的 LINUX(Ubuntu/Debian)GCE 实例中安装 stackdriver?

如何使用 terraform 在 GCP 中启用阻止项目范围的 SSH 密钥

如何使用 terraform 为 gcp 实例中的附加附加磁盘设置自动删除选项?

Terraform/GCP:ssh 密钥未添加到元数据中

如何在Terraform中顺序创建GCP SQL数据库?

Terraform:从列表中检索每个子网网关地址。GCP

如何在 GCP Cloud Shell 中升级到最新的 terraform 版本

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

如何使用 Terraform 模块增加 GCP 的配额?

GCP Bigquery通过terraform创建自动视图

GCP terraform 提供程序 - 可能的文档错误?

使用Terraform管理GCP Composer Kubernetes集群

Terraform:如何修改而不是创建 GCP 子网?

Terraform GCP数据目录策略标记

无法使用Terraform停止GCP VM

如何连接Terraform以创建从GCP中的私有bitbucket存储库提取的云构建触发器

Terraform 配置未在 GCP 上公开 http 端口

在具有Terraform权限错误的GCP上构建GKE集群

terraform 计划时检索 IAM 策略 GCP 时出错?

寻找使用 Terraform 创建 GCP 子网的迭代逻辑

如何使用 terraform 删除和替换默认的 GCP vpc?

缺少对“ billingAccounts / XXXXXXXXXXXXXXXXXXXXXXXX”的权限:billing.resourceAssociations.create Terraform(GCP)

如何在 Bigquery GCP 中使用 terraform 创建多个表?