Moving resources between remote states
Sometimes it's useful to be able to move resources between remote states without a need to recreate infrastructure. One use case is moving resources between directories.
terraform state mv
command does not directly support remote states, but -state
and -state-out
parameters can be used against local states. This means remote states need to fetched first.
This can be done with for example aws s3 cp
or terraform state pull > local.tfstate
.
After both states are local, state mv
command can be used in the following manner:
terraform state mv -state=src.tfstate -state-out=dst.tfstate module.foo module.foo
After this modified local state files need to pushed to remote storage, for example with:
terraform state push /path/to/local/state
References:
https://github.com/hashicorp/terraform/pull/15652#issuecomment-410754814
Last updated