问题标签 [terraform-modules]

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 回答
108 浏览

terraform - 具有依赖关系的 terraform 条件模块

我正在使用 terraform 0.14 并有两个有条件地创建的模块。第二个模块隐含依赖于第一个模块:

第二个模块出现以下错误:

错误:不支持的属性 resource_group_name = module.rg-sample.name

如果我使用变量而不是模块属性,则不会有任何隐式依赖,它会起作用,但我更喜欢将模块属性用于 resource_group_name 或位置。

0 投票
1 回答
70 浏览

google-cloud-platform - Terraform:使用相同的 terraform 代码创建新的 GCE 实例

我已经gcp vm使用terraform modules. 我的模块文件夹中的内容如下

我的主要代码块如下

使用此代码,我可以成功创建一个新的 vm 实例

现在我需要创建一个新VM instance的机器类型e2-standard。我该如何处理这种情况?

如果我如下所示编辑我现有main.tf的,它将破坏现有的vm instance to create the new vm instance.

terraform plan确认如下

我需要指针来重用相同的代码来创建一个现有的新 vm 而对现有的没有任何更改。请建议

0 投票
1 回答
1089 浏览

terraform - Terraform:在模块之间共享资源

我正在创建一个运行良好的 terraform 模块。但是,当我多次使用它时,它会创建多个角色和策略,它们实际上是相同的。

我在考虑是否有办法让模块在我第一次调用它时创建一个角色并继续为后续模块使用相同的角色

0 投票
0 回答
49 浏览

terraform - terraform 中不同项目中多个服务帐户的模块

我有这样的当前 TF 代码设置。

正如您在代码中看到的,服务帐户因项目而异。是否有任何有效(逻辑)方式我在 modules/cp_project 本身中添加服务帐户。我确实有多个文件,例如 prod.tf 和 preprod.tf,它们使用相同的模块和成员中的不同电子邮件地址。我想将所有这些项目特定成员放在 modules/cp_project 中,然后各个项目可以从 cp_project 本身调用各自的成员列表。有办法吗?谢谢你

文件结构

正如您从文件结构中看到的,我想在 module/vars.tf 中列出服务帐户成员,并从 qat01 或 dev01 调用变量。所以我希望模块/vars.tf 如下所示。并且这些变量可以被 dev01.tf 和 qat01.tf 在“members”变量中调用。module/vars.tf 的示例如下

0 投票
1 回答
54 浏览

terraform - 地形模块

抱歉,这可能是一个愚蠢的问题,我是 terraform 模块的新手。我创建了 2 个私有注册表,它们是 S3 和公共标签。所以每当我使用 S3 模块部署 S3 时,如何调用私有共享标签模块来获取标签?

0 投票
0 回答
619 浏览

terraform - Terraform:使用来自不同模块中的模块的 Azure 资源组

我已经成功创建了一个 vnet 模块(带有一个资源组)。但我现在正试图在计算模块中创建一个天蓝色的公共 IP 地址,但想将它放在我在 vnet 模块中创建的资源组中。请帮忙。

文件夹结构:

c:\terraform\main.tf 的内容

c:\terraform\variables.tf 的内容

c:\terraform\terraform.tfvars 的内容

c:\terraform\modules\vnet\main.tf 的内容:

C:\terraform\modules\vnet\output.tf 的内容

c:\terraform\modules\vnet\variables.tf 的内容:

c:\terraform\modules\compute\main.tf 的内容

当我运行 Terraform 计划时,我收到以下错误。我知道计算模块非常错误,但我不知道是什么..

0 投票
0 回答
40 浏览

terraform - gke impersonal_service_account 不工作

我正在尝试使用 terraform 部署 k8s 集群。部署 k8s 集群成功,但是当 terraform 尝试运行配置的 pod 安全策略部分时,它会返回如下错误

ServiceAccountID我通过上面显示的错误知道正在使用的服务帐户。但是,我创建了另一个有权创建 pod 安全策略和任何其他 k8s 资源的服务帐户。我正在尝试将新创建的服务帐户与块的权限impersonate_service_account一起使用module gke

这似乎没有使用我要求它模拟的服务帐户,而是继续使用上述错误中返回的服务帐户。

注意:我使用的是 terraform kubernetes 引擎模块,如此处所示

0 投票
0 回答
246 浏览

kubernetes - 使用 Terraform 创建 ClusterRoleBinding 时出错

当我应用我的 terraform 配置时出现此错误,我不确定为什么会发生这种情况。

集群角色绑定

0 投票
1 回答
62 浏览

terraform - 我有重复的代码 - 有没有办法扩展/重用 terraform 模块?

我已经复制并粘贴了大块 terraform,这通常表明我缺少一些可以使事情变得整洁的语言功能(对于 tf 来说相对较新)。

例子:

如您所见 - 这些模块声明不同的唯一方式是a_module_specific_var(最后)。我在这里缺少哪种语言功能可以让我抽象出通用部分?如果这是在我常用的 Node 领域,我会将其拉出到 JS 函数中,然后将1or2作为参数传递。

0 投票
0 回答
103 浏览

terraform - 使用“Terraform Test”对模板进行集成测试并得到以下错误

我在运行 Terraform 测试时收到以下错误消息:

但是,测试运行成功,资源也被删除...

但不知道如何摆脱这个错误。

我还手动尝试在测试目录中执行 init/plan 和 apply/destroy 并且它是成功的,但是当我运行 terraform 测试时它会抛出这些错误。

我也尝试了不正确的输出,但它按预期失败。只是想摆脱这些错误。

按照这个建议尝试:https ://discuss.hashicorp.com/t/better-terraform-testing-logging-and-error-messages/27055

请建议如何摆脱这些错误

参考:https ://www.scalefactory.com/blog/2021/03/30/integration-testing-with-terraform-0.15/