Terraform Associate 003 vs 004: What's Changed and How to Transition

HashiCorp released the Terraform Associate 004 exam on January 8, 2026, replacing the 003 version.
If you’ve been studying for 003 or hold the 003 certification, this guide breaks down exactly what’s changed, what’s new, and how to update your study plan.
______
Quick Summary
- Terraform Version: 003 tested on 1.3 → 004 tests on 1.12
- Release Date: 004 launched January 8, 2026
- Exam Duration: 60 minutes (unchanged)
- Question Types: True/False, Multiple Choice, Multiple Answer (unchanged)
- Validity: 2 years (unchanged)
- Proctoring: Certiverse (unchanged)
Bottom line: The exam format stays the same, but content has been updated to reflect Terraform 1.12 features and enhanced HCP Terraform coverage.
📚 Already prepared for 003? Our Terraform Associate 004 Study Notes on CloudFluently are fully updated for the new exam — no need to start from scratch.
______
Key Dates to Remember
- December 9, 2025: Scheduling for 004 opened
- January 7, 2026: Last day to take the 003 exam
- January 8, 2026: 004 exam launched
Important: If you fail the 003 exam near its retirement date, your retake will be on the 004 version.
______
What’s NEW in 004
These topics were added or significantly expanded in the 004 exam:
1. Lifecycle Rules (Objective 4f)
The 004 exam explicitly tests your understanding of:
depends_onmeta-argument for explicit dependenciescreate_before_destroylifecycle rule- Other lifecycle behaviors (
prevent_destroy,ignore_changes)
What to study:
1resource "aws_instance" "example" {
2 # ... configuration ...
3
4lifecycle {
5 create_before_destroy = true
6 prevent_destroy = false
7 ignore_changes = [tags]
8 }
9}
10resource "aws_instance" "dependent" {
11 # Explicit dependency
12 depends_on = [aws_instance.example]
13}2. Custom Conditions for Validation (Objective 4g)
New emphasis on validating configuration using custom conditions:
- Input variable validation
- Preconditions and postconditions
- Check blocks for infrastructure validation
What to study:
1variable "instance_type" {
2 type = string
3 validation {
4 condition = contains(["t2.micro", "t2.small"], var.instance_type)
5 error_message = "Instance type must be t2.micro or t2.small."
6 }
7}
8
9resource "aws_instance" "example" {
10 # ... configuration ...
11 lifecycle {
12 precondition {
13 condition = data.aws_ami.example.architecture == "x86_64"
14 error_message = "Selected AMI must use x86_64 architecture."
15 }
16 }
17}3. Ephemeral Values and Write-Only Arguments
Managing transient/sensitive data securely:
- Understanding ephemeral resources
- Write-only arguments that don’t persist in state
- Secure handling of secrets and credentials
4. Enhanced HCP Terraform Coverage (Objective 8c)
Expanded focus on organizing and using HCP Terraform:
- Workspaces : Creating, managing, connecting workspaces
- Projects : Organizing workspaces into projects
- Run Triggers : Connecting workspaces with dependencies
- Variable Sets : Managing variables across workspaces
- Explorer : Workspace visibility features
- Change Requests : Collaboration features
______
What’s CHANGED in 004
These topics existed in 003 but have been refined or reorganized:
- Resource Dependencies: 003 had basic
depends_onmention → 004 has dedicated objective (4f) with full lifecycle rules coverage - Configuration Validation: 003 had limited coverage → 004 has full objective (4g) with custom conditions
- HCP Terraform: 003 covered general features → 004 has specific focus on workspaces, projects, and organization
- State Management: 003 covered backends and locking → 004 adds drift detection emphasis
- Sensitive Data: 003 had basic coverage → 004 enhanced with Vault integration patterns
______
What STAYED the Same
Good news - the core Terraform knowledge transfers directly:
No changes needed for:
- Infrastructure as Code concepts (Objective 1)
- Terraform fundamentals and providers (Objective 2)
- Core workflow: init, plan, apply, destroy (Objective 3)
- Resources and data sources (Objective 4a-4e)
- Variables, outputs, functions, expressions (Objective 4c-4e)
- Modules basics (Objective 5)
- State management fundamentals (Objective 6)
- Import, CLI inspection, logging (Objective 7)
______
Objective Mapping
Domain 1: Infrastructure as Code
- 1a: Explain what IaC is → ✅ Same
- 1b: Describe advantages of IaC → ✅ Same
- 1c: Multi-cloud, hybrid cloud workflows → 🆕 New in 004
Domain 2: Terraform Fundamentals
- 2a: Install and version providers → ✅ Same
- 2b: Describe how Terraform uses providers → ✅ Same
- 2c: Write config using multiple providers → ✅ Same
- 2d: Explain how Terraform manages state → ✅ Same
Domain 3: Core Workflow
- init, validate, plan, apply, destroy, fmt → ✅ Same
Domain 4: Configuration
- 4a: Resources and data blocks → ✅ Same
- 4b: Cross-resource references → ✅ Same
- 4c: Variables and outputs → ✅ Same
- 4d: Complex types → ✅ Same
- 4e: Dynamic configuration (functions/expressions) → ✅ Same
- 4f: Resource dependencies + lifecycle → 🔄 Enhanced (was basic
depends_onmention) - 4g: Custom conditions validation → 🆕 New in 004
- 4h: Sensitive data + Vault → 🔄 Enhanced
Domain 5: Modules
- 5a: How Terraform sources modules → ✅ Same
- 5b: Variable scope within modules → ✅ Same
- 5c: Use modules in configuration → ✅ Same
- 5d: Manage module versions → ✅ Same
Domain 6: State Management
- 6a: Local backend → ✅ Same
- 6b: State locking → ✅ Same
- 6c: Remote state with backend block → ✅ Same
- 6d: Drift and state management → 🔄 Enhanced
Domain 7: Maintain Infrastructure
- 7a: Import infrastructure → ✅ Same
- 7b: CLI to inspect state → ✅ Same
- 7c: Verbose logging → ✅ Same
Domain 8: HCP Terraform
- 8a: Create infrastructure with HCP → ✅ Same
- 8b: Collaboration and governance → 🔄 Enhanced
- 8c: Workspaces and projects organization → 🆕 New in 004
- 8d: HCP Terraform integration → ✅ Same
_______
If You Studied for 003, Here’s What to Add
Minimum additions (1–2 days of study):
- Lifecycle rules deep dive
- Practice using
depends_on,create_before_destroy,prevent_destroy,ignore_changes - Understand when to use explicit vs implicit dependencies
2. Custom conditions
- Variable validation blocks
- Preconditions and postconditions in resources
- Check blocks for infrastructure validation
3. HCP Terraform organization
- Projects and how they organize workspaces
- Run triggers between workspaces
- Variable sets across workspaces
- Explorer and Change Requests features
4. Ephemeral values
- Understand write-only arguments
- How Terraform handles transient sensitive data
💡 Quick Prep: Our Terraform Associate 004 Study Notes on CloudFluently cover all these new topics in detail. Validate your knowledge with our Practice Exams that include 004-specific questions.
______
Study Resources for New 004 Topics
CloudFluently (Free)
- Terraform Associate 004 Study Notes : Comprehensive notes covering all 8 exam objectives
- Terraform Associate 004 Practice Exams : Test your knowledge with exam-style questions
Official HashiCorp Documentation
- Resource Lifecycle : Lifecycle rules
- depends_on Meta-Argument : Explicit dependencies
- Validate Modules with Custom Conditions : Custom conditions
- Use Checks to Validate Infrastructure : Check blocks
- Organize Workspaces with Projects : HCP Projects
- Variable Sets : Variable Sets
______
Transition Checklist
If you were preparing for 003, use this checklist to upgrade your prep:
- Review lifecycle meta-arguments (
create_before_destroy,prevent_destroy,ignore_changes) - Practice explicit dependencies with
depends_on - Learn variable validation syntax
- Understand preconditions and postconditions
- Explore check blocks for infrastructure validation
- Study HCP Terraform Projects feature
- Review Run Triggers between workspaces
- Understand Variable Sets
- Learn about ephemeral values and write-only arguments
Good luck with your certification!
TAGS
Want to learn more?
Check out these related courses to dive deeper into this topic


