HashiCorp Terraform Associate (004)
Build infrastructure as code: providers, the plan/apply workflow, variables and modules, state, import and HCP Terraform — with a real Azure project. Phase 3 of my path.
- Course by
- HashiCorp
- Course code
- Terraform Associate 004
- Version
- Terraform 1.12
- Lessons
- 65
- Official courseTerraform Associate (004) study guide and exam content list
- Best bookTerraform: Up & Running (3rd edition) — Yevgeniy Brikman, O'Reilly 2022
- ExamTerraform Associate (004) — multiple choice, 1 hour, tests Terraform 1.12 and HCP Terraform
These summaries follow the public outline of the course. I wrote every lesson in my own words and tested the commands on RHEL 10. They are not Red Hat training material. Take the official course for the full content and the hands-on labs.
Parts and chapters
Part 1
Basics and workflow
Part 2
Write configuration
- 4Write resources, data sources, variables and outputsObjective 4a–4c: resources, references, variables and outputs6 lessons
- 5Use complex types, expressions and functionsObjective 4d–4e: complex types, expressions and functions5 lessons
- 6Control order, lifecycle and custom conditionsObjective 4f–4g: dependencies and custom conditions4 lessons
- 7Handle sensitive data and secretsObjective 4h: sensitive data and secrets management with Vault5 lessons
Part 3
Modules and state
Part 4
HCP Terraform and a real project
Part 5
Review
What you learn
The main skills of the course and the chapter where you learn each one.
1–3: IaC, fundamentals and the core workflow
- Explain IaC and how Terraform works across cloudsChapter 1 Understand Infrastructure as Code and Terraform
- Install, version and use providers (also several)Chapter 2 Install and use providers, and understand state
- init, validate, plan, apply, destroy and fmtChapter 3 Use the core workflow from init to destroy
4: Terraform configuration
- resource and data blocks, references, variables and outputsChapter 4 Write resources, data sources, variables and outputs
- Complex types, expressions, functions and dynamic blocksChapter 5 Use complex types, expressions and functions
- Dependencies, lifecycle and custom conditionsChapter 6 Control order, lifecycle and custom conditions
- Sensitive data and secrets with VaultChapter 7 Handle sensitive data and secrets
5–7: Modules, state and maintenance
- Use and version modulesChapter 8 Reuse code with modules
- Local and remote state, locking and driftChapter 9 Manage state, backends, locking and drift
- Import resources, inspect state, verbose logsChapter 10 Import, refactor and debug existing infrastructure
8: HCP Terraform
- Workspaces, projects, runs, policies and VCS integrationChapter 11 Run Terraform in HCP Terraform