moved blocks は1.1以降で利用可能
Note: Explicit refactoring declarations with moved blocks is available in Terraform v1.1 and later. For earlier Terraform versions or for refactoring actions too complex to express as moved blocks, you can use the terraform state mv CLI command as a separate step.
https://www.terraform.io/language/modules/develop/refactoring
moved blocks
実際にmoved blocksを使ってrefacotringを行う際には以下のような手順になるでしょう
Terraformコードのrefactoringを行う
変更したobjectについてはmoved blocksでstateの移行を記述する
Terraform Planを実行して変更後のコードに差分がないことを確認する
もしPlanで変更に起因する差分が会った場合は2と3を繰り返す
Terraform Applyして実際にstateへ変更を反映するRefactoring Terraform with moved blocks | Money Forward Money Forward Engineers' Blog 2021
moduleでもok
moved { from = module.a to = module.b }
state mv
リソース名の変更
terraform state mvコマンドを使います。