1.3 004 Changes, Terraform 1.12, and Study Plan
Key Takeaways
- Terraform Associate 004 tests Terraform 1.12 and includes HCP Terraform content; it is not a 003 content clone.
- HashiCorp's official 003-to-004 update summary adds 4f depends_on and create_before_destroy lifecycle rules, 4g custom conditions, 4h ephemeral values and write-only arguments, and 8c HCP Terraform workspaces and projects.
- The 004 exam has eight official objective groups and 37 lettered objectives; HashiCorp does not publish 004 domain weights.
- Study from HashiCorp's 004 learning path and exam content list rather than a guessed percentage split.
- Associate (004) is a 1-hour multiple-choice exam at $70.50 without a free retake; Terraform Authoring and Operations Professional is a 4-hour lab-based exam at $295 with a free retake included.
Why the 003-to-004 delta is an exam topic
If your notes still say Terraform Associate 003, you are studying the wrong product version and the wrong objective list. HashiCorp's Infrastructure Automation page publishes an explicit content differences summary between 003 and 004. The 004 exam tests Terraform version 1.12, includes HCP Terraform content, and adds four new topics. Those four topics are not optional sidebars. They are named with official letters you will see again in later chapters:
- 4f —
depends_onandcreate_before_destroylifecycle rules - 4g — validate configuration using custom conditions
- 4h — ephemeral values and write-only arguments
- 8c — describe how to organize and use HCP Terraform workspaces and projects
Read that list next to the current 004 exam-objectives table, because HashiCorp uses slightly broader wording on some letters. The live objectives table says 4f is "Define resource dependencies in configuration," 4g is "Validate configuration using custom conditions," and 4h is "Understand best practices for managing sensitive data, including secrets management with Vault." The update summary is HashiCorp telling you what is new for 004. Ephemeral values and write-only arguments are Terraform 1.12 sensitive-data features; they sit inside the 4h sensitive-data story with Vault and sensitive values. depends_on and create_before_destroy sit inside 4f resource dependencies and lifecycle. Do not skip either wording.
Provider-specific cloud trivia is not the exam. HashiCorp's 004 exam content list says tutorials may use a specific cloud to teach an objective, but provider-specific knowledge is not necessary. You are tested on Terraform behavior: HCL, providers as plugins, state, the core workflow, modules, drift, import, logging, and HCP Terraform organization.
The eight official 004 objective groups
HashiCorp groups 004 into eight numbered objectives. There are 37 lettered sub-objectives. HashiCorp does not publish 004 domain weights. Any site that assigns "25% to configuration" or similar is guessing. Study every letter.
| Group | Official title | What 004 is really asking |
|---|---|---|
| 1 | Infrastructure as Code (IaC) with Terraform | What IaC is, why the pattern helps, and how Terraform stays multi-cloud, hybrid, and service-agnostic through providers |
| 2 | Terraform fundamentals | Install and version providers, write multi-provider configuration, and explain how Terraform uses state |
| 3 | Core Terraform workflow | Write, init, validate, plan, apply, destroy, and fmt |
| 4 | Terraform configuration | Resources versus data, references, variables and outputs, complex types, expressions and functions, dependencies and lifecycle, custom conditions, and sensitive data including Vault, ephemeral values, and write-only arguments |
| 5 | Terraform modules | Module sources, variable scope, using modules, and module versions |
| 6 | Terraform state management | Local backend, state locking, remote state with the backend block, drift, and state operations |
| 7 | Maintain infrastructure with Terraform | Import existing infrastructure, inspect state with the CLI, and use verbose logging |
| 8 | HCP Terraform | Create infrastructure in HCP Terraform, collaboration and governance, workspaces and projects, and HCP Terraform integration |
Group 4 is the densest block and contains three of the four official new topics. Group 8 is where 003 notes go stale fastest because 8c is new and the product name is now HCP Terraform. If you only review Community edition CLI commands, you are leaving an entire official group unstudied.
A practical 004 study sequence
HashiCorp's own 004 learning path is ordered by complexity and is the sequence this guide follows. Use the path at developer.hashicorp.com/terraform/tutorials/certification-004 and the objective-to-doc map at developer.hashicorp.com/terraform/tutorials/certification-004/associate-review-004. HashiCorp also publishes sample questions on that 004 tutorial track so you can see item style; those samples are not a substitute for covering every letter.
Recommended sequence:
- IaC and Terraform's role (group 1). Be able to explain declarative infrastructure, repeatability, and why one language can drive many providers.
- Providers and state fundamentals (group 2). Practice
required_providers, the dependency lock file, provider aliases, and the purpose of state. You cannot understand plan output without state. - Core workflow (group 3). Run
terraform init,fmt,validate,plan,apply, anddestroyuntil the order is automatic. Know what each command changes and what it does not. - Configuration language, including the new 004 letters (group 4). Write resources and data sources, references, variables, outputs, and complex types. Then deliberately practice
depends_on,lifecycle { create_before_destroy = true },validation/ precondition / postcondition /checkblocks, and Terraform 1.12 sensitive-data features:sensitivevalues, Vault injection, ephemeral values, and write-only arguments. - Modules (group 5). Call a registry module with a version constraint and build a small local module so you can explain source, scope, and outputs.
- State management (group 6). Move from the local backend to a remote backend, watch a lock, and repair drift with refresh-only and state commands — without inventing a rewrite of production state on the exam.
- Maintain (group 7). Import an existing object, list and show state, and know when
TF_LOGis the right debugging switch. - HCP Terraform last, but not as an afterthought (group 8). Create a workspace, place it in a project, describe teams, policy, variable sets, VCS or CLI-driven runs, and the
cloud/ login integration path.
A one-week crash course that only reads group 3 CLI help will fail group 4 and group 8 items. A hosted-only crash course that never runs the CLI locally will fail groups 2, 3, 6, and 7. Budget time for both Community edition and HCP Terraform, because HashiCorp wrote both into the audience statement.
Hands-on minimum for a first attempt:
- One local Community edition workspace that uses at least two providers or a provider plus a data source.
- One explicit
depends_onand onecreate_before_destroylifecycle experiment you can explain. - One custom condition that fails
planorapplyon purpose. - One sensitive or write-only argument path you can describe without pasting a secret into state.
- One remote backend or HCP Terraform migration so you have seen locking and remote operations.
- One HCP Terraform project that contains more than one workspace.
Keep Associate distinct from Professional
Terraform Authoring and Operations Professional is a different credential. It is lab-based and multiple choice, online proctored, 4 hours with a 15-minute break, $295 USD plus taxes and fees, English, 2-year expiration, and it includes a free retake. It tests Terraform 1.6, not 1.12. HashiCorp strongly recommends Associate or equivalent experience, plus Linux, cloud credentials, and comfort with HCL, YAML, JSON, and CSV. Passing Professional can recertify an unexpired Associate badge, but it is not a harder form of the same one-hour exam.
Do not study Professional lab tasks as if they were 004 items, and do not skip 004's HCP Terraform letters because you plan to take Professional later. 004 still asks you to identify Enterprise versus Community features and to describe HCP Terraform workspaces and projects.
Study traps for 004 specifically:
- Using 003 flashcards that never mention ephemeral values, write-only arguments, custom conditions, or HCP projects.
- Inventing domain weights and ignoring a short official letter such as 7c verbose logging.
- Treating Vault,
sensitive, ephemeral, and write-only as four unrelated products instead of one 4h sensitive-data family. - Memorizing AWS resource arguments because a HashiCorp tutorial used AWS. The exam wants the Terraform construct, not the cloud SKU.
- Walking into Associate expecting a 4-hour lab or a free retake.
If you can explain each of the eight group titles, name the four official new 004 topics, and run the core workflow against Terraform 1.12 without notes, you are ready for the rest of this guide. Official logistics and objectives live on the Infrastructure Automation page; official study order lives on the 004 tutorial path.
Which topic does HashiCorp's official 003-to-004 exam-updates summary list as a new 004 topic?
How should a candidate treat Terraform Associate (004) domain weights when planning study hours?
How does HashiCorp Certified: Terraform Associate (004) differ from Terraform Authoring and Operations Professional?