Key Terraform Associate terms in plain English. Understanding what each concept does - and how the workflow and state fit together - is exactly what the exam tests.
| Term | Definition |
|---|---|
| Infrastructure as code (IaC) | Defining and managing infrastructure through configuration files so it is versioned, repeatable and reviewable. |
| Terraform | An open-source IaC tool that provisions infrastructure across many providers using a declarative configuration and a plan/apply workflow. |
| HCL | HashiCorp Configuration Language: the declarative language used to write Terraform configurations. |
| Provider | A plugin that lets Terraform manage a platform’s resources, such as AWS, Azure or Google Cloud. |
| Resource | A block describing a piece of infrastructure Terraform creates and manages, such as a virtual machine. |
| Data source | A block that reads existing information from a provider without creating anything. |
| terraform init | The command that initialises a working directory and downloads the required providers. |
| terraform plan | The command that previews the changes Terraform will make to reach the desired state, without applying them. |
| terraform apply | The command that makes the changes described by the configuration and plan. |
| terraform destroy | The command that removes the infrastructure Terraform manages. |
| State | Terraform’s record of the real-world resources it manages, used to map configuration to reality. |
| State file | The file (often terraform.tfstate) that stores the current state. |
| Remote state | State stored in a shared backend so a team can collaborate safely. |
| State locking | A mechanism that prevents concurrent operations from corrupting the state. |
| Backend | The configuration that determines where state is stored and, sometimes, where operations run. |
| Module | A reusable, parameterised group of resources that can be called with inputs and expose outputs. |
| Public registry | The Terraform Registry, a source of official and community modules and providers. |
| Input variable | A parameter that lets you pass values into a configuration or module. |
| Output value | A value a configuration or module exposes after apply, such as an IP address. |
| Built-in function | A function provided by Terraform (for strings, numbers, collections and more) used within configuration. |
| Dependency | A relationship between resources; Terraform infers order from references, or you set it explicitly with depends_on. |
| terraform import | A command that brings existing, unmanaged infrastructure under Terraform’s management in state. |
| Workspace | A way to maintain multiple distinct states from the same configuration, for example per environment. |
| HCP Terraform | HashiCorp’s managed service (formerly Terraform Cloud) for remote runs, shared state and collaboration. |