Q: You changed a resource from `count` to `for_each` and Terraform now wants to recreate everything. How do you avoid that?
The resource addresses changed, so Terraform thinks the old objects disappeared and new ones must be created. Preserve state by moving ad...
#Terraform #Use VPC ID from another module #L3 #IaC #Cloud Infrastructure #Terraform State
🎙️ Candidate Opening & Architectural Context
""When terraform plan shows unexpected changes, my golden rule is: never apply blindly. Investigate the diff first. When addressing this question, I walk the interviewer through our production incident runbook: isolating the blast radius, checking diagnostic logs and metrics, and applying a safe fix.""
Advertisement
🛠️ Production Runbook & Step-by-Step Resolution
1️⃣
Production Solution & Architecture
The resource addresses changed, so Terraform thinks the old objects disappeared and new ones must be created. Preserve state by moving addresses with terraform state mv, or use moved blocks if the mapping is straightforward. Do the refactor in a controlled sequence: update code, move state entries one by one, then run terraform plan until it shows no infrastructure replacement.
💡 The Senior SRE Gold Nugget (Key Architectural Takeaway)
"Pro-Tip: The resource addresses changed, so Terraform thinks the old objects disappeared and new ones must be created. Preserve state by mo."
⚡ 60-Second Elevator Pitch Talking Points
- Immediate Triage: The resource addresses changed, so Terraform thinks the old objects disappeared and new ones mu
- Run targeted verification commands before modifying configuration.
- Automate permanent guardrails (CI check, alerts, IaC policy) to prevent recurrence.
Advertisement