rmdir.cn

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