HashiCorp Certified: Terraform Associate (004) Study Guide
- Time limit
- 1h
- Exam fee
- $70.5
- Governing body
- HashiCorp
The HashiCorp Certified: Terraform Associate (004) exam validates that you understand the core concepts, workflow, and configuration language of Terraform, the widely used infrastructure-as-code tool. It confirms you can read and modify Terraform configuration, run the standard plan-apply workflow, manage state safely, and work with modules and HCP Terraform rather than clicking through cloud consoles by hand.
Who Should Take It
- Cloud engineers and DevOps practitioners who provision and manage infrastructure with Terraform in production
- Site reliability engineers and platform engineers standardizing infrastructure delivery
- Developers and IT professionals moving from manual or scripted provisioning into infrastructure as code
You do not need to be a full-time Terraform administrator to pass, but you do need hands-on familiarity with writing and running Terraform configurations rather than just reading about them.
Why It Matters for Your Career
Terraform is one of the most commonly requested infrastructure-as-code skills in cloud and platform engineering job postings, and the Associate credential is the recognized entry point into HashiCorp's certification track. Earning it signals to employers that you can operate a repeatable, version-controlled infrastructure workflow instead of relying on ad hoc changes, which matters increasingly as teams adopt multi-cloud and hybrid-cloud strategies. It is often used as a hiring filter or a promotion checkpoint for roles touching cloud infrastructure, and it lays the foundation for deeper HashiCorp certifications later in a career.
Understanding the exam's logistics helps you plan your prep time and know what to expect on exam day.
- Format: Online proctored, multiple choice exam that you can take remotely from your own computer
- Question types: Three formats appear on the exam — true or false, multiple choice, and multiple answer questions
- Duration: You have 60 minutes to complete the exam
- Cost: The exam fee is 70.50 USD
- Retake policy: A free retake is not included in the exam price, so budget for a second attempt if you are not confident going in
- Version coverage: The current exam version targets Terraform 1.12
- Validity: The certification is valid for 2 years before recertification is required
What to Expect Logistically
Because delivery is online proctored, you will need a quiet space, a working webcam, and a government-issued photo ID on hand before your session starts. The proctor checks your environment before the exam begins, so plan to log in a little early rather than rushing in at the last minute. Since the exam does not require an in-person testing center, most candidates can schedule a slot that fits around their work day rather than traveling to a facility.
Given the 60-minute window, pacing matters: budget roughly a minute or so per question on average and flag anything you are unsure about to revisit if time allows, rather than getting stuck early and running out of time for easier questions later.
The exam is organized into eight objective areas. HashiCorp does not publish per-objective percentage weightings for this exam, so rather than allocating study time by a percentage breakdown, treat each domain as roughly equal in importance and prioritize based on your own comfort level with each topic.
The Eight Objective Areas
- Understand Infrastructure as Code (IaC) concepts: Why teams manage infrastructure through versioned configuration instead of manual changes, and the benefits of a declarative approach
- Understand the purpose of Terraform (vs other IaC tools): How Terraform's provider-based, cloud-agnostic model differs from tools tied to a single platform
- Understand Terraform basics: Core building blocks such as providers, resources, and the general structure of a configuration
- Use the core Terraform workflow: The write, plan, and apply cycle that drives every Terraform change
- Read, generate, and modify configuration: Working comfortably in HashiCorp Configuration Language (HCL), including variables, outputs, and expressions
- Interact with Terraform modules: Reusing and composing configuration through modules rather than duplicating code
- Implement and maintain state: Managing state files, including local and remote backends, state locking, and drift management
- Use Terraform outside of core workflow, and HCP Terraform: Import, workspaces, and HCP Terraform's cloud-based collaboration and workspace organization features
State management and HCP Terraform tend to trip up candidates who have only used Terraform locally on solo projects, since they touch collaboration patterns you may not encounter until you work on a team.
Most candidates with some Terraform exposure can prepare in three to four weeks of steady, part-time study; complete beginners should plan closer to six to eight weeks.
Weeks 1-2: Foundations
- Install Terraform locally and work through the basic write-plan-apply cycle against a free-tier cloud account or a local provider
- Study IaC concepts and why Terraform's declarative, provider-agnostic model differs from imperative scripting or single-cloud tools
- Get comfortable reading and writing HCL — resources, variables, outputs, data sources, and basic expressions
Weeks 3-4: Workflow Depth and State
- Practice the full core workflow repeatedly until `terraform plan` and `terraform apply` output feels predictable
- Study state management in depth: local vs remote backends, state locking, and how to detect and reconcile drift
- Build and consume at least one custom module, and practice importing existing infrastructure
Final Stretch: HCP Terraform and Review
- Read up on HCP Terraform's workspace organization and collaboration features, since these are easy to under-study if you have only used Terraform locally
- Work through practice questions covering all eight objective areas, using them to find weak spots rather than to memorize answers
- Review a glossary of core Terraform terminology so unfamiliar wording does not slow you down mid-exam
- In the final days, focus purely on your weakest one or two domains rather than re-reviewing everything evenly
Because the exam does not weight domains differently, do not skip any of the eight areas — a gap in even one objective can cost you questions you would otherwise find straightforward.
A little logistical preparation goes a long way for an online proctored exam, and a few conceptual traps catch even experienced Terraform users.
Before You Start
- Test your webcam, microphone, and internet connection well before your scheduled time, and have your photo ID ready
- Clear your desk and close background applications, since the proctor will check your environment before allowing you to begin
- Log in a few minutes early rather than right at your start time, since identity verification takes a few minutes
During the Exam
- Read each question fully before answering — true/false and multiple-answer questions are easy to misread if you skim
- Watch for questions asking you to identify multiple correct answers versus a single best answer, since the two question types are graded differently
- Flag uncertain questions and move on rather than burning your 60 minutes on one tough item
Common Mistakes to Avoid
- Studying Terraform only through documentation without ever running commands yourself — the exam rewards workflow familiarity, not just definitions
- Underestimating state management questions because you have only worked with local state on personal projects
- Treating HCP Terraform as optional content since it is unfamiliar if you have never used a team workspace
- Skipping practice with import and drift scenarios, which are easy to overlook but do appear in the state and maintenance objectives
Since a free retake is not included in the exam price, treat your first attempt as the one that counts and avoid walking in underprepared on any single domain.
You do not need paid courses to prepare thoroughly for the Terraform Associate exam. A few free resource types on this site map directly onto how the exam is structured.
Practice Questions
Working through practice questions organized by objective area helps you gauge your readiness domain by domain rather than guessing overall. Since HashiCorp does not publish percentage weightings for this exam, practicing evenly across all eight objective areas — rather than over-indexing on ones that feel most familiar, like the core workflow — gives a more accurate picture of where you actually stand.
Flashcards
Flashcards are well suited to the kind of terminology-heavy recall this exam rewards: distinguishing backend types, recognizing HCL syntax elements, and remembering what specific Terraform commands and flags do. Short, repeated review sessions with flashcards work especially well in the final week before your exam, when the goal shifts from learning new material to reinforcing what you already know.
Glossary
A glossary of Terraform and infrastructure-as-code terminology is useful early in your prep, when unfamiliar vocabulary can slow down your reading comprehension, and again right before the exam as a fast refresher. Terms tied to state management and HCP Terraform are worth extra attention here, since those are the areas candidates most often under-study.
Used together, these free resources let you build both conceptual understanding and the quick recall you need to move confidently through a timed, 60-minute exam.
Terraform Associate flashcards
29 cards on the highest-yield terms and rules. Grading uses spaced repetition and saves in this browser.
Browse all 29 cards
What is the root module?
The Terraform configuration files in the main working directory that Terraform runs against directly; it can call other (child) modules.
What is a Terraform module?
A reusable, self-contained package of Terraform configuration that manages a related set of resources; every Terraform configuration has at least a root module.
What is Infrastructure as Code (IaC)?
The practice of managing and provisioning infrastructure through machine-readable configuration files rather than manual processes or interactive configuration tools. It enables versioning, review, and repeatable provisioning of infrastructure.
What are the main advantages of using Terraform over manual infrastructure management?
Terraform provides consistency and repeatability, version-controlled infrastructure, a predictable plan/apply workflow, multi-cloud support through a single workflow, and the ability to track and manage the full lifecycle of resources.
What is the core Terraform workflow?
Write configuration, run terraform plan to preview changes, and run terraform apply to make the changes. HashiCorp summarizes this as Write, Plan, Apply.
What does terraform init do?
Initializes a working directory by downloading required providers and modules and configuring the backend for storing state. It must be run before other commands in a new or cloned configuration.
What does terraform plan do?
Creates an execution plan showing what actions Terraform will take to reach the desired state described in configuration, without making any actual changes to infrastructure.
What does terraform apply do?
Executes the actions proposed in a Terraform plan to create, update, or destroy infrastructure so that real resources match the configuration.
What does terraform destroy do?
Destroys all resources tracked by the current Terraform state, removing the infrastructure that Terraform manages.
What is Terraform state?
A file (by default terraform.tfstate) that maps resources defined in configuration to real-world infrastructure objects, tracking metadata and enabling Terraform to plan future changes.
Why is Terraform state necessary?
State lets Terraform know which real-world resources correspond to configuration, track resource dependencies and metadata, and improve performance by caching resource attributes instead of querying every provider on each run.
What is a remote backend in Terraform?
A configuration that tells Terraform to store its state file in a remote location (such as HCP Terraform, an S3 bucket, or Azure Storage) instead of locally, enabling team collaboration and shared state access.
What is state locking?
A mechanism that prevents concurrent operations from writing to the same state file simultaneously, avoiding corruption or conflicting updates when multiple users or processes run Terraform against the same state.
What causes infrastructure drift?
Drift occurs when real infrastructure is changed outside of Terraform (e.g., via a cloud console or another tool), causing the actual resource configuration to diverge from what is recorded in Terraform state.
How can you detect drift in Terraform?
Running terraform plan (or terraform plan -refresh-only) compares real infrastructure against the state file and configuration, reporting any differences caused by out-of-band changes.
What is a Terraform provider?
A plugin that allows Terraform to interact with an API, such as a cloud platform or SaaS service, translating configuration into API calls to create, read, update, and delete resources.
What is a Terraform resource?
A block in configuration that describes one or more infrastructure objects, such as a virtual machine or DNS record, that Terraform will manage.
What is a Terraform data source?
A block that allows Terraform to fetch or compute information from outside the current configuration (or from existing infrastructure) for use elsewhere in the configuration, without managing the lifecycle of that resource.
Where can Terraform modules be sourced from?
Local paths, the public Terraform Registry, HCP Terraform's private registry, Git repositories, HTTP URLs, and other supported storage locations specified in the module's source argument.
What is a Terraform variable (input variable)?
A parameter defined in configuration that allows values to be passed into a module or root configuration, enabling customization without editing the configuration source.
What is a local value (locals) in Terraform?
A named expression that can be reused multiple times within a module, helping avoid repeating the same value or complex expression throughout configuration.
What is the difference between an implicit and explicit dependency in Terraform?
An implicit dependency is automatically detected when one resource references another resource's attribute; an explicit dependency is declared with depends_on when a relationship isn't visible through direct references.
What is the purpose of terraform fmt and terraform validate?
terraform fmt rewrites configuration into a canonical style for consistency, while terraform validate checks that configuration is syntactically valid and internally consistent, without contacting remote services.
What is HCP Terraform?
HashiCorp's managed service (formerly Terraform Cloud) that provides remote state management, remote plan/apply execution, a private module and provider registry, policy enforcement, and collaboration features for teams.
What is Sentinel in the HCP Terraform context?
A policy-as-code framework that lets organizations enforce rules (such as security or cost policies) on Terraform runs before they are applied.
What is the difference between terraform plan and terraform apply?
terraform plan only previews proposed changes without touching infrastructure, while terraform apply actually executes those changes against real infrastructure.
What is a provisioner in Terraform?
A block used to execute scripts or commands on a local or remote machine as part of resource creation or destruction; HashiCorp recommends provisioners as a last resort when no other approach is available.
What is the purpose of the terraform.lock.hcl file?
Records the exact provider versions (and their checksums) selected during initialization, ensuring consistent provider versions are used across team members and runs.
How does Terraform handle multiple cloud providers in one configuration?
Because Terraform's core workflow and language are provider-agnostic, a single configuration can declare and use multiple providers (e.g., AWS and Azure) simultaneously, each configured with its own provider block.
Terraform Associate glossary
23 terms the Terraform Associate tests, defined in plain English.
- Data Source
- A configuration block that reads information from an external system or existing infrastructure for use within a configuration, without Terraform managing its lifecycle.
- Dependency Graph
- An internal representation Terraform builds from resource references to determine the correct order of operations during plan and apply.
- Drift
- A divergence between the actual state of infrastructure and what is recorded in Terraform's state or defined in configuration, usually caused by out-of-band changes.
- Execution Plan
- The output of terraform plan describing the specific actions Terraform will take to reconcile real infrastructure with configuration.
- HCL (HashiCorp Configuration Language)
- The domain-specific configuration language used to write Terraform configuration files, designed for readability by both humans and machines.
- HCP Terraform
- HashiCorp's managed platform (formerly Terraform Cloud) offering remote state storage, remote execution, private registries, policy enforcement, and team collaboration features.
- Immutable Infrastructure
- An infrastructure management approach where components are replaced rather than modified in place, often reflected in Terraform's create-before-destroy or force-replacement behavior.
- Infrastructure as Code (IaC)
- The practice of defining and managing infrastructure using declarative or imperative configuration files instead of manual, ad hoc processes.
- Input Variable
- A named parameter in Terraform configuration used to pass external values into a module, enabling reuse and customization.
- Local Value
- A named, reusable expression defined within a module using the locals block, used to avoid repeating a value or calculation.
- Module
- A reusable, self-contained set of Terraform configuration files that together define a group of related resources.
- Output Value
- A value defined in configuration to expose information from a module after it is applied, often used to pass data to other modules or display results to users.
- Provider
- A plugin that Terraform uses to interact with a specific API or platform (such as a cloud vendor), translating configuration into calls that manage resources.
- Provisioner
- A configuration block used to run scripts or commands on a resource during creation or destruction, generally recommended only when no built-in provider functionality can accomplish the task.
- Remote Backend
- A storage location, external to the local machine, where Terraform state is kept so that it can be shared and locked among multiple users or automation.
- Resource
- A configuration block describing an infrastructure object that Terraform creates, updates, or deletes, such as a compute instance or storage bucket.
- Root Module
- The top-level Terraform configuration in the main working directory from which Terraform commands are run, which may call child modules.
- Sentinel
- HashiCorp's policy-as-code framework used within HCP Terraform to enforce organizational, security, or cost policies on infrastructure runs.
- State File
- The file where Terraform records the mapping between configuration-defined resources and real infrastructure objects, along with metadata used for planning.
- State Locking
- A safeguard that prevents simultaneous write operations to the same state file, avoiding corruption from concurrent Terraform runs.
- Terraform Core
- The main Terraform engine responsible for reading configuration, building the dependency graph, and orchestrating providers to plan and apply changes.
- Terraform Registry
- HashiCorp's public catalog of providers and modules that users can reference directly in configuration by name and version.
- Workspace (CLI)
- In open-source Terraform, a named state instance tied to a single configuration directory, allowing multiple isolated states to be managed from the same code.
Sources
- 1.Learning Path — Terraform Associate (004) — HashiCorp (accessed Jul 18, 2026)
- 2.Infrastructure Automation Certifications — Terraform Associate (004) — HashiCorp (accessed Jul 18, 2026)
- 3.Exam Review — Terraform Associate (004) Objectives — HashiCorp (accessed Jul 18, 2026)
- 4.Study Guide — Terraform Associate Certification (004) — HashiCorp (accessed Jul 18, 2026)
- 5.Sample Questions — Terraform Associate (004) — HashiCorp (accessed Jul 18, 2026)
Official sources
Primary documents used to verify the exam details shown on this page.
- Learning Path — Terraform Associate (004)HashiCorpdeveloper.hashicorp.com
- Infrastructure Automation Certifications — Terraform Associate (004)HashiCorpdeveloper.hashicorp.com
- Exam Review — Terraform Associate (004) ObjectivesHashiCorpdeveloper.hashicorp.com
- Sample Questions — Terraform Associate (004)HashiCorpdeveloper.hashicorp.com
- Study Guide — Terraform Associate Certification (004)HashiCorpdeveloper.hashicorp.com
Last verified against the official exam content outline: