| 1. Infrastructure as Code (IaC) with Terraform | Why IaC beats manual provisioning, and what Terraform specifically adds: multi-cloud support, state, plan-before-apply, and a provider ecosystem. |
| 2. Terraform fundamentals | Providers, how Terraform finds and installs them, versioning, and the role of state in mapping configuration to real infrastructure. |
| 3. Core Terraform workflow | Write, plan, apply. Initializing with terraform init, validating, formatting, planning, applying, and destroying, plus what each command actually changes. |
| 4. Terraform configuration | HCL: variables, outputs, locals, data sources, resource dependencies including depends_on, lifecycle rules, custom conditions for validation, ephemeral values, secure secret injection, and expressions and functions. |
| 5. Terraform modules | Consuming modules from the registry, module inputs and outputs, versioning modules, and writing your own. |
| 6. Terraform state management | Local versus remote state, backends, locking, sensitive data in state, state drift, and the state subcommands you use when reality and configuration disagree. |
| 7. Maintain infrastructure with Terraform | Day-2 work: changing and refactoring configuration safely, importing existing resources, moving resources, and taint-and-replace style workflows. |
| 8. HCP Terraform | What HCP Terraform adds over the CLI: remote runs, workspaces and how to organize them, variables, team workflows, and policy enforcement. |