Terraform Associate (003) mock exams and practice exam questions for HashiCorp Terraform Associate. Timed practice sets and detailed explanations in the AWS Exam Prep app (web, iOS, Android).
Start a practice session for HashiCorp Terraform Associate (003) below, or open the full app in a new tab. For the best experience, open the full app in a new tab and navigate with swipes/gestures or the mouse wheel—just like on your phone or tablet.
Open Full App in a New TabA small set of questions is available for free preview. Subscribers can unlock full access by signing in with the same account used on mobile.
Prefer to practice on your phone or tablet? Download the AWS Exam Prep – AWS, Azure, GCP & CompTIA exam prep app for iOS or AWS Exam Prep app on Google Play (Android) and then sign in with the same account on web to continue your sessions on desktop.
Tip: Begin with 20–25 question domain drills for weak areas, then move to mixed sets and full mocks. Aim for consistent ~75–80% on mixed sets before test day.
Timeboxing
state list/show/mv/rm.for_each (keyed) over count (index churn).plan -out → review → apply plan.bin. Use -replace=addr for intentional re-create; avoid taint.plan -refresh-only to reconcile external changes before deciding remediation.create_before_destroy, prevent_destroy, ignore_changes, replace_triggered_by—know the right picker.terraform import) → plan → apply.for_each, import/replace).-target), endanger state (no locking), or ignore review (no plan artifact).Open the app above and choose:
Study funnel: Read this Overview → work the Syllabus objective-by-objective → keep the Cheatsheet open for commands/workflows → validate with Practice .
1) Core workflow
init → fmt/validate → plan → apply → destroy, plans vs binary plan files, review practices.
2) State & backends
What state is, why it’s sensitive, local vs remote, locking (e.g., S3+DynamoDB), reconfigure with -backend-config, state CLI for surgical moves.
3) Variables, outputs & expressions
Types/validation, sensitive, var precedence, locals, for_each vs count, dynamic blocks, common functions.
4) Modules & versioning
Module structure, pinning module/provider versions, composition, registry usage and documentation.
5) Providers & authentication
Provider config and constraints, multiple providers/aliases, common auth flows (env/CLI profiles/ADC).
6) Change management
-replace for intentional recreate, refresh-only plans for drift, judicious use of -target, lifecycle meta-args (create_before_destroy, ignore_changes, prevent_destroy).
7) Workspaces & environments
When workspaces are enough vs when to use separate states/backends for real isolation.
8) Policy awareness & CI
Plan review, least-privilege credentials, remote runs/state, Sentinel/OPA awareness.
locals, and mark sensitive.for_each over count when stable addressing is needed.-replace.plan -refresh-only and decide next steps.If fewer than ~6 boxes are checked, spend two extra days with the Cheatsheet + targeted drills.
Week 1 — Workflow & State
state mv/rm/show)Week 2 — Variables/Modules/Providers
Week 3 — Changes, Import & Environments
-replace, lifecycle meta-args, refresh-onlyWeek 4 (optional) — Polish & Mocks
Daily cadence: 30–45 min reading → 20–25 question drill → convert misses into two bullets (why wrong / why right) → re-drill within 24–48h.
Safe change flow
Make change → fmt/validate → plan -out=plan.bin → review → apply plan.bin.
Import flow
Add HCL for the resource → import block (or terraform import) → plan → apply.
Intentional recreate
plan -replace=addr → apply -replace=addr (prefer over taint).
Drift detection
plan -refresh-only → decide remediate vs tolerate (possibly ignore_changes).
Stable fan-out
Prefer for_each with meaningful keys; avoid index churn from count.
lifecycle.create_before_destroy = true.lifecycle.ignore_changes = [that_field].provider = on resources/modules.-target sparingly; favor architectural fixes or staged applies.