terraform state mv
在状态中移动资源
语法
terraform state mv [选项] <源地址> <目标地址>说明
在 Terraform 状态中重命名或移动资源地址。常用于重构配置时,将资源重命名或移动到不同模块,避免因改名导致 destroy + create。 这个命令只修改状态文件,不修改实际的云资源。移动后资源仍由 Terraform 管理,但使用新的地址。
参数
-dry-run仅显示将要执行的操作,不实际移动
-state指定源状态文件路径
-state-out指定目标状态文件路径
示例
重命名资源
在状态中重命名资源
terraform state mv aws_instance.old_name aws_instance.new_name移动到模块
将资源移动到模块中
terraform state mv aws_instance.server module.app.aws_instance.server模拟移动
先模拟查看是否会成功
terraform state mv -dry-run aws_instance.a aws_instance.b