Course Code: tabsp2
Duration: 21 hours
Prerequisites:
a:0:{}
Course Outline:

- Introduction
  - Traditional IT & Challenges
  - The What and Why of IaC ?
  - What is Terraform ?
  - Terraform Key Features
  - Configuration Management vs Provisioning

- Getting Started
  - Terraform Architecture
  - Terraform Workflow
  - Installing and configuring Terraform

- Coding Techniques and Optimization
  - HCL Syntax and Operators
  - Terraform Repository Layout Best Practices
  - Using Multiple Providers
  - Defining Input Variables
  - Enforcing Input Variables Types
  - Using Input Variables
  - Resource Attribute Reference
  - Defining Dependencies
  - Output Variables
  - Data Sources
  - Meta Arguments
    - depends_on and lifecycle
    - count
    - for_each
  - Common Functions
  - Terraform Templating
  - Version Constraints
  - Additional Terraform Commands

- Terraform with Azure
  - Introducing Azure Cloud
  - Configuring Terraform for Azure
  - Creating Azure Resources in Terraform

- Building Terraform Modules
  - Introduction to Modules
  - Creating and Using Modules
  - Implementing Terraform Remote State with Azure
  - Publishing Terraform Modules
  - Using Modules from a Registry
 
- Conclusion