首页 > 解决方案 > 重命名 Terraform 目录

问题描述

我想重组我的 terraform 目录——我要去多个区域并将一个大的 .tfstate 文件分解成更小的文件。作为一个起点,我想获取现有terraform文件夹并将其重命名为terraform/us-east-1以便我可以添加terraform/ca-central-1/vpc,但是一旦我这样做,Terraform 就会中断:

$ terraform plan
Error: Error loading modules: module mymodule: open .terraform/modules/f6d6d743c2d8bd836f32baa02d0922f7: no such file or directory

$ terraform init
Initializing modules...
- module.mymodule
Error downloading modules: Error loading modules: module mymodule: open .terraform/modules/f6d6d743c2d8bd836f32baa02d0922f7: no such file or directory

我没有找到太多关于在搜索中重命名 terraform 文件夹的特殊方法,但我没有任何运气这样做。奇怪的是,当我测试了一些组合时,有时它似乎适用于我不想使用的组合,但我还没有弄清楚它什么时候有效,什么时候无效,只是它永远不会在我正在尝试使用的名称。

建议?

标签: terraform

解决方案


.terraform 文件夹使用绝对路径。更改文件夹结构还需要重新创建 .terraform 文件夹。

这可以通过删除文件夹并terraform init再次运行来完成。

或者

terraform 文档中,terraform get -update也可以解决这个问题

这些模块被下载到本地的 .terraform 文件夹中。此文件夹不应提交给版本控制。.terraform 文件夹是相对于您当前的工作目录创建的,无论此命令的 dir 参数如何。

如果一个模块已经下载并且没有设置 -update 标志,Terraform 将什么都不做。因此,多次运行此命令是安全(且快速)的。


推荐阅读