> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Course: Terraform On Azure

> Hands-on course teaching how to design, deploy, and automate Azure infrastructure using Terraform, covering HCL, state management, modules, and CI/CD pipelines.

Notes for the **Terraform On Azure** course: 94 lessons across 22 sections.

## Introduction

* [Course Introduction](/docs/Terraform-On-Azure/Introduction/Course-Introduction/page.md)

## Infrastructure as Code Fundamentals

* [Introduction](/docs/Terraform-On-Azure/Infrastructure-as-Code-Fundamentals/Introduction/page.md)
* [What is Infrastructure as Code](/docs/Terraform-On-Azure/Infrastructure-as-Code-Fundamentals/What-is-Infrastructure-as-Code/page.md)
* [Types of IaC Tools](/docs/Terraform-On-Azure/Infrastructure-as-Code-Fundamentals/Types-of-IaC-Tools/page.md)

## Terraform Cloud

* [Introduction](/docs/Terraform-On-Azure/Terraform-Cloud/Introduction/page.md)
* [What is Terraform Cloud](/docs/Terraform-On-Azure/Terraform-Cloud/What-is-Terraform-Cloud/page.md)
* [Terraform Cloud Plans](/docs/Terraform-On-Azure/Terraform-Cloud/Terraform-Cloud-Plans/page.md)
* [Self Hosted vs Terraform cloud](/docs/Terraform-On-Azure/Terraform-Cloud/Self-Hosted-vs-Terraform-cloud/page.md)

## Setting up environment

* [Introduction](/docs/Terraform-On-Azure/Setting-up-environment/Introduction/page.md)
* [Choose Your IDE](/docs/Terraform-On-Azure/Setting-up-environment/Choose-Your-IDE/page.md)
* [Installing Dependencies](/docs/Terraform-On-Azure/Setting-up-environment/Installing-Dependencies/page.md)
* [Installing Terraform](/docs/Terraform-On-Azure/Setting-up-environment/Installing-Terraform/page.md)
* [Authenticating to Azure](/docs/Terraform-On-Azure/Setting-up-environment/Authenticating-to-Azure/page.md)

## Azure Context for Terraform

* [Introduction](/docs/Terraform-On-Azure/Azure-Context-for-Terraform/Introduction/page.md)
* [Azure Concepts Terraform Operates On](/docs/Terraform-On-Azure/Azure-Context-for-Terraform/Azure-Concepts-Terraform-Operates-On/page.md)
* [Environment Separation in Azure](/docs/Terraform-On-Azure/Azure-Context-for-Terraform/Environment-Separation-in-Azure/page.md)

## HashiCorp Configuration Language

* [Introduction](/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/Introduction/page.md)
* [HCL Syntax and Building Blocks](/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/HCL-Syntax-and-Building-Blocks/page.md)
* [Writing HCL Code](/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/Writing-HCL-Code/page.md)
* [Multiple Resources](/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/Multiple-Resources/page.md)
* [Update and Destroy Infrastructure](/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/Update-and-Destroy-Infrastructure/page.md)
* [Modular Structure](/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/Modular-Structure/page.md)

## Terraform Providers

* [Introduction](/docs/Terraform-On-Azure/Terraform-Providers/Introduction/page.md)
* [Handling Providers](/docs/Terraform-On-Azure/Terraform-Providers/Handling-Providers/page.md)
* [Version Constraints](/docs/Terraform-On-Azure/Terraform-Providers/Version-Constraints/page.md)
* [Azure Providers azurerm vs azapi](/docs/Terraform-On-Azure/Terraform-Providers/Azure-Providers-azurerm-vs-azapi/page.md)
* [When to Use azurerm vs azapi](/docs/Terraform-On-Azure/Terraform-Providers/When-to-Use-azurerm-vs-azapi/page.md)
* [Aliases](/docs/Terraform-On-Azure/Terraform-Providers/Aliases/page.md)

## Variables

* [Introduction](/docs/Terraform-On-Azure/Variables/Introduction/page.md)
* [Defining Variables](/docs/Terraform-On-Azure/Variables/Defining-Variables/page.md)
* [Understanding Variable Block](/docs/Terraform-On-Azure/Variables/Understanding-Variable-Block/page.md)
* [Setting Variables](/docs/Terraform-On-Azure/Variables/Setting-Variables/page.md)
* [Variable Datatypes](/docs/Terraform-On-Azure/Variables/Variable-Datatypes/page.md)

## Outputs and Dependencies

* [Introduction](/docs/Terraform-On-Azure/Outputs-and-Dependencies/Introduction/page.md)
* [Resource Attributes and Dependencies](/docs/Terraform-On-Azure/Outputs-and-Dependencies/Resource-Attributes-and-Dependencies/page.md)
* [Resource Targeting](/docs/Terraform-On-Azure/Outputs-and-Dependencies/Resource-Targeting/page.md)
* [Output Variables](/docs/Terraform-On-Azure/Outputs-and-Dependencies/Output-Variables/page.md)

## Iteration and Logic

* [Introduction](/docs/Terraform-On-Azure/Iteration-and-Logic/Introduction/page.md)
* [Using count](/docs/Terraform-On-Azure/Iteration-and-Logic/Using-count/page.md)
* [Using for each](/docs/Terraform-On-Azure/Iteration-and-Logic/Using-for-each/page.md)
* [count vs for each](/docs/Terraform-On-Azure/Iteration-and-Logic/count-vs-for-each/page.md)
* [for Expressions](/docs/Terraform-On-Azure/Iteration-and-Logic/for-Expressions/page.md)
* [Conditional Expressions](/docs/Terraform-On-Azure/Iteration-and-Logic/Conditional-Expressions/page.md)

## Advanced Constructs

* [Introduction](/docs/Terraform-On-Azure/Advanced-Constructs/Introduction/page.md)
* [Using locals](/docs/Terraform-On-Azure/Advanced-Constructs/Using-locals/page.md)
* [Dynamic Blocks](/docs/Terraform-On-Azure/Advanced-Constructs/Dynamic-Blocks/page.md)
* [Built in Functions](/docs/Terraform-On-Azure/Advanced-Constructs/Built-in-Functions/page.md)

## Terraform State Fundamentals

* [Introduction](/docs/Terraform-On-Azure/Terraform-State-Fundamentals/Introduction/page.md)
* [Terraform State Management](/docs/Terraform-On-Azure/Terraform-State-Fundamentals/Terraform-State-Management/page.md)
* [Security Considerations](/docs/Terraform-On-Azure/Terraform-State-Fundamentals/Security-Considerations/page.md)
* [Refreshing Infrastructure](/docs/Terraform-On-Azure/Terraform-State-Fundamentals/Refreshing-Infrastructure/page.md)

## Remote State

* [Introduction](/docs/Terraform-On-Azure/Remote-State/Introduction/page.md)
* [What is Remote State](/docs/Terraform-On-Azure/Remote-State/What-is-Remote-State/page.md)
* [Azure Storage Backend](/docs/Terraform-On-Azure/Remote-State/Azure-Storage-Backend/page.md)
* [Backend Initialization Lifecycle](/docs/Terraform-On-Azure/Remote-State/Backend-Initialization-Lifecycle/page.md)
* [Remote State Failure Modes](/docs/Terraform-On-Azure/Remote-State/Remote-State-Failure-Modes/page.md)

## Terraform Workspaces

* [Introduction](/docs/Terraform-On-Azure/Terraform-Workspaces/Introduction/page.md)
* [What Are Terraform Workspaces](/docs/Terraform-On-Azure/Terraform-Workspaces/What-Are-Terraform-Workspaces/page.md)
* [Workspace Commands](/docs/Terraform-On-Azure/Terraform-Workspaces/Workspace-Commands/page.md)
* [Considerations](/docs/Terraform-On-Azure/Terraform-Workspaces/Considerations/page.md)

## Terraform CLI

* [Introduction](/docs/Terraform-On-Azure/Terraform-CLI/Introduction/page.md)
* [Terraform Validate and fmt](/docs/Terraform-On-Azure/Terraform-CLI/Terraform-Validate-and-fmt/page.md)
* [Terraform Show and Output](/docs/Terraform-On-Azure/Terraform-CLI/Terraform-Show-and-Output/page.md)
* [Terraform Providers and Graph](/docs/Terraform-On-Azure/Terraform-CLI/Terraform-Providers-and-Graph/page.md)
* [Terraform State and Refresh](/docs/Terraform-On-Azure/Terraform-CLI/Terraform-State-and-Refresh/page.md)
* [Terraform Import](/docs/Terraform-On-Azure/Terraform-CLI/Terraform-Import/page.md)

## Lifecycle Meta-Arguments

* [Introduction](/docs/Terraform-On-Azure/Lifecycle-Meta-Arguments/Introduction/page.md)
* [What are lifecycle meta arguments](/docs/Terraform-On-Azure/Lifecycle-Meta-Arguments/What-are-lifecycle-meta-arguments/page.md)
* [create before destroy](/docs/Terraform-On-Azure/Lifecycle-Meta-Arguments/create-before-destroy/page.md)
* [prevent destroy](/docs/Terraform-On-Azure/Lifecycle-Meta-Arguments/prevent-destroy/page.md)
* [ignore changes](/docs/Terraform-On-Azure/Lifecycle-Meta-Arguments/ignore-changes/page.md)

## Data Sources

* [Introduction](/docs/Terraform-On-Azure/Data-Sources/Introduction/page.md)
* [What are data sources](/docs/Terraform-On-Azure/Data-Sources/What-are-data-sources/page.md)
* [Resources vs Data Sources](/docs/Terraform-On-Azure/Data-Sources/Resources-vs-Data-Sources/page.md)

## Provisioners

* [Introduction](/docs/Terraform-On-Azure/Provisioners/Introduction/page.md)
* [Remote Provisioners](/docs/Terraform-On-Azure/Provisioners/Remote-Provisioners/page.md)
* [Local Provisioners](/docs/Terraform-On-Azure/Provisioners/Local-Provisioners/page.md)
* [Considerations](/docs/Terraform-On-Azure/Provisioners/Considerations/page.md)

## Debugging Terraform

* [Introduction](/docs/Terraform-On-Azure/Debugging-Terraform/Introduction/page.md)
* [Terraform Logging and Debugging](/docs/Terraform-On-Azure/Debugging-Terraform/Terraform-Logging-and-Debugging/page.md)

## Terraform Modules

* [Introduction](/docs/Terraform-On-Azure/Terraform-Modules/Introduction/page.md)
* [What is Terraform Module and why use it](/docs/Terraform-On-Azure/Terraform-Modules/What-is-Terraform-Module-and-why-use-it/page.md)
* [Module Structure explained](/docs/Terraform-On-Azure/Terraform-Modules/Module-Structure-explained/page.md)
* [Calling the module](/docs/Terraform-On-Azure/Terraform-Modules/Calling-the-module/page.md)
* [With and without modules](/docs/Terraform-On-Azure/Terraform-Modules/With-and-without-modules/page.md)

## Azure DevOps Integration

* [Introduction](/docs/Terraform-On-Azure/Azure-DevOps-Integration/Introduction/page.md)
* [Why CICD for Terraform](/docs/Terraform-On-Azure/Azure-DevOps-Integration/Why-CICD-for-Terraform/page.md)
* [Terraform Workflow in CICD](/docs/Terraform-On-Azure/Azure-DevOps-Integration/Terraform-Workflow-in-CICD/page.md)
* [Azure DevOps Service Connections](/docs/Terraform-On-Azure/Azure-DevOps-Integration/Azure-DevOps-Service-Connections/page.md)
* [Remote Backend Usage in Pipelines](/docs/Terraform-On-Azure/Azure-DevOps-Integration/Remote-Backend-Usage-in-Pipelines/page.md)

## Azure Pipelines for Terraform

* [Introduction](/docs/Terraform-On-Azure/Azure-Pipelines-for-Terraform/Introduction/page.md)
* [Initializing and Building Pipeline](/docs/Terraform-On-Azure/Azure-Pipelines-for-Terraform/Initializing-and-Building-Pipeline/page.md)
* [Executing Pipelines](/docs/Terraform-On-Azure/Azure-Pipelines-for-Terraform/Executing-Pipelines/page.md)
* [Advanced Pipeline Configuration](/docs/Terraform-On-Azure/Azure-Pipelines-for-Terraform/Advanced-Pipeline-Configuration/page.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.