- Introduction to the Course and Certification
- Document - Code Repository
- Choosing a right Infrastructure as Code tool
- Installing Terraform - Windows Users
- Installing Terraform - MacOS and Linux Users
- Choosing Right IDE for Terraform IAC development
- Setting up AWS account
- Creating first EC2 instance with Terraform
- Terraform Code - First EC2 Instance
- Understanding Resources & Providers - NEW
- Understanding Resource & Providers - Part 2 NEW
- Destroying Infrastructure with Terraform (NEW)
- Understanding Terraform State files (NEW)
- Understanding Desired & Current States (NEW)
- Challenges with the current state on computed values (NEW)
- Terraform Provider Versioning
- Notes - Deploying Infrastructure with Terraform
- Overview of Course Lecture Format
- Understanding Attributes and Output Values in Terraform
- Referencing Cross-Account Resource Attributes
- Terraform Variables
- Approaches for Variable Assignment
- Data Types for Variables
- Fetching Data from Maps and List in Variable
- Count and Count Index
- Conditional Expressions
- Local Values
- Terraform Functions
- Data Sources
- Debugging in Terraform
- Terraform Format
- Validating Terraform Configuration Files
- Load Order & Semantics
- Dynamic Blocks
- Tainting Resources
- Splat Expressions
- Terraform Graph
- Saving Terraform Plan to File
- Terraform Output
- Terraform Settings
- Dealing with Large Infrastructure
- Zipmap Function
- Notes - Read, Generate, Modify Configuration
- Understanding Provisioners in Terraform
- Types of Provisioners
- Implementing remote-exec provisioners
- Implementing local-exec provisioners
- Creation-Time & Destroy-Time Provisioners
- Failure Behavior for Provisioners
- Notes - Terraform Provisioners
- Understanding DRY principle
- Implementing EC2 module with Terraform
- Variables and Terraform Modules
- Terraform Registry
- Terraform Workspace
- Implementing Terraform Workspace
- Notes - Module Section
- Integrating with GIT for team management
- Important Note
- Security Challenges in Commiting TFState to GIT
- Module Sources in Terraform
- Terraform and .gitignore
- Remote State Management with Terraform
- Implementing S3 Backend
- Challenges with State File locking
- Integrating DynamoDB with S3 for state locking
- Terraform State Management
- Importing Existing Resources with Terraform Import
- Document - Remote State Management
- Handling Access & Secret Keys the Right Way in Providers
- Terraform Provider UseCase - Resources in Multiple Regions
- Handling Multiple AWS Profiles with Terraform Providers
- Terraform & Assume Role with AWS STS
- Sensitive Parameter
- Document - Security Domain Notes
- Overview of Terraform Cloud
- Creating Infrastructure with Terraform Cloud
- Overview of Sentinel
- Document - Sentinel Resource
- Overview of Remote Backends
- Implementing Remote Backend Operations in Terraform Cloud
- Notes Section
- Overview of HashiCorp Exams
- Important Exam Portal Note
- Important Pointers for Exams - Part 01
- Important Pointers for Exams - Part 02
- Important Pointers for Exams - Part 03
- Important Pointers for Exams - Part 04
- Important Pointers for Exams - Part 05
- Important Pointers for Exams - Part 06