我可以修改状态以说服terraform仅报告实际更改而不是范围更改吗?
目标
通过减少增量,轻松验证计划到模块的转换。
过程
terraform plan
并期望没有变化破坏者:计划中的所有项目均会随着范围的变化而销毁并重新创建。
- myplan.aws_autoscaling_group.foo
+ module.mymodule.aws_autoscaling_group.foo
可能的解决方案
如果我可以像在不更改基础结构的情况下运行应用程序那样更新状态,那么我可以运行一个计划,并且只查看实际基础结构与我的计划之间的差异,而无需更改范围。
terraform state list
for each item
terraform state mv <oldval> module.mymodule.<oldval>
这可行,但是我正在从使用另一个模块的计划转向使用一个模块的模块,并且在该模块上的mv似乎不起作用。
terraform state mv module.ecs_cluster module.mymodule.ecs_cluster
Error moving state: Unexpected value for InstanceType field: "ecs_cluster"
Please ensure your addresses and state paths are valid. No
state was persisted. Your existing states are untouched.