HashiCorp Terraform Associate 004 glossary of IaC, state, variables, modules, and workflow terms.
Use this glossary when Terraform workflow, state, module, and HCP Terraform terms start to blur together. Keep it beside the cheat sheet and resources instead of using it as a substitute for workflow practice.
| Term | Short meaning | Why it matters on 004 |
|---|---|---|
| State | Terraform’s record of managed infrastructure and attribute mapping | Core workflow and drift concept |
| Provider | Plugin that knows how to manage one platform or service family | Commonly confused with backend and module |
| Resource | Block that declares an infrastructure object Terraform should manage | Core creation and lifecycle term |
| Data source | Read-only lookup block for existing external information | Core contrast with resources |
| Backend | State storage and locking configuration mechanism | Core collaboration and safety term |
| Module | Reusable group of Terraform configuration files | Core structure and reuse term |
| Workspace | Separate Terraform state context for one configuration set | Core state-separation term |
| Project | HCP Terraform grouping layer for related workspaces | Current HCP Terraform organization term |
| Drift | Difference between Terraform state or config expectations and real infrastructure | Common troubleshooting concept |
| Plan | Preview of changes Terraform proposes before apply | Core review step |
| Apply | Terraform action that executes approved planned changes | Core side-effect step |
| Variable | Input value used to parameterize configuration | Core config input term |
| Output | Named exported value produced by a Terraform configuration | Core config return term |
| Import | Command or workflow that starts managing something that already exists | Common state and adoption concept |
| Lifecycle rule | Meta-argument that changes Terraform resource behavior | High-yield create_before_destroy and dependency topic |
| Validation condition | Rule that checks whether configuration input or output assumptions are acceptable | Current objective topic |
| Ephemeral value | Temporary value pattern introduced in newer Terraform behavior | Current 004 topic that candidates often skip |
| Write-only argument | Argument intended to be set without later reading the value back | Current objective topic |
| Pair | Keep this distinction clear |
|---|---|
| resource vs data source | managed object declaration versus read-only lookup |
| backend vs provider | state storage mechanism versus platform plugin |
| variable vs output | input into a configuration versus value returned from it |
| state drift vs plan change | unexpected external divergence versus intended configuration delta |
| module vs workspace | reusable code unit versus separate state context |
| workspace vs project | state instance separation versus higher-level HCP grouping |
| import vs apply | adopt an existing object versus create or change managed infrastructure |
| lifecycle rule vs dependency inference | explicit behavior override versus normal graph-based ordering |
Use these when a question feels wordy but is really testing one clean boundary:
| Cluster of terms | Keep this clean mental split |
|---|---|
| provider vs backend vs module | platform plugin vs state mechanism vs reusable config package |
| resource vs data source vs output | managed object vs read-only lookup vs exported value |
| drift vs plan vs import | unexpected divergence vs intended change preview vs adoption of existing object |
| local CLI vs remote backend vs HCP Terraform | local execution workflow vs state location and locking vs collaboration and governance platform |
| workspace vs project vs module | state separation vs HCP grouping vs reusable code |
| Topic family | Best page to revisit |
|---|---|
| workflow, state, and module rules | Cheat Sheet |
| current HashiCorp and Terraform references | Resources |
| pacing and review order | Study Plan |
| overall exam framing | Guide root |
Do not reread this glossary front to back. Use it when: