AI Instructor Live Labs Included

Terraform Fundamentals

Learn Infrastructure as Code with Terraform — HCL syntax, providers, resources, variables, state management, modules, and expressions.

Beginner
16h 25m
16 Lessons
TF-100
Terraform Fundamentals Badge

View badge details

About This Course

Master Terraform from first principles. This hands-on course teaches HCL syntax, provider configuration, resource management, input variables with validation, state management, reusable modules, expressions, functions, and dynamic blocks. All exercises run locally on a Linux VM no cloud account needed. The capstone builds a complete multi-environment infrastructure project. Course 1 of 2 in the Terraform Learning Path.

Course Curriculum

16 Lessons
01
AI Lesson
AI Lesson

What is Infrastructure as Code

30m
02
Lab Exercise
Lab Exercise

What is Infrastructure as Code - Lab Exercises

1h 15m 1 Exercises

Why IaC matters (manual vs automated), IaC benefits (consistency, version control, repeatability), Terraform overview (providers, open-source, declarative), comparing Terraform vs Bicep vs CloudFormation vs Pulumi, installing Terraform and verifying with terraform version

Understanding Infrastructure as Code with Terraform Basics Understanding Infrastructure as Code with Terraform Basics ~30 min
03
AI Lesson
AI Lesson

HCL Syntax and Your First Configuration

35m
04
Lab Exercise
Lab Exercise

HCL Syntax and Your First Configuration - Lab Exercises

1h 45m 2 Exercises

HCL blocks (resource, provider, variable, output, data, locals), arguments and attributes, terraform init/plan/apply/destroy workflow, .tf file structure, creating local files with local_file resource, terraform.tfstate basics

HCL Syntax and Your First Configuration HCL Syntax and Your First Configuration ~30 min
Understanding HCL Data Types and Variables Understanding HCL Data Types and Variables ~30 min
05
AI Lesson
AI Lesson

Providers and Resources

35m
06
Lab Exercise
Lab Exercise

Providers and Resources - Lab Exercises

1h 45m 2 Exercises

Provider configuration and versioning (required_providers, version constraints), resource blocks (type, name, arguments), resource dependencies (implicit via references, explicit via depends_on), resource lifecycle (create_before_destroy, prevent_destroy, ignore_changes), data sources for reading existing infrastructure

Understanding Providers and Resources in Terraform Understanding Providers and Resources in Terraform ~30 min
Provider Configuration and Resource Dependencies Provider Configuration and Resource Dependencies ~30 min
07
AI Lesson
AI Lesson

Variables and Outputs

35m
08
Lab Exercise
Lab Exercise

Variables and Outputs - Lab Exercises

1h 45m 2 Exercises

Input variables (type, default, description, validation, sensitive), variable types (string, number, bool, list, map, object, tuple), variable precedence (CLI, env, tfvars, default), output values for exposing data, local values for computed expressions, terraform.tfvars and auto.tfvars files

Variables and Outputs Variables and Outputs ~30 min
Environment-Based Variable Configuration and Output Formatting Environment-Based Variable Configuration and Output Formatting ~30 min
09
AI Lesson
AI Lesson

State Management

30m
10
Lab Exercise
Lab Exercise

State Management - Lab Exercises

1h 15m 1 Exercises

What state is and why it matters, terraform.tfstate file structure, state commands (list, show, mv, rm, pull, push), state locking and why it prevents corruption, remote state backends (concept — local for now, Azure in next course), terraform refresh and state drift detection

Understanding Terraform State Management Understanding Terraform State Management ~30 min
11
AI Lesson
AI Lesson

Modules

35m
12
Lab Exercise
Lab Exercise

Modules - Lab Exercises

1h 45m 2 Exercises

Why modules (DRY, reusability, encapsulation), module structure (main.tf, variables.tf, outputs.tf), calling modules (source, version), local modules vs registry modules, module inputs and outputs, terraform get and module caching

Building Reusable Infrastructure with Terraform Modules Building Reusable Infrastructure with Terraform Modules ~30 min
Module Versioning and Registry Management Module Versioning and Registry Management ~30 min
13
AI Lesson
AI Lesson

Expressions Functions and Dynamic Blocks

35m
14
Lab Exercise
Lab Exercise

Expressions Functions and Dynamic Blocks - Lab Exercises

1h 15m 1 Exercises

String interpolation and templates, built-in functions (file, length, lookup, merge, flatten, try, can), conditional expressions (condition ? true : false), for expressions and for_each, dynamic blocks for repeated nested blocks, count vs for_each tradeoffs

Terraform Expressions, Functions, and Dynamic Blocks Terraform Expressions, Functions, and Dynamic Blocks ~30 min
15
AI Lesson
AI Lesson

Capstone Briefing Multi-Environment Infrastructure

30m
16
Lab Exercise
Lab Exercise

Capstone Multi-Environment Infrastructure

1h 15m 1 Exercises

Capstone: build a complete local IaC project using everything learned — modules for networking/compute/storage (using local/random/null providers), variables with validation, outputs, workspaces for dev/staging/prod, state management, DRY code with modules and for_each

Capstone: Build a Multi-Environment Infrastructure Capstone: Build a Multi-Environment Infrastructure ~30 min

This course includes:

  • 24/7 AI Instructor Support
  • Live Lab Environments
  • 8 Hands-on Lessons
  • Completion Badge
Terraform Fundamentals Badge

Earn Your Badge

Complete all lessons to unlock the Terraform Fundamentals achievement badge.

Category
Skill Level Beginner
Total Duration 16h 25m
Terraform Fundamentals Badge
Achievement Badge

Terraform Fundamentals

Demonstrates proficiency in Terraform — HCL syntax, providers, resources, variables, state management, modules, and expressions.

Course Terraform Fundamentals

Skills You'll Earn

Terraform HCL Infrastructure as Code Providers State Management Modules

Complete all lessons in this course to earn this badge