问题标签 [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 回答
7573 浏览

terraform - 如果未提供其值,则有条件地忽略 Terraform 中的参数?

我正在使用“google_sql_database_instance”资源创建仅具有私有 IP 的云实例,并从变量文件或命令行参数中获取_private_network_的值,或者根本没有提供任何值。

我想要实现的是,仅在提供private_network时创建私有 IP 实例,并且仅在提供其值时才包含_private_network_参数。这里的问题是这个变量不接受空字符串(""),因为它验证了下面的正则表达式。.
"projects/((?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?)))/global/networks/((?:[a-z](?:[-a-z0-9]*[a-z0-9])?))$"

我将如何制作一个可配置的模块(仅在提供private_network时才创建私有 IP 实例,否则完全忽略该参数)并且不强制要求_private_network_变量的值?

0 投票
3 回答
1252 浏览

kubernetes - 使用 Terraform 管理 GKE 及其部署

我可以terraform使用KubernetesGKE.

然后我设置了提供程序Kubernetes如下:

默认情况下,与用户terraform交互,用户无权创建(例如)部署。因此,当我尝试通过以下方式应用更改时出现此错误:Kubernetesclientterraform

我不知道我现在应该如何进行,我应该如何将此权限授予client用户?

如果将以下字段添加到提供程序,我就可以执行部署,尽管在阅读文档后似乎这些凭据用于HTTP与集群通信,如果通过互联网完成,这是不安全的。

还有其他更好的方法吗?

0 投票
1 回答
641 浏览

google-cloud-platform - 更改 Cloud Composer 的 DAG 的默认 GCS 位置

有没有办法覆盖 Airflow DAG 的默认路径。在创建新环境并执行新环境的同时,composer 环境正在项目中创建一个多区域存储桶。

有没有办法将 DAG 位置覆盖到另一个 GCS 位置并将存储类更改为区域?我发现core-dags_folder是用于在环境中指定 DAG 位置的属性,但我不明白为什么这是一个被阻止的配置并且开发人员无法将其更新到任何其他 GCS 位置

0 投票
4 回答
3774 浏览

google-cloud-platform - 如何删除默认 GCP vpc 并将其替换为 terraform?

Google 建议删除并创建您自己的产品 VPC

此资源管理默认 VPC:https ://www.terraform.io/docs/providers/aws/r/default_vpc.html

但我想将不同的 VPC 设置为默认值并删除自动创建的 VPC。

这怎么可能?

0 投票
3 回答
3326 浏览

google-cloud-platform - 如何获取 GCP 中所有项目的所有 VM 信息

如何获取 GCP 中所有项目的所有 VM 信息。

我的 GCP 帐户中有多个项目,我需要 GCP 中所有项目的所有 VM 的操作系统、操作系统版本和操作系统的构建版本。

0 投票
2 回答
1373 浏览

vpc - Terraform GCP VPC 对等互连

我正在尝试使用 GCP 在我的项目网络和另一个项目之间配置 VPC 对等互连,但是我不能,因为我没有权限在另一个项目上列出网络。

错误:

由于 terraform 无法访问,another-project我想知道是否有任何其他方法可以使用 terraform 执行此操作。

先感谢您!:)

0 投票
0 回答
1029 浏览

google-cloud-platform - 如何使用 terraform 为 gke 集群添加现有子网

我正在添加引用该 vpc 和子网的 vpc、子网和 gke 集群。但是,正在创建 vpc 和子网,但是在创建 gke 集群时会抛出错误

我添加了以下创建 VPC、子网和 gke 集群的脚本。请参阅下面的 terraform 脚本

0 投票
2 回答
853 浏览

google-cloud-platform - 我们可以更改 GCP Cloud VPN 默认参数吗?

我正在尝试使用 Google Cloud Platform 设置站点到站点的 IPSec 隧道。

On-Prem 数据中心工程师询问我们是否可以将 IKEv2 第 1 阶段的生命周期从 36,000 秒增加到 86,400 秒。

但是,它似乎不是可以更改的设置;不是通过 GCP 控制台,也不是在 Terraform/Ansible 文档中。有谁知道任何API指令来修改这个?

参数显示在下面的链接中:

https://cloud.google.com/vpn/docs/concepts/supported-ike-ciphers

将不胜感激任何帮助/建议。

谢谢你

0 投票
2 回答
4157 浏览

terraform - 在 terraform 文件而不是 env 变量中为 Terraform 提供凭据

我已经在 GCP 上建立了一个带有远程后端的 terraform 项目。现在,当我想部署基础架构时,我遇到了凭据问题。我有一个凭据文件

在我的 terraform 项目中,我有以下涉及远程状态的数据:

我用我的凭据文件的详细信息指定云提供商。

但是,这会遇到

如果我添加

我确实让它按需要运行。我的问题是我想在 terraform 文件中指定凭据,因为我从无法设置环境变量的 python 脚本以自动方式运行 terraform 命令。在不设置 env 变量的情况下,如何让 terraform 知道凭据在哪里?

0 投票
2 回答
1224 浏览

google-cloud-platform - Terraform 条件取决于是否已创建资源

我创建了一个计算模块,该模块具有创建外部 IP 的条件。

在计算实例资源块中,我有以下网络接口配置:

如果尚未创建资源 google_compute_address.external,我需要将 nat_ip 设置为 null 或换句话说 0。

看起来它应该工作,但它没有。

当将 EXT_IP_CREATE 设置为 true 时,TF 成功创建资源。将其设置为 false 时,我收到以下错误:

当我明确传递 nat_ip = 0 时,TF 会识别空白值并成功创建没有外部 IP 的计算实例。

我目前在 Terraform 版本 Terraform v0.11 上。可能有一个超级简单的解决方案,但我只是从 TF 中的条件开始,我被困在这里。

提前致谢!