Introduction
Infrastructure as Code Fundamentals
Terraform Cloud
Setting up environment
Azure Context for Terraform
HashiCorp Configuration Language
- Introduction
- HCL Syntax and Building Blocks
- Writing HCL Code
- Multiple Resources
- Update and Destroy Infrastructure
- Modular Structure
Terraform Providers
- Introduction
- Handling Providers
- Version Constraints
- Azure Providers azurerm vs azapi
- When to Use azurerm vs azapi
- Aliases
Variables
Outputs and Dependencies
Iteration and Logic
Advanced Constructs
Terraform State Fundamentals
Remote State
- Introduction
- What is Remote State
- Azure Storage Backend
- Backend Initialization Lifecycle
- Remote State Failure Modes
Terraform Workspaces
Terraform CLI
- Introduction
- Terraform Validate and fmt
- Terraform Show and Output
- Terraform Providers and Graph
- Terraform State and Refresh
- Terraform Import
Lifecycle Meta-Arguments
Data Sources
Provisioners
Debugging Terraform
Terraform Modules
- Introduction
- What is Terraform Module and why use it
- Module Structure explained
- Calling the module
- With and without modules
Azure DevOps Integration
- Introduction
- Why CICD for Terraform
- Terraform Workflow in CICD
- Azure DevOps Service Connections
- Remote Backend Usage in Pipelines