A free, open study guide for the HashiCorp Certified: Terraform Associate (004) (Terraform 004) exam: revision notes for every domain, side-by-side comparisons of commonly confused services, a glossary, 20 worked sample questions, and the official syllabus as a checklist with a full free lesson for every topic.
Maintained by SaveMyCert, where you can read every lesson free, practice with explained questions and take timed mock exams.
- Exam at a glance
- Exam domains
- What is in this repo
- Syllabus checklist
- How to study for Terraform 004
- Sample questions
- Free resources
| Exam code | Terraform 004 |
| Level | Associate |
| Questions | ~57 |
| Time limit | 60 min |
| Passing score | Pass / fail |
| Format | Multiple choice & multiple answer |
| Exam fee | $70.50 |
| Valid for | 2 years |
Exam details change. Always confirm them in the official HashiCorp Terraform Associate certification page from HashiCorp.
| # | Domain | Weight | Topics |
|---|---|---|---|
| 1 | Infrastructure as Code (IaC) with Terraform | 8% | 1 |
| 2 | Terraform fundamentals | 11% | 1 |
| 3 | Core Terraform workflow | 19% | 2 |
| 4 | Terraform configuration | 22% | 2 |
| 5 | Terraform modules | 11% | 1 |
| 6 | Terraform state management | 11% | 1 |
| 7 | Maintain infrastructure with Terraform | 8% | 1 |
| 8 | HCP Terraform | 10% | 1 |
That is 8 domains and 10 topics. Spend your time in proportion to the weights: the heaviest domain decides more of your score than the lightest.
HashiCorp does not publish domain weights. The figures here estimate each objective by its share of the official sub-objectives.
| File | What it gives you |
|---|---|
| Domain 1 notes | Infrastructure as Code (IaC) with Terraform: condensed revision notes per topic |
| Domain 2 notes | Terraform fundamentals: condensed revision notes per topic |
| Domain 3 notes | Core Terraform workflow: condensed revision notes per topic |
| Domain 4 notes | Terraform configuration: condensed revision notes per topic |
| Domain 5 notes | Terraform modules: condensed revision notes per topic |
| Domain 6 notes | Terraform state management: condensed revision notes per topic |
| Domain 7 notes | Maintain infrastructure with Terraform: condensed revision notes per topic |
| Domain 8 notes | HCP Terraform: condensed revision notes per topic |
| Commonly confused services | Side-by-side tables of the services questions set against each other |
| Glossary | Every in-scope term and service in one sentence |
| Sample questions | 20 worked questions with answers and reasoning |
| Exam-day guide | Booking, testing options, scoring, results and retakes |
Tick each topic off once you can explain it without notes. The "Must know" facts are the ones questions turn on. Each lesson link goes to the complete, free lesson.
Weight: 8%. What IaC is and why Terraform. HashiCorp publishes no official weights; weight approximates the sub-objective share.
π Revision notes: Domain 1: Infrastructure as Code (IaC) with Terraform
- Infrastructure as Code concepts and multi-cloud workflows
Explaining what Infrastructure as Code (IaC) is; describing the advantages of IaC patterns; explaining how Terraform manages multi-cloud, hybrid-cloud, and service-agnostic workflows.- π Lesson: Infrastructure as Code with Terraform: Concepts and Multi-Cloud Workflows
- Must know: IaC defines infrastructure in machine-readable, version-controlled files β the definition files are the source of truth, not the console
- Must know: The advantages of IaC patterns: versioning, repeatability, automation, reduced human error, and self-service
Weight: 11%. Providers, multi-provider configuration, and how Terraform uses state. Weight approximates the sub-objective share.
π Revision notes: Domain 2: Terraform fundamentals
- Providers, multi-provider configuration, and state basics
Installing and versioning Terraform providers; describing how Terraform uses providers; writing configuration using multiple providers; explaining how Terraform uses and manages state.- π Lesson: Terraform Providers, Version Constraints, and State Basics
- Must know: Providers are plugins that map resource types to platform API calls; Terraform core makes no cloud API calls itself
- Must know: required_providers (inside the terraform block) pins each provider's source and version; hashicorp/aws is shorthand for registry.terraform.io/hashicorp/aws
Weight: 19%. The write β init β plan β apply β destroy workflow, plus formatting. Weight approximates the sub-objective share.
π Revision notes: Domain 3: Core Terraform workflow
- The core workflow: init, validate, and plan
Describing the Terraform workflow; initializing a working directory; validating a configuration; generating and reviewing an execution plan.- π Lesson: Terraform init, validate, and plan: the core workflow explained
- Must know: The core workflow is Write, Plan, Apply β plan previews changes as a diff, apply executes them, and the loop repeats for every change.
- Must know: terraform init must run first in any new or cloned directory, and again whenever providers, modules, or the backend configuration change; it is always safe to rerun.
- Applying, destroying, and formatting configuration
Applying changes to infrastructure; destroying Terraform-managed infrastructure; applying formatting and style adjustments to a configuration.- π Lesson: terraform apply, destroy, and fmt: executing and maintaining changes
- Must know: terraform apply is the only core-workflow command that changes infrastructure: it plans, waits for you to type yes, executes in dependency order, and records results in state while holding the state lock.
- Must know: Apply skips the approval prompt in exactly two cases: -auto-approve, or applying a saved plan file that was already reviewed at plan time.
Weight: 22%. Resources, data sources, variables, outputs, expressions, functions, dependencies, and secrets. Weight approximates the sub-objective share.
π Revision notes: Domain 4: Terraform configuration
- Resources, data sources, variables, and outputs
Using and differentiating resource and data blocks; referring to resource attributes and creating cross-resource references; using variables and outputs; understanding and using complex types.- π Lesson: Terraform Resources, Data Sources, Variables, and Outputs
- Must know: resource blocks create and manage infrastructure; data blocks only read existing infrastructure and never change it.
- Must know: Resources are referenced as type.name (aws_instance.web); data sources take the data. prefix (data.aws_ami.ubuntu).
- Expressions, functions, dependencies, and sensitive data
Writing dynamic configuration using expressions and functions; defining resource dependencies; validating configuration using custom conditions; best practices for managing sensitive data, including secrets management with Vault.- π Lesson: Terraform Expressions, Functions, Dependencies, and Sensitive Data
- Must know: The conditional expression is condition ? true_val : false_val; for expressions build lists with brackets and maps with braces, with an optional if filter.
- Must know: Splat (resource[*].attribute) works on count-created lists; for_each-created resources form a map, so use values() or a for expression.
Weight: 11%. Sourcing, using, and versioning modules, and variable scope. Weight approximates the sub-objective share.
π Revision notes: Domain 5: Terraform modules
- Sourcing, using, and versioning modules
Explaining how Terraform sources modules; describing variable scope within modules; using modules in configuration; managing module versions.- π Lesson: Terraform Modules: Sourcing, Using, and Versioning Explained
- Must know: A module is a container for multiple resources used together; the directory where you run Terraform is the root module, and anything called via a module block is a child module.
- Must know: The source argument is required, must be a literal string, and its format selects the install method: local paths start with ./ or ../, registry sources use NAMESPACE/NAME/PROVIDER, and Git, HTTP, S3, and GCS each have their own address forms.
Weight: 11%. Backends, state locking, remote state, and drift. Weight approximates the sub-objective share.
π Revision notes: Domain 6: Terraform state management
- Backends, state locking, remote state, and drift
Describing the local backend; describing state locking; configuring remote state using the backend block; managing resource drift and Terraform state.- π Lesson: Terraform State: Backends, Locking, Remote State, and Drift
- Must know: The local backend is the default: state lives in terraform.tfstate in the working directory, with terraform.tfstate.backup as the previous version - workable solo, unshareable for teams.
- Must know: State locking is automatic on supporting backends (local, s3, gcs, azurerm, kubernetes, consul, pg, remote); -lock-timeout waits for a lock, -lock=false skips it, and force-unlock LOCK_ID is strictly a last resort.
Weight: 8%. Importing existing infrastructure, inspecting state, and debugging. Weight approximates the sub-objective share.
π Revision notes: Domain 7: Maintain infrastructure with Terraform
- Importing, inspecting state, and debugging
Importing existing infrastructure into a Terraform workspace; using the CLI to inspect state; describing when and how to use verbose logging.- π Lesson: Terraform Import, State Inspection, and Debug Logging
- Must know: terraform import ADDRESS ID updates state only and requires the resource block to exist in configuration first - it never generates or edits .tf files.
- Must know: Import IDs are provider-specific (instance ID, bucket name, resource path); check the provider docs for each resource type's expected format.
Weight: 10%. HCP Terraform for creating infrastructure, collaboration, governance, workspaces, and integrations. Weight approximates the sub-objective share.
π Revision notes: Domain 8: HCP Terraform
- HCP Terraform: workspaces, collaboration, and governance
Using HCP Terraform to create infrastructure; describing collaboration and governance features; organizing and using HCP Terraform workspaces and projects; configuring and using HCP Terraform integration.- π Lesson: HCP Terraform: Workspaces, Collaboration, and Governance
- Must know: HCP Terraform (formerly Terraform Cloud) is HashiCorp's managed platform: remote runs, remote state with automatic locking, stored variables, and team governance; Terraform Enterprise is the self-hosted version.
- Must know: Integration is two steps: terraform login stores an API token in credentials.tfrc.json, and a cloud block (organization + workspaces name or tags) connects the configuration β then terraform init, which can migrate existing local state.
- Read the lesson for each topic in the checklist above, starting with the heaviest domain. Every lesson is free on the Terraform 004 revision notes.
- Practice straight after reading. Answer Terraform 004 practice questions on the topic you just read. Each option comes with an explanation of why it is right or wrong.
- Review what you got wrong, re-read that lesson section, and tick the topic off only when you get its questions right.
- Take a full-length Terraform 004 mock exam under the real time limit. Aim to pass mocks comfortably before you book.
- On the last day, skim the Terraform 004 cheat sheet instead of starting anything new.
sample-questions.md has 20 worked Terraform 004 questions with the answer, why each option is right or wrong, and the reasoning steps.
- HashiCorp Terraform Associate certification page: the official source (HashiCorp)
- Terraform 004 certification overview
- Terraform 004 revision notes: every lesson, free to read
- Terraform 004 practice questions: with an explanation on every option
- Terraform 004 mock exams: full-length and timed
- Terraform 004 cheat sheet: the key facts on one page
- All certification study guides
Spotted an error or an out-of-date fact? Open an issue with the topic and a link to the official source. See CONTRIBUTING.md.
This guide is licensed under CC BY 4.0. You can reuse and adapt it, including commercially, as long as you credit SaveMyCert with a link to https://www.savemycert.com/.
This is an independent study resource. It is not affiliated with or endorsed by HashiCorp. HashiCorp Certified: Terraform Associate (004) and Terraform 004 are trademarks of their respective owner. Exam domains and weights are taken from the official exam guide linked above.