Free Practice Questions for HashiCorp Terraform Associate 004 Certification

    🔄 Last checked for updates March 11th, 2026

    Study with 337 exam-style practice questions designed to help you prepare for the HashiCorp Terraform Associate 004.

    Start Practicing

    Random Questions

    Practice with randomly mixed questions from all topics

    Question MixAll Topics
    FormatRandom Order

    Domain Mode

    Practice questions from a specific topic area

    Exam Information

    Exam Details

    Key information about HashiCorp Terraform Associate 004

    Official study guide

    View

    Question formats CertSafari offers
    • Multiple choice
    • True/False
    • Fill in the blank

    Exam Topics & Skills Assessed

    Skills measured (from the official study guide)

    Domain 1: Infrastructure as Code (IaC) with Terraform

    Subdomain 1.1: Explain what IaC is

    What is Terraform? Infrastructure as Code in a Private or Public Cloud Introduction to Infrastructure as Code

    Subdomain 1.2: Describe the advantages of IaC patterns

    Why Terraform Infrastructure as Code in a Private or Public Cloud Introduction to Infrastructure as Code

    Subdomain 1.3: Explain how Terraform manages multi-cloud, hybrid cloud, and service-agnostic workflows

    Multi-Cloud Deployment Introduction to Infrastructure as Code

    Domain 2: Terraform fundamentals

    Subdomain 2.1: Install and version Terraform providers

    Providers Specifying Provider Requirements Dependency Lock File Provider Block Reference Lock and Upgrade Provider Versions Initialize Terraform Configuration

    Subdomain 2.2: Describe how Terraform uses providers

    Provider Block Reference Provider Overview Provider Requirements How Terraform Works with Plugins Initialize Terraform Configuration

    Subdomain 2.3: Write Terraform configuration using multiple providers

    Provider Block Reference Provider Requirements Define Infrastructure with Terraform Resources

    Subdomain 2.4: Explain how Terraform uses and manages state

    Purpose of Terraform State Manage Resources in Terraform State

    Domain 3: Core Terraform workflow

    Subdomain 3.1: Describe the Terraform workflow

    Core Terraform Workflow Create Infrastructure Create a Terraform Plan Apply Terraform Configuration Initialize Terraform Configuration

    Subdomain 3.2: Initialize a Terraform working directory

    Dependency Lock File Command: init Initialize Terraform Configuration

    Subdomain 3.3: Validate a Terraform configuration

    Command: validate Validate your Configuration

    Subdomain 3.4: Generate and review an execution plan for Terraform

    Resource Graph Command: plan Create a Terraform Plan

    Subdomain 3.5: Apply changes to infrastructure with Terraform

    Command: apply Apply Terraform Configuration

    Subdomain 3.6: Destroy Terraform-managed infrastructure

    Command: destroy Destroy Infrastructure

    Subdomain 3.7: Apply formatting and style adjustments to a configuration

    Command: fmt Format the Configuration

    Domain 4: Terraform configuration

    Subdomain 4.1: Use and differentiate resource and data blocks

    Resources Data Sources Query Data Sources

    Subdomain 4.2: Refer to resource attributes and create cross-resource references

    Resource Addressing References to Named Values Create Resource Dependencies

    Subdomain 4.3: Use variables and outputs

    Manage values in modules Output Block Reference Variable Block Reference Customize Terraform Configuration with Variables Output Data from Terraform

    Subdomain 4.4: Understand and use complex types

    Complex Types Customize Terraform Configuration with Variables

    Subdomain 4.5: Write dynamic configuration using expressions and functions

    Built-in Functions Create Dynamic Expressions Perform Dynamic Operations with Functions

    Subdomain 4.6: Define resource dependencies in configuration

    Resource Graph Create Resource Dependencies

    Subdomain 4.7: Validate configuration using custom conditions

    Validate Your Configuration Use Checks to Validate Infrastructure Validate Modules with Custom Conditions

    Subdomain 4.8: Understand best practices for managing sensitive data, including secrets management with Vault

    Manage Sensitive Data Vault Provider for Terraform Upgrade RDS Major Version Protect Sensitive Input Variables Inject Secrets into Terraform Using the Vault Provider

    Domain 5: Terraform modules

    Subdomain 5.1: Explain how Terraform sources modules

    Find and Use Modules Modules Overview Use Registry Modules in Configuration

    Subdomain 5.2: Describe variable scope within modules

    Module Block Reference Manage values in modules Build and Use a Local Module

    Subdomain 5.3: Use modules in configuration

    Module Composition Output Block Reference Manage values in modules Use Registry Modules in Configuration

    Subdomain 5.4: Manage module versions

    Module Block Reference: Version Argument Use Registry Modules in Configuration

    Domain 6: Terraform state management

    Subdomain 6.1: Describe the local backend

    Backend Block Configuration Backend Type: local Initialize Terraform Configuration

    Subdomain 6.2: Describe state locking

    State Storage and Locking State Locking

    Subdomain 6.3: Configure remote state using the backend block

    State Storage and Locking Backend Block Configuration

    Subdomain 6.4: Manage resource drift and Terraform state

    Terraform State Refactor Terraform State Refresh-Only Mode Removed Block Reference Moved Block Reference Manage Resource Drift Use Refresh-Only Mode

    Domain 7: Maintain infrastructure with Terraform

    Subdomain 7.1: Import existing infrastructure into your Terraform workspace

    Command: import Import Existing Resources Import Terraform Configuration

    Subdomain 7.2: Use the CLI to inspect state

    State Command Manage Resources in State

    Subdomain 7.3: Describe when and how to use verbose logging

    Debugging Terraform Enable Terraform Logging

    Domain 8: HCP Terraform

    Subdomain 8.1: Use HCP Terraform to create infrastructure

    Workspaces HCP Terraform Workflow HCP Terraform Overview Remote Operations HCP Terraform Get Started Collection

    Subdomain 8.2: Describe HCP Terraform collaboration and governance features

    Explorer HCP Private Registry Overview Change Requests Overview HCP Terraform Policy Enforcement Projects Overview Health HCP Terraform Teams Authenticate Providers with Dynamic Credentials Drift Detection Variable Sets Detect Drift and Enforce Policies Enforce OPA Policies

    Subdomain 8.3: Describe how to organize and use HCP Terraform workspaces and projects

    Run Triggers Variable Sets Projects Overview Connect Workspaces with Run Triggers Organize Workspaces with Projects

    Subdomain 8.4: Configure and use HCP Terraform integration

    Use CLI with HCP Terraform Connect to HCP Terraform Migrate Terraform State to HCP Terraform Remote Operations Command: login Migrate State to HCP Terraform Upgrade Terraform Version in HCP Terraform Collaborate Using HCP Terraform

    Techniques & products

    Infrastructure as Code (IaC)
    Terraform
    Private Cloud
    Public Cloud
    Multi-Cloud Deployment
    Hybrid Cloud Management
    Service-Agnostic Workflows
    Terraform Providers
    Dependency Lock File
    Provider Block
    Terraform Plugins
    Terraform State
    Terraform Workflow
    terraform init
    terraform validate
    terraform plan
    terraform apply
    terraform destroy
    terraform fmt
    Resource Blocks
    Data Blocks
    Resource Attributes
    Cross-Resource References
    Variables
    Outputs
    Complex Types
    Expressions
    Functions
    Resource Dependencies
    Custom Conditions
    Sensitive Data Management
    Secrets Management
    Vault Provider
    Terraform Modules
    Registry Modules
    Local Modules
    Backend Block
    Local Backend
    Remote State
    State Locking
    Resource Drift
    Refresh-Only Mode
    terraform import
    terraform state command
    Verbose Logging
    Debugging Terraform
    HCP Terraform
    Workspaces
    HCP Private Registry
    Change Requests
    Policy Enforcement
    Projects
    Teams
    Dynamic Credentials
    Drift Detection
    Variable Sets
    OPA Policies
    Run Triggers
    HashiCorp Configuration Language (HCL)

    CertSafari is not affiliated with, endorsed by, or officially connected to HashiCorp, Inc.. Full disclaimer