# AWS Terraform Provider Major Upgrade Checklist (July 2026)

Target path is usually **4.x → 5.x → 6.x** (one major at a time). Provider **6.0 GA: 2025-06-18** (enhanced per-resource `region`).

## Before touch

- [ ] Pin current version in `.terraform.lock.hcl`; note constraint in `required_providers`
- [ ] Read Registry upgrade guide for the **next** major only
- [ ] Inventory resources you use that appear in BREAKING CHANGE lists
- [ ] Confirm CI uses plan→review→apply (no `-auto-approve` on prod)

## Staging

- [ ] Bump constraint to next major; `terraform init -upgrade`
- [ ] `terraform plan` — expect config fixes, not silent replaces
- [ ] For 6.x region migration: `terraform apply -refresh-only` before swapping provider meta → `region` args
- [ ] App/integration smoke tests (not plan-only)

## Prod

- [ ] Same lockfile commit as staging
- [ ] Plan shows **no unexpected destroys/replaces**
- [ ] Monitor 24h; keep prior provider pin for rollback

## Counter-case

Do **not** jump 4 → 6 in one PR. Compounded breakages hide the root cause.
