问题标签 [terraform-provider-gcp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
655 浏览

terraform - 虚拟机目标池或后端服务池的所有外部 ip 的 terraform 输出

我在 gcp/gce 中对虚拟机进行了地形改造和google_compute_target_pool管理google_compute_region_instance_group_manager

现在我想要output每个实例拥有的所有外部 IP(并且他们有一个我检查过的外部 IP!)

我尝试了几件事,但没有一个有效,因为 terraform 总是抱怨某些对象没有这样的属性。

这里有一些尝试:

如何输出目标池中所有虚拟机的所有 IP 列表(或内部 LB 的后端服务?

0 投票
1 回答
99 浏览

terraform - 通过 Terraform 获取 google 存储对象的签名 URL

我正在尝试通过 Terraform .tf 脚本从谷歌存储桶中获取一个对象(例如 abc.png)签名的 URL。但我没有在控制台上得到任何输出。

我已经在我的本地 Linux 机器上安装了 terraform,我提供了服务帐户 JSON 密钥作为凭据,但没有获得签名 URL,请检查下面的脚本:

请让我知道我做错了什么。

0 投票
2 回答
3383 浏览

google-cloud-platform - GCP 上的 Terraform 共享 VPC - 静态内部 IP 地址

我正在尝试编写自动化程序以在 GCP 上的共享 VPC 中部署实例。我有一个主机网络项目和一个服务项目。我可以在指定 VPC 宿主项目 (NET_HUB_PROJ) 的宿主项目(资源“google_compute_address”“internal”)中创建静态内部 IP 地址资源,但在创建实例时无法使用它。我收到以下错误:

我的计算模块:

最终目标是完成以下任务: 在此处输入图像描述

0 投票
2 回答
2639 浏览

google-cloud-platform - Terraform 主题资源是否已存在于跨项目中?如何处理?

如何处理多个项目中存在的资源。在这种情况下,我有 2 个 TF 项目,并且在 google pubsub 中有一个共享主题。按照谷歌提供者文档,我在订阅者项目中创建了这个配置。但它给了我一个资源已经存在的错误。

因此,该资源已经存在于其他项目中,但按照指南,我也创建了我们自己的项目。

错误:

0 投票
1 回答
1850 浏览

terraform - 在 terraform 0.12 中解析列表(对象)数据类型中的内部数组

如何在 terraform 0.12 中解析这种数据类型

例子:

对于每个组,我想将 group_id 和每个权限配对

想创建 organization_iam_resource

对于每个 group_id 中的每个权限,我必须创建一个资源。

有什么办法可以做到这一点

0 投票
2 回答
1642 浏览

google-cloud-platform - 如何连接 Terraform 以创建从 GCP 中的私有 bitbucket 存储库中提取的 Cloud Build 触发器

我正在设置一个 terraform 计划,以便在谷歌云提供商中创建一个云构建触发器。但是,terraform 文档中概述的步骤适用于公共 git 存储库。当我尝试连接一个私有 bitbucket 存储库时,我得到了一个“repo not found”错误。

0 投票
1 回答
302 浏览

terraform - 地形 | 从 Cloud SQL 检索(客户端密钥)证书

我想通过 Terraform 检索 cloudsql 的客户端密钥 SSL 密钥,我能够通过 terraform 检索 server-ca 和客户端证书,但不知道如何获取客户端密钥文件。要检索客户端证书,我使用了下面提到的一点:请看。

输出.tf

请让我知道如何检索客户端密钥私钥。即 server-ca、client-cert 和我需要通过 terraform 的客户端密钥。

0 投票
1 回答
2105 浏览

google-cloud-platform - Terraform:无法使用生成的 SSH 密钥在计算引擎 VM 上远程执行

我正在尝试使用带有 Terraform 的 ssh 密钥在新配置的 Google Cloud Platform Compute Engine VM 上远程执行一些命令。这是我的代码:

我在 Terraform 应用中得到的输出是

所以看起来 ssh 密钥没有正确传播到虚拟机。任何提示为什么这不起作用?

0 投票
1 回答
4413 浏览

terraform - 使用 Terraform 创建具有 IAM 角色的服务帐户

我正在尝试roles/logging.logWriter使用 Terraform 创建一个具有 IAM 角色的基本服务帐户。以下是我的配置方式:

运行时,terraform apply我收到以下错误消息:

从我所做的挖掘中,我似乎无法找到关于如何创建服务帐户然后为其附加角色的明确解释。

0 投票
2 回答
3940 浏览

terraform - 如何有条件地填充 terraform 中的参数值?

我正在编写一个Terraform脚本来启动 Google Cloud Platform 中的资源。
某些资源仅在设置另一个参数时才需要一个参数,仅在填充另一个参数(或任何其他类似条件)时如何填充一个参数?

例如:

在上述资源 ( google_compute_router ) 中,两者的描述advertised_groups都说advertised_ip_ranges只有当 Advertisement_mode 是 CUSTOM 并且向路由器的所有对等方通告时,才能填充此字段。

现在,如果我保持DEFAULT的值,我的代码如下所示advertise_mode

然而,上面的脚本在运行时会出现以下错误:

作为上述问题的解决方法,我创建了两个具有不同名称的资源,它们几乎做同样的事情。该脚本如下所示:

上面的脚本工作正常,但是对我来说似乎有很多代码重复和黑客攻击。此外,对于(依赖属性的)两个选项是可以的,但是,如果有更多选项说 5,那么对于这样一个小东西的代码重复就太多了。有没有更好的方法来做我想要实现的目标?