This repository contains a collection of Terraform-based projects, designed and implemented by HumayunBashirAwan covering various concepts and scenarios to help you master Terraform with hands-on demos.
- Infrastructure as Code (IaC) Overview
- Installing Terraform on Different OS (MacOS, Linux, Windows)
- Basic Terraform Commands
- Language Syntax and Settings
- Providers and Multiple Providers Usage
- Understanding Dependency Lock File
- Resource Syntax & Behavior
- Key Resource Meta-Arguments (depends_on, count, for_each)
- Working with Virtual Machines (Azure Linux VM)
- Lifecycle Management (create_before_destroy, prevent_destroy, ignore_changes)
- Input Variables (Basics, Lists, Maps, Validation)
- Output Values and Usage with Meta-Arguments
- Local Values and Conditional Expressions
- Data Sources and Remote State Management
- Terraform State Commands
- CLI Workspaces (Local & Remote)
- Provisioners (File, local-exec, remote-exec)
- Modules (Creating, Publishing, Using Public/Private Registry)
- Terraform Cloud (VCS and CLI Driven Workflows)
- Sentinel Policies and Cost Control
- Dynamic Blocks & Terraform Functions
element(),file(),filebase64(),toset()length(),lookup(),substr(),contains()lower(),upper(),regex(),can()keys(),values(),sum()
- Master Terraform with hands-on demos created by Humayun Bashir Awan
- Deep dive into Terraform resource behavior using various Meta-Arguments.
- Learn all possible ways to implement Terraform Input Variables.
- Work with Terraform State, Remote Backends, and Cloud Backends.
- Implement Terraform CLI Workspaces, Provisioners, and Modules.
- Manage Terraform Projects with Dynamic Blocks and Sentinel Policies.
- Explore the integration of Terraform with Azure Cloud and various use cases.
- Azure Cloud Account: Required to follow along with hands-on demos.
- No prior Terraform knowledge required: This course covers everything from basic concepts to advanced use cases.
