terraform - 重命名 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 init
再次运行来完成。
或者
从terraform 文档中,terraform get -update
也可以解决这个问题
这些模块被下载到本地的 .terraform 文件夹中。此文件夹不应提交给版本控制。.terraform 文件夹是相对于您当前的工作目录创建的,无论此命令的 dir 参数如何。
如果一个模块已经下载并且没有设置 -update 标志,Terraform 将什么都不做。因此,多次运行此命令是安全(且快速)的。
推荐阅读
- git - Git - 系统配置了两个账户,但是 git push 使用了错误的账户
- colors - 我可以让 GPX 轨迹的颜色由与每个轨迹点相关的值(例如高度或速度)确定吗?
- tensorflow - Tensorflow 覆盖自定义层中的范围
- reactjs - React Native:错误:jest-haste-map:Haste 模块命名冲突,重复的模块名称:react-animated
- typescript - 如何创建自定义类型保护来检查值是否是给定类的实例?
- swift - UIImageView 变换失去滑动手势
- javascript - 如何更好地组织我的代码以防止出现不良行为?
- c - 遍历文件行并将变量导出到 env
- javascript - ES6图中的最短路径
- python-3.7 - 我希望我的代码只允许输入 1-10