- Lab
-
Libraries: If you want this lab, consider one of these libraries.
- Cloud
Safely Restructure IaC Projects Using Terraform Refactoring Techniques
In this lab, you'll practice safely restructuring Terraform configurations using moved blocks to refactor resources without triggering destructive changes. When you're finished, you will have successfully renamed and reorganized resource blocks, added moved blocks to preserve infrastructure state, validated refactors by comparing plan outputs, and diagnosed and corrected refactor-related configuration issues.
Lab Info
Table of Contents
-
Challenge
Access the Terraform Terminal
- Use the Lab Credentials and Instant Terminal to log into the terminal.
- Verify the Terraform status.
-
Challenge
Rename Resources Using Moved Blocks
- Create initial Terraform configuration files and deploy resources.
- Rename a resource block and add a moved block to preserve state identity.
- Verify no destructive changes are planned and apply the configuration.
-
Challenge
Reorganize Resources Into Modules Using Moved Blocks
- Create a module directory structure and move resource definitions.
- Add moved blocks mapping root module addresses to child module addresses.
- Validate and apply the reorganized configuration.
-
Challenge
Move Resources Between Modules Using Moved Blocks
- Create a new module and update the root configuration.
- Compare planned actions without and with moved blocks.
- Apply the configuration and verify the state shows the new module address.
-
Challenge
Diagnose Refactor-Related Plan Diffs and Correct Configuration
- Add a monitoring resource and create a module with a configuration mismatch.
- Save and analyze the plan output to identify the move operation and attribute changes.
- Fix the configuration, compare corrected plan output, and apply changes.
About the author
Real skill practice before real-world application
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Learn by doing
Engage hands-on with the tools and technologies you’re learning. You pick the skill, we provide the credentials and environment.
Follow your guide
All labs have detailed instructions and objectives, guiding you through the learning process and ensuring you understand every step.
Turn time into mastery
On average, you retain 75% more of your learning if you take time to practice. Hands-on labs set you up for success to make those skills stick.