Why Study with PlanetCert?
The Latest Questions
Practice questions and exam topics aligned with the current exam objectives.
Detailed Explanations
Go beyond the answer. Master the material with comprehensive learning and professional explanations for every concept.

AI-Powered Insights
Personalized preparation guidance that adapts to your performance and identifies weak spots automatically.
Exam Information
Official specifications published by Hashicorp
Exam Format
Registration
Validity
Skills this practice test covers
- Move a configuration through terraform init, validate, plan, apply and destroy.
- Pin provider versions with version constraints and the dependency lock file.
- Write resources, data sources, variables and outputs with type constraints and validation rules.
- Call registry and local modules, pass inputs to them and read their outputs.
- Configure remote state and state locking, and check for drift in refresh-only mode.
- Organize HCP Terraform workspaces, projects and variable sets, and choose a run workflow.
Explore related topics
TA-004 exam content
8 domains · 38 topics · 132 questions
Infrastructure as Code (IaC) with Terraform11 questions
This domain sets out why teams define infrastructure in code. Candidates explain the declarative approach, the benefits of IaC patterns, and how providers let one workflow manage multi-cloud and hybrid cloud resources.
Skills tested
- Explain how declarative configuration differs from changing infrastructure by hand.
- Describe how IaC supports version control, collaboration and repeatable builds.
- Explain how providers let Terraform manage several clouds and services in one configuration.
Questions by topic
- Describe the advantages of IaC patterns4
- Explain how Terraform manages multi-cloud, hybrid cloud, and service-agnostic workflows4
- Explain what IaC is3
Terraform Fundamentals17 questions
This domain covers the parts under every configuration: providers and their versions, and the state that maps resources to real infrastructure. It also stresses that state holds sensitive values in plain text.
Skills tested
- Install providers with terraform init and pin them with version constraints.
- Explain how the dependency lock file keeps provider versions reproducible.
- Use provider aliases to configure the same provider more than once.
- Describe what the state file stores and why it must be protected.
Questions by topic
- Install and version Terraform providers7
- Explain how Terraform uses and manages state5
- Write Terraform configuration using multiple providers3
- Describe how Terraform uses providers2
Core Terraform Workflow18 questions
This domain follows the write, plan and apply loop through the CLI. Candidates know what each command does, what it creates and when it must run again.
Skills tested
- Initialize a working directory and know when terraform init must be re-run.
- Check a configuration with terraform validate and format it with terraform fmt.
- Read a plan to see what will be created, changed or destroyed, and apply a saved plan file.
- Destroy managed infrastructure, or target selected resources for destruction.
Questions by topic
- Generate and review an execution plan for Terraform5
- Apply formatting and style adjustments to a configuration3
- Validate a Terraform configuration3
- Destroy Terraform-managed infrastructure2
- Apply changes to infrastructure with Terraform3
- Describe the Terraform workflow1
- Initialize a Terraform working directory1
Terraform Configuration31 questions
This domain has the most objectives. It covers the HCL inside a configuration, from resource and data blocks to expressions, dependencies, custom conditions and the safe handling of secrets.
Skills tested
- Choose between a resource block and a data block, and reference attributes across resources.
- Declare input variables with complex types, and expose output values.
- Write conditional, for and splat expressions, and test them in terraform console.
- Control ordering with depends_on and lifecycle rules such as create_before_destroy.
- Add preconditions, postconditions, check blocks and variable validation rules.
Questions by topic
- Use and differentiate `resource` and `data` blocks3
- Use variables and outputs3
- Understand and use complex types2
- Write dynamic configuration using expressions and functions4
- Define resource dependencies in configuration5
- Validate configuration using custom conditions8
- Understand best practices for managing sensitive data, including secrets management with Vault3
- Manage resource drift and Terraform state1
- Import existing infrastructure into your Terraform workspace1
- Refer to resource attributes and create cross-resource references1
Terraform Modules15 questions
Modules package configuration for reuse. Candidates source modules from the registry and other locations, pass variables into child modules, read their outputs and pin module versions.
Skills tested
- Call a module from a local path or a registry source with a module block.
- Pass input variables to a child module and use its output values in the root module.
- Set version constraints for registry modules with operators such as ~>.
- Apply count and for_each to module blocks.
Questions by topic
- Explain how Terraform sources modules4
- Describe variable scope within modules4
- Manage module versions3
- Use modules in configuration4
Terraform State Management15 questions
This domain is about keeping state safe and correct. Candidates compare the local backend with remote backends, explain state locking, and handle drift and refactoring without destroying resources.
Skills tested
- Configure remote state with the backend block and migrate state from the local backend.
- Explain which operations take a state lock and how to resolve a lock conflict.
- Detect drift with refresh-only mode.
- Refactor with moved blocks, and stop managing a resource with a removed block.
Questions by topic
- Describe state locking5
- Manage resource drift and Terraform state7
- Describe the local backend2
- Configure remote state using the backend block1
Maintain Infrastructure with Terraform12 questions
This domain covers work on infrastructure that already exists. Candidates bring resources under Terraform with import, inspect state from the CLI and turn on debug logging to find faults.
Skills tested
- Import existing resources with terraform import or an import block, and write matching configuration.
- Inspect state with terraform state list and terraform state show.
- Enable debug logging, choose a log level and send the output to a file.
Questions by topic
- Import existing infrastructure into your Terraform workspace2
- Use the CLI to inspect state7
- Describe when and how to use verbose logging3
HCP Terraform13 questions
HCP Terraform runs Terraform as a managed service for teams. Candidates choose a CLI-driven, VCS-driven or API-driven workflow, organize workspaces into projects, and use its collaboration and governance features.
Skills tested
- Connect a configuration with the cloud block and authenticate with terraform login.
- Share settings across workspaces with variable sets, and link workspaces with run triggers.
- Explain policy enforcement with Sentinel and OPA, and drift detection with health assessments.
- Publish modules and providers to the private registry.
Questions by topic
- Describe how to organize and use HCP Terraform workspaces and projects7
- Describe HCP Terraform collaboration and governance features4
- Use HCP Terraform to create infrastructure2
Requirements
- No formal prerequisites: anyone can book the exam.
- Recommended: comfort with a command-line terminal and a working knowledge of cloud and on-premises architecture.
- Recommended: professional Terraform experience; practice in a personal demo environment may be enough.
About the TA-004 exam
HashiCorp's TA-004 exam checks that an engineer can write Terraform configuration, then plan, apply and track each change to real infrastructure. Its eight domains run from infrastructure as code ideas and providers to the core workflow, modules, state and HCP Terraform. Terraform Configuration has the most objectives, including custom conditions, lifecycle rules, ephemeral values and write-only arguments. Passing earns the HashiCorp Certified: Terraform Associate certification, which is valid for two years.
The PlanetCert practice test covers all eight domains, and custom conditions are among its most frequent topics. The explanations show what Terraform does at each step, for example why terraform validate does not access remote state or APIs. Study Mode helps with the state questions, where commands such as terraform show and terraform state show look alike. Brainy AI Assistant can read a plan output with a candidate or explain the difference between a moved block and a removed block.
How to earn the certification
- Earns
- HashiCorp Certified: Terraform AssociateAssociate
The certification is valid for two years from the date of passing.
- After
- TAO-Pro Terraform Authoring and Operations Professional
HashiCorp's professional Terraform exam and the next step in the track. Passing it also renews the Associate certification.
- TAO-Pro Terraform Authoring and Operations Professional
How to prepare for TA-004
- 1
Keep a small lab configuration
Install Terraform and write a small configuration with one provider. Apply it, change it and destroy it until the write, plan and apply loop feels routine.
- 2
Feed bad input to custom conditions
Terraform Configuration has the most objectives. Add a precondition, a check block and a variable validation rule, then give them bad values and read the message each one returns.
- 3
Move the state to a remote backend
Migrate the lab's state from the local backend to a remote one, then start two runs at once to see state locking. Practise moved, removed and import blocks on the same project.
- 4
Connect the lab to HCP Terraform
Use the cloud block and terraform login to link the project to an HCP Terraform workspace. Then group workspaces into a project and share values with a variable set.
- 5
Drill commands, then time a full run
Use Flashcard Mode for look-alike commands such as terraform show and terraform state show. Then take the TA-004 practice test in Timed Mode and ask Brainy AI Assistant about each missed plan or state question.
Start a timed TA-004run
Who TA-004 is for
- Cloud and platform engineers who write Terraform for their team's infrastructure.
- System administrators who are replacing manual server and network setup with code.
- Developers who review Terraform changes before they reach production.
- Terraform users preparing for the step up to Terraform Authoring and Operations Professional.
Typical job titles: Cloud engineer · DevOps engineer · Platform engineer · Site reliability engineer · Infrastructure engineer · Systems administrator
TA-004 glossary
20 terms from the exam objectives and the vendor's official material, each defined in a sentence.
- Check blocks
- Blocks that test conditions about the infrastructure during a plan or apply and report a failed check as a warning.
- create_before_destroy lifecycle rule
- A lifecycle setting that builds the replacement resource before Terraform destroys the old one.
- data block
- A block that reads information about existing infrastructure for use in a configuration, without managing that infrastructure.
- Dependency lock file (.terraform.lock.hcl)
- The file that terraform init writes to record the exact provider versions chosen, so later runs use the same ones.
- depends_on meta-argument
- A setting that makes Terraform handle one resource after another when no reference between them shows the order.
- Ephemeral values
- Values that Terraform uses during a run but never writes to the plan or state files.
- Execution plan
- The list of actions that terraform plan proposes, showing which resources it will create, change or destroy.
- HCL
- HashiCorp Configuration Language, the declarative language in which Terraform configuration files are written.
- HCP Terraform
- HashiCorp's hosted service that runs Terraform for teams, with remote state, workspaces and policy controls.
- Import block
- A declarative block that brings an existing resource under Terraform management during a normal plan and apply.
- Infrastructure as Code (IaC)
- Managing infrastructure through configuration files that are versioned and reviewed like code, instead of through manual changes.
- Moved blocks
- Blocks that tell Terraform a resource has a new address, so it updates state instead of destroying and recreating the resource.
- Refresh-only mode
- A plan or apply mode that updates state to match the real infrastructure without changing any resources.
- Removed blocks
- Blocks that take a resource out of state without destroying the real infrastructure.
- Run triggers
- Links in HCP Terraform that start a run in one workspace after another workspace applies its changes.
- Sentinel
- HashiCorp's policy as code framework, which HCP Terraform uses to check a run against rules before it applies.
- Splat expressions
- A short form, written with [*], that collects one attribute from every element of a list.
- State locking
- A lock on the state during operations that could write to it, so two runs cannot change it at the same time.
- Variable sets
- Groups of variables in HCP Terraform that can be applied to many workspaces or projects at once.
- Write-only arguments
- Resource arguments that accept a value, such as a password, without Terraform storing it in state.
Related practice tests
- Vault-Associate-003HashiCorp Certified Vault Associate 003
- CA-003HashiCorp Certified: Consul Associate (003)
- Terraform AssociateTerraform Associate (003)
- terraform-associate-003HashiCorp Certified: Terraform Associate (003)
- VA-003HashiCorp Certified: Vault Associate (003)