Terraform Associate cheat sheet
A one-page reference for the HashiCorp Certified: Terraform Associate (004) exam: the format, how the domains are weighted, and the glossary terms for this exam.
Exam at a glance
Vendor
HashiCorp
Level
Associate
Questions
57
Time
60 min
Mock pass mark
70%
Domains
8
Practice Qs
150
Code
Terraform Associate
Domain weightings
How much of the exam each domain covers. Spend your study time in proportion — the heavier the domain, the more questions you'll see.
Key terms
- Infrastructure as Code
- Infrastructure as Code (IaC) is the practice of defining and provisioning infrastructure through machine-readable configuration files rather than manual processes. It brings versioning, repeatability, and automation, and is the foundational concept the Terraform Associate exam builds on.
- Provider
- A provider is a Terraform plugin that lets Terraform manage resources on a specific platform such as AWS, Azure, or Google Cloud. Providers are declared in configuration and downloaded during terraform init from the Terraform Registry.
- Terraform Core Workflow
- The Terraform core workflow is the write, plan, and apply cycle: you write configuration, run terraform plan to preview changes, and terraform apply to make them. terraform init prepares a working directory and terraform destroy removes managed resources.
- Terraform Plan
- A Terraform plan is the output of terraform plan, which compares the desired configuration against current state and shows exactly what will be created, changed, or destroyed. Reviewing the plan before apply is central to safe Terraform use.
- Terraform State
- Terraform state is the file that maps your configuration to real-world resources and tracks metadata. Terraform uses it to plan changes; it can be stored locally or in a remote backend, and it may contain sensitive values.
- Remote Backend
- A remote backend is a configuration that stores Terraform state remotely — for example in HCP Terraform or an S3 bucket — instead of on local disk. Remote backends enable team collaboration, state locking, and secure storage.
- State Locking
- State locking is a mechanism that prevents concurrent Terraform operations from writing to the same state at once, avoiding corruption. Supported backends acquire a lock during apply and release it when finished.
- Module
- A module is a reusable, self-contained package of Terraform configuration with inputs (variables) and outputs. Modules can be sourced from the Terraform Registry or written yourself, and are the primary way to organize and reuse configuration.
- Terraform Registry
- The Terraform Registry is HashiCorp's public repository of providers and modules that Terraform downloads during initialization. It is how you consume official and community providers and reusable modules.
- Input Variable
- An input variable is a parameter that makes Terraform configuration flexible, defined with a type, optional default, and optional validation. Variables let the same configuration or module be reused with different values.
- Output Value
- An output value is a value a Terraform configuration or module exposes after apply, such as an IP address or resource ID. Outputs surface useful information and pass data between modules.
- Resource
- A resource is the most important element in Terraform configuration, describing one infrastructure object such as a virtual machine or DNS record. Resource meta-arguments like count, for_each, depends_on, and lifecycle control how resources are created.
- HCL
- HashiCorp Configuration Language (HCL) is the declarative language used to write Terraform configuration, supporting blocks, arguments, expressions, and built-in functions. The exam expects you to read and write HCL, including variables, outputs, and dynamic blocks.