Pattern: Use moved Module Refactor Only resource "aws_instance" "bastion" {} module "bastion" {} moved { from = aws_instance.bastion to = module.bastion.aws_instance.bastion } CODE EDITOR developer.hashicorp.com/terraform/language/modules/develop/refactoring
Pattern: Use import Module Refactor TERMINAL # Build module > terraform import \ module... > terraform state rm . # Comment out old resources in Terraform > terraform plan # check no drift # Delete old resources in Terraform
Pattern: Use import State Refactor TERMINAL # Copy resource configurations to new working directory # Implement dependency injection > cd > terraform init > terraform import . > terraform plan # check no drift
Pattern: Use import State Refactor TERMINAL > cd > terraform state rm . # Comment out old resources in Terraform > terraform plan # check no drift # Delete old resources in Terraform