问题标签 [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 投票
6 回答
44549 浏览

terraform - Terraform - 重构模块:错误:提供程序配置不存在

我正在重构一些 Terraform 模块并得到:

似乎我需要从 tfstate 文件中删除该资源,然后使用新的 tf 配置重新添加它。

当我重构一些单体代码时,有数百条这样的Error: Provider configuration not present消息。

删除和重新添加的任何快捷方式?

0 投票
0 回答
994 浏览

terraform - terraform modules 错误:引用未声明的模块

请帮助我在 GCP 上使用 terraform,我已经有几天头撞墙了。谁对 terraform 有很好的经验,你用这个 5 分钟。

上传了所有需要的文件,它包括 2 个模块,第一个(创建 google 项目)是静态的 - 从 terraform init 运行时它使用的 terraform tegistry 下载,第二个(在新创建的 google 项目中创建 vm) - 已经创建。错误文件也被上传。请提供建议!

1 个模块被称为项目 - 运行良好,它是创建新项目并在我们的输入项目 ID 中生成

它使用这个模块 - https://registry.terraform.io/modules/terraform-google-modules/project-factory/google/5.0.0

2 模块称为 redis_vm- 必须使用这个 project_id(模块 1 的输出)并创建新的 mv 和其他一些想法,如网络和防火墙规则。

而主要 - 为什么来自模块 2 的输入 - 看不到模块 1 的输出?我什么都试。但总是得到类似的东西

错误:在资源“google_compute_network”“vpc_network”中的modules/redis_vm/main.tf第13行引用未声明的模块:13:project =“${module.project.project_id}”没有声明名为“project”的模块调用redis_vm。

例如,如果我在模块 2 中使用

链接到此处的文件 https://drive.google.com/drive/folders/1_s9yuKQ3Prn-9CLsRcovjxes--FW2lcZ?usp=sharing

感谢您的帮助。‹ 崩溃

0 投票
1 回答
3016 浏览

terraform - 将资源导入 terraform 模块的问题

我为 Azure LogicApp 创建了名为工作流的模块这是模块:

workflow_schema我指定包含 logicapp 配置的文件的路径

主要config.tf我有以下设置:

所以,当我跑步时terraform initterraform plan一切都很好。

由于我的逻辑应用程序是较早创建的,因此我想导入它以便 terraform apply 不会覆盖它。

我正在运行以下命令,它返回错误:

我正在使用以下版本的软件:

如果有人对terraform import失败的原因有任何想法,请分享。

0 投票
1 回答
272 浏览

terraform - Terraform 模块抛出关于需要字符串的错误

我一直在尝试将我的 terraform 代码从一个大文件拆分为单独的模块。我一直遇到运行 Terraform Plan 时出现以下错误的问题。

我创建了一个outputs.tf文件,其中包含以下内容:

main.tf模块具有以下内容:

在 NSG 的 main.tf 文件中,我配置了以下内容:

不知道我在哪里配置错误。尝试查看多个不同的资源、博客等,但没有运气。

0 投票
1 回答
1331 浏览

terraform - Terraform:有条件地安装 TF 模块

我创建了一个 Terraform 模块(安装jenkins,但这超出了这个问题的范围)

我希望能够有条件地安装它。

我已经尝试过这种count方法:

但它抛出以下错误:

错误:模块“jenkins”:“count”不是有效参数

有没有办法有条件地安装 Terraform 模块?

使用 Terraform0.11.14

0 投票
1 回答
52 浏览

terraform - Terraform 模块 - 事后添加项目

我一直在试图弄清楚关于 terraform 模块的这一点。我在代码中添加了一个安全组模块并进行了部署。部署后,除非我污染整个模块并重新部署它,否则我无法向组添加新规则。我试过在谷歌上寻找并不能真正找到答案。

我唯一能想到的是在添加新规则之后添加一个资源块......但这不会破坏模块的目的吗?

任何帮助将不胜感激。

这是我使用的代码示例。如果我成功部署它,然后返回并进行更改,则永远不会读取更改。

0 投票
2 回答
10287 浏览

terraform-provider-azure - 模块目录不存在或无法在 Terraform 中读取

我正在尝试在我的 Terraform 代码中使用模块作为依赖项。但即使在模块中提到特定的源路径后,它也会给出错误“模块目录不存在或无法读取。”和“无法评估目录 - 系统找不到指定的文件。” 谁能告诉我可能是什么原因。

我必须管理 3 个不同的环境,每个环境有 3 个不同的后端状态文件。这里每个主文件调用各自的模块文件。主文件夹包括后端配置,资源组的创建,它调用模块文件

- - - - - - 代码 - - - - - - - - -

0 投票
2 回答
9172 浏览

terraform-provider-azure - 用作输入变量的 Terraform 输出变量

我想使用一个资源/模块的输出变量作为另一个资源/模块的输入。那可能吗?在这里,我希望根目录中的“outputs.tf”的输出值用作模块的“main.tf”中的输入。

0 投票
0 回答
94 浏览

github - 为什么 Terraform Registry 找不到来自 GitHub 组织的公共存储库?

因此,我的 GitHub 组织已授予 Terraform 注册表“无私人访问权限”。

Terraform Registry 的 OAuth 授权页面的屏幕截图

那么,为什么会导致 Terraform 看不到我组织的公共存储库?

Terraform Registry 的屏幕截图显示列表中没有存储库

我认为 Terraform Registry 应该能够从 GitHub 组织访问公共存储库,而无需提供私有访问。

为什么 Terraform Registry 找不到来自 GitHub 组织的公共存储库?

0 投票
1 回答
87 浏览

terraform - 如何在不创建资源两次的情况下使用安全组模块中网络模块的输出?

这是我的项目文件夹结构

我正在尝试创建两个模块,一个用于 vpc ,另一个用于 security group 。这是我对 vpc 模块的输出

安全组模块看起来像

这是 sg 模块的输出

我正在使用这个模块在 aws 中创建我的实例

但是我可以看到与 vpc 模块相关的所有内容都被创建了两次(例如,我可以看到两个 vpc 而不是一个,两个公共子网而不是一个等)..我是否以正确的方式使用这些模块?..

如何在不创建资源两次的情况下使用安全组模块中网络模块的输出?