# KodeKloud: Beta Courses Terraform On Azure

## Terraform On Azure

### Introduction

- [Course Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Introduction/Course-Introduction/page.md): Hands-on course teaching Terraform on Azure to design, deploy, and automate cloud infrastructure, covering HCL, modules, state management, CI CD pipelines, and best practices.

### Infrastructure as Code Fundamentals

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Infrastructure-as-Code-Fundamentals/Introduction/page.md): Overview of Infrastructure as Code fundamentals, IaC tooling categories, and when to use Terraform versus other tools.
- [What is Infrastructure as Code](https://notes.kodekloud.com/docs/Terraform-On-Azure/Infrastructure-as-Code-Fundamentals/What-is-Infrastructure-as-Code/page.md): Explains Infrastructure as Code, its declarative approach, benefits, common tools, best practices, and examples for automating and versioning cloud infrastructure.
- [Types of IaC Tools](https://notes.kodekloud.com/docs/Terraform-On-Azure/Infrastructure-as-Code-Fundamentals/Types-of-IaC-Tools/page.md): Overview of Infrastructure as Code tools and categories covering configuration management, server templating, and provisioning with examples and usage guidance

### Terraform Cloud

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Cloud/Introduction/page.md): Overview of Terraform Cloud, its plans, features, and guidance comparing managed SaaS versus self-hosted Terraform for team size, governance, and automation needs
- [What is Terraform Cloud](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Cloud/What-is-Terraform-Cloud/page.md): Overview of Terraform Cloud, a HashiCorp managed platform that centralizes Terraform execution, remote state management, collaboration, policy enforcement, and Git workflow integration for teams.
- [Terraform Cloud Plans](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Cloud/Terraform-Cloud-Plans/page.md): Overview of Terraform Cloud and Enterprise plans, comparing tiers, features, governance, security, collaboration, and support to help teams choose the right infrastructure-as-code offering
- [Self Hosted vs Terraform cloud](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Cloud/Self-Hosted-vs-Terraform-cloud/page.md): Comparing self-hosted Terraform and Terraform Cloud, outlining trade-offs, operational gaps, governance differences, and reasons for using self-hosted in this course.

### Setting up environment 

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Setting-up-environment/Introduction/page.md): Guides setting up a local environment, tools, and authentication to develop, validate, and deploy Terraform configurations for provisioning Azure resources.
- [Choose Your IDE](https://notes.kodekloud.com/docs/Terraform-On-Azure/Setting-up-environment/Choose-Your-IDE/page.md): Guide to choosing and configuring IDE features and extensions for Terraform HCL development, covering syntax support, IntelliSense, linting, formatting, integrated terminals, Git, and remote/container workspaces.
- [Installing Dependencies](https://notes.kodekloud.com/docs/Terraform-On-Azure/Setting-up-environment/Installing-Dependencies/page.md): Guide to installing Azure CLI and Git, verifying Azure authentication and subscription context, and preparing to install Terraform for managing Azure infrastructure.
- [Installing Terraform](https://notes.kodekloud.com/docs/Terraform-On-Azure/Setting-up-environment/Installing-Terraform/page.md): Guide for installing and verifying Terraform locally and via Azure Cloud Shell across Windows macOS and Linux
- [Authenticating to Azure](https://notes.kodekloud.com/docs/Terraform-On-Azure/Setting-up-environment/Authenticating-to-Azure/page.md): Explains how Terraform authenticates to Azure using Azure CLI, service principals, and managed identities with setup steps and best practices for secure, least privilege access

### Azure Context for Terraform

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-Context-for-Terraform/Introduction/page.md): Guidance on using Terraform with Azure, covering tenants, subscriptions, resource groups, provider configuration, state management, environment separation strategies, and best practices
- [Azure Concepts Terraform Operates On](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-Context-for-Terraform/Azure-Concepts-Terraform-Operates-On/page.md): Explains how Terraform uses the AzureRM provider to manage Azure resources via ARM APIs, covering subscriptions, resource groups, regions, lifecycle actions, state management, and operational best practices.
- [Environment Separation in Azure](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-Context-for-Terraform/Environment-Separation-in-Azure/page.md): Guidance on separating Azure environments when using Terraform by isolating state, backends, subscriptions, resource groups and pipelines to prevent accidental cross-environment changes and limit blast radius.

### HashiCorp Configuration Language

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/Introduction/page.md): Practical guide to writing and organizing Terraform HCL for Azure, covering syntax, providers, resources, state management, dependency graph, workflows, and modular project structure
- [HCL Syntax and Building Blocks](https://notes.kodekloud.com/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/HCL-Syntax-and-Building-Blocks/page.md): Overview of Terraform HCL syntax, resource block structure, provider roles, and examples for authoring cloud infrastructure configurations across Azure AWS and GCP
- [Writing HCL Code](https://notes.kodekloud.com/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/Writing-HCL-Code/page.md): Guide to writing Terraform HCL for Azure, covering provider and resource blocks, example configurations, the init/plan/apply workflow, state management, and VS Code setup
- [Multiple Resources](https://notes.kodekloud.com/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/Multiple-Resources/page.md): Explains how to define and manage multiple Azure resources with Terraform using provider declaration, resource blocks, inter-resource references, and plan apply workflow.
- [Update and Destroy Infrastructure](https://notes.kodekloud.com/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/Update-and-Destroy-Infrastructure/page.md): Explains Terraform lifecycle operations for updating and destroying Azure resources with examples of planning, applying, in-place updates, destroys, multi-resource interactions, and resulting state file.
- [Modular Structure](https://notes.kodekloud.com/docs/Terraform-On-Azure/HashiCorp-Configuration-Language/Modular-Structure/page.md): Organizing Terraform configurations into a modular file layout with recommended filenames and best practices for maintainability, reuse, and team collaboration

### Terraform Providers

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Providers/Introduction/page.md): Explains Terraform providers, discovery and configuration, versioning best practices, choosing between AzureRM and AzAPI providers, and using provider aliases for multiple Azure subscriptions or tenants
- [Handling Providers](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Providers/Handling-Providers/page.md): Explains how Terraform discovers, downloads, versions, initializes, and reuses providers, plus using terraform init, provider sources, version locking, and registry best practices for reproducible workflows
- [Version Constraints](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Providers/Version-Constraints/page.md): Explains Terraform provider version constraints, how to declare, resolve, and lock provider versions with .terraform.lock.hcl plus best practices for stable reproducible provider selection
- [Azure Providers azurerm vs azapi](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Providers/Azure-Providers-azurerm-vs-azapi/page.md): Comparison of Terraform Azure providers azurerm and azapi, outlining differences in abstraction, validation, use cases, and guidance to combine them for stable and preview features
- [When to Use azurerm vs azapi](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Providers/When-to-Use-azurerm-vs-azapi/page.md): Guide to choosing between Terraform azurerm and azapi providers, recommending azurerm by default and azapi as an escape hatch for unsupported or preview Azure ARM features, with best practices
- [Aliases](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Providers/Aliases/page.md): Explains Terraform azurerm provider aliases for managing multiple Azure regions, subscriptions, and environments, including explicit provider bindings, module provider passing, and authentication best practices.

### Variables

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Variables/Introduction/page.md): Guide to Terraform input variables explaining declaration, types, value provisioning methods, and best practices for reusable environment-agnostic configurations and secure handling of sensitive data
- [Defining Variables](https://notes.kodekloud.com/docs/Terraform-On-Azure/Variables/Defining-Variables/page.md): Explains declaring and using Terraform input variables to avoid hardcoding, enable reusable environment-agnostic configurations, and manage values securely through defaults, environment variables, tfvars, or CLI flags
- [Understanding Variable Block](https://notes.kodekloud.com/docs/Terraform-On-Azure/Variables/Understanding-Variable-Block/page.md): Explains Terraform variable blocks, covering types, defaults, validation, sensitivity, and value sources to enforce input rules, document intent, and secure reusable infrastructure modules.
- [Setting Variables](https://notes.kodekloud.com/docs/Terraform-On-Azure/Variables/Setting-Variables/page.md): Guide to supplying Terraform input variable values at runtime, covering prompts, flags, tfvars files, environment TF_VAR variables, precedence, and best practices for automation and secrets.
- [Variable Datatypes](https://notes.kodekloud.com/docs/Terraform-On-Azure/Variables/Variable-Datatypes/page.md): Guide to Terraform variable data types, usage, declaration examples, and best practices for strong typing, validation, and structured inputs like lists, maps, objects, and tuples.

### Outputs and Dependencies

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Outputs-and-Dependencies/Introduction/page.md): Explains how Terraform shares data between resources, manages dependencies, uses targeting cautiously, and exposes important values via outputs for composing modules and debugging.
- [Resource Attributes and Dependencies](https://notes.kodekloud.com/docs/Terraform-On-Azure/Outputs-and-Dependencies/Resource-Attributes-and-Dependencies/page.md): Explains how Terraform uses resource attribute references and depends_on to build dependency graphs and control Azure resource creation order, avoiding race conditions
- [Resource Targeting](https://notes.kodekloud.com/docs/Terraform-On-Azure/Outputs-and-Dependencies/Resource-Targeting/page.md): Explains Terraform resource targeting using -target, its use cases for recovery, debugging, and drift fixes, risks of inconsistent state, examples, and best practice guidance.
- [Output Variables](https://notes.kodekloud.com/docs/Terraform-On-Azure/Outputs-and-Dependencies/Output-Variables/page.md): Explains Terraform output variables and how to expose runtime values like IPs, IDs, and sensitive data for automation and workflows

### Iteration and Logic

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Iteration-and-Logic/Introduction/page.md): Guide to Terraform iteration and logic using count, for_each, for expressions and conditional expressions for scalable maintainable resources and predictable state management
- [Using count](https://notes.kodekloud.com/docs/Terraform-On-Azure/Iteration-and-Logic/Using-count/page.md): Explains Terraform's count meta-argument for creating indexed resource instances, discusses identity, lifecycle pitfalls, and when to prefer for_each for stable, key based resource identities.
- [Using for each](https://notes.kodekloud.com/docs/Terraform-On-Azure/Iteration-and-Logic/Using-for-each/page.md): Explains Terraform's for_each to create stable keyed resources, preventing index shifting versus count, with Azure examples and best practices for safe resource management.
- [count vs for each](https://notes.kodekloud.com/docs/Terraform-On-Azure/Iteration-and-Logic/count-vs-for-each/page.md): Explains Terraform's count versus for_each, how they track resource identity, risks of index shifts, and best practices for stable resources.
- [for Expressions](https://notes.kodekloud.com/docs/Terraform-On-Azure/Iteration-and-Logic/for-Expressions/page.md): Explains Terraform for expressions for transforming collections into lists, sets, or maps to prepare inputs for for_each and resources with examples and best practices.
- [Conditional Expressions](https://notes.kodekloud.com/docs/Terraform-On-Azure/Iteration-and-Logic/Conditional-Expressions/page.md): Explains Terraform conditional and for expressions, using ternary operators, nested versus flat lists, flatten and toset for for_each, and environment-based configuration examples

### Advanced Constructs

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Advanced-Constructs/Introduction/page.md): Explains Terraform advanced constructs like locals, dynamic blocks, built-in functions, and best practices for building scalable, maintainable, production ready modules
- [Using locals](https://notes.kodekloud.com/docs/Terraform-On-Azure/Advanced-Constructs/Using-locals/page.md): Explains Terraform locals as computed reusable values to centralize derived logic, reduce duplication, and standardize naming, tags, and shared configurations across resources
- [Dynamic Blocks](https://notes.kodekloud.com/docs/Terraform-On-Azure/Advanced-Constructs/Dynamic-Blocks/page.md): Explains Terraform dynamic blocks to generate repeated nested Azure resource blocks like NSG rules, with examples, usage scenarios, and alternatives for lifecycle control.
- [Built in Functions](https://notes.kodekloud.com/docs/Terraform-On-Azure/Advanced-Constructs/Built-in-Functions/page.md): Explains Terraform built-in functions merge, try, and lookup to build resilient configurations by composing maps, handling missing inputs, and mapping environments to regions.

### Terraform State Fundamentals

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-State-Fundamentals/Introduction/page.md): Overview of Terraform state, covering its role in tracking resources, plan generation, drift detection, security, backends, and best practices for safe collaborative infrastructure management.
- [Terraform State Management](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-State-Fundamentals/Terraform-State-Management/page.md): Explains Terraform state management, its contents, local versus remote backends, security and collaboration considerations, and using remote storage for team workflows.
- [Security Considerations](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-State-Fundamentals/Security-Considerations/page.md): Best practices for securely managing Terraform state to protect secrets, using encrypted remote backends, RBAC, locking, sensitive outputs, and avoiding committing state files.
- [Refreshing Infrastructure](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-State-Fundamentals/Refreshing-Infrastructure/page.md): Explains Terraform's state refresh with Azure, how it detects drift, example storage account change, skipping refresh risks, and secure state handling.

### Remote State

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Remote-State/Introduction/page.md): Guide to using Azure Blob Storage as a Terraform remote backend, covering initialization, state migration, locking, common failures, recovery steps, and best practices for teams and CI pipelines.
- [What is Remote State](https://notes.kodekloud.com/docs/Terraform-On-Azure/Remote-State/What-is-Remote-State/page.md): Explains using remote Terraform state with Azure Storage to centralize state, enable locking, secure sensitive data, and avoid storing state in Git.
- [Azure Storage Backend](https://notes.kodekloud.com/docs/Terraform-On-Azure/Remote-State/Azure-Storage-Backend/page.md): Guide to configuring Azure Storage as a Terraform remote backend, covering setup, authentication, state initialization and migration, blob lease locking, security, and troubleshooting.
- [Backend Initialization Lifecycle](https://notes.kodekloud.com/docs/Terraform-On-Azure/Remote-State/Backend-Initialization-Lifecycle/page.md): Explains Terraform backend initialization process, its role in workflow, failure implications, reinitialization triggers, and operational steps required before planning or applying infrastructure changes.
- [Remote State Failure Modes](https://notes.kodekloud.com/docs/Terraform-On-Azure/Remote-State/Remote-State-Failure-Modes/page.md): Terraform remote state failure modes on Azure with impacts, recovery steps, and best practices to prevent and mitigate lost backend access, deleted state blobs, stale locks, and credential issues

### Terraform Workspaces

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Workspaces/Introduction/page.md): Explains Terraform CLI workspaces, how to manage multiple state instances, workspace commands, comparisons with separate backends, limitations, and best practices.
- [What Are Terraform Workspaces](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Workspaces/What-Are-Terraform-Workspaces/page.md): Explains Terraform workspaces and how they isolate state per environment to reuse one configuration for multiple identical infrastructure environments like dev test and prod.
- [Workspace Commands](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Workspaces/Workspace-Commands/page.md): Explains Terraform workspaces, their commands and AzureRM backend behavior, how workspaces isolate state, manage multiple environments, and best practices for creating, switching, and deleting workspaces
- [Considerations](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Workspaces/Considerations/page.md): Guidance comparing Terraform workspaces and separate state files, evaluating isolation, risk, complexity, and recommended patterns for governance, teams, and environment separation

### Terraform CLI

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-CLI/Introduction/page.md): Guide to commonly used Terraform CLI commands for validating, formatting, planning, inspecting state, visualizing dependencies, managing providers, and importing existing resources into state.
- [Terraform Validate and fmt](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-CLI/Terraform-Validate-and-fmt/page.md): Explains using terraform validate to catch HCL syntax and provider-schema errors and terraform fmt to enforce consistent HCL formatting for local development and CI
- [Terraform Show and Output](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-CLI/Terraform-Show-and-Output/page.md): Explains Terraform's show and output commands for inspecting state and plans, usage patterns, JSON flags, and best practices for automation, debugging, and exporting values.
- [Terraform Providers and Graph](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-CLI/Terraform-Providers-and-Graph/page.md): Explains using terraform providers and terraform graph to inspect provider usage and visualize Terraform's dependency graph for debugging and troubleshooting resource ordering and provider issues.
- [Terraform State and Refresh](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-CLI/Terraform-State-and-Refresh/page.md): Explains Terraform state concepts, inspection and management commands, and how to refresh state to reconcile drift without changing infrastructure.
- [Terraform Import](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-CLI/Terraform-Import/page.md): Guide on using terraform import to bring existing cloud resources into Terraform state, including Azure ID formats, workflow, examples, and best practices

### Lifecycle Meta-Arguments

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Lifecycle-Meta-Arguments/Introduction/page.md): Summarizes Terraform lifecycle meta-arguments and usage to reduce downtime, prevent accidental deletion, and ignore external attribute changes for controlled resource lifecycle behavior.
- [What are lifecycle meta arguments](https://notes.kodekloud.com/docs/Terraform-On-Azure/Lifecycle-Meta-Arguments/What-are-lifecycle-meta-arguments/page.md): Explains Terraform lifecycle meta-arguments create_before_destroy prevent_destroy and ignore_changes to control resource management during changes.
- [create before destroy](https://notes.kodekloud.com/docs/Terraform-On-Azure/Lifecycle-Meta-Arguments/create-before-destroy/page.md): Explains Terraform's create_before_destroy lifecycle setting enabling zero downtime replacements with Azure guidance on naming, indirection, coexistence, and migration strategies.
- [prevent destroy](https://notes.kodekloud.com/docs/Terraform-On-Azure/Lifecycle-Meta-Arguments/prevent-destroy/page.md): Explains Terraform lifecycle prevent_destroy to protect critical Azure resources, how it blocks planned deletions, and methods to intentionally replace or remove protected resources.
- [ignore changes](https://notes.kodekloud.com/docs/Terraform-On-Azure/Lifecycle-Meta-Arguments/ignore-changes/page.md): Explains Terraform lifecycle ignore_changes to prevent reconciliation of externally managed resource attributes such as tags, avoiding noisy plans while still detecting drift.

### Data Sources

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Data-Sources/Introduction/page.md): Explains Terraform data sources and how to query existing Azure infrastructure, differentiate data blocks from resources, when to use them, and best practices for safe referencing.
- [What are data sources](https://notes.kodekloud.com/docs/Terraform-On-Azure/Data-Sources/What-are-data-sources/page.md): Explains using Terraform data sources to read existing Azure resources, reference attributes in configurations, avoid duplication, and create compatible resources with examples, errors, and best practices.
- [Resources vs Data Sources](https://notes.kodekloud.com/docs/Terraform-On-Azure/Data-Sources/Resources-vs-Data-Sources/page.md): Comparison of Terraform resources versus data sources, explaining roles, lifecycle differences, examples, and guidance on when to create managed resources or perform read-only lookups of existing infrastructure.

### Provisioners

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Provisioners/Introduction/page.md): Overview of Terraform provisioners, their lifecycle, remote and local usage, risks, and best practices for bootstrapping and when to prefer provider native alternatives
- [Remote Provisioners](https://notes.kodekloud.com/docs/Terraform-On-Azure/Provisioners/Remote-Provisioners/page.md): Guide to using Terraform remote-exec provisioner to run commands on newly created VMs via SSH or WinRM, including an Azure Apache example, requirements, and troubleshooting.
- [Local Provisioners](https://notes.kodekloud.com/docs/Terraform-On-Azure/Provisioners/Local-Provisioners/page.md): Explains Terraform local-exec provisioner for running commands on the Terraform host to orchestrate tasks like saving outputs, triggering CI/CD, and sending notifications, not configuring resources.
- [Considerations](https://notes.kodekloud.com/docs/Terraform-On-Azure/Provisioners/Considerations/page.md): Risks and best practices for using Terraform provisioners, advising limited use and preferring idempotent, platform-native or configuration management approaches for production

### Debugging Terraform

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Debugging-Terraform/Introduction/page.md): Practical guide to debugging Terraform runs, enabling TF_LOG, capturing and searching logs, interpreting common errors, identifying root causes, and following systematic troubleshooting steps while protecting sensitive data
- [Terraform Logging and Debugging](https://notes.kodekloud.com/docs/Terraform-On-Azure/Debugging-Terraform/Terraform-Logging-and-Debugging/page.md): Guides Terraform logging setup and usage including TF_LOG and TF_LOG_PATH, interpreting logs, troubleshooting providers and APIs, and securely centralizing log collection

### Terraform Modules

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Modules/Introduction/page.md): Overview of Terraform modules explaining structure usage and best practices for reusable Azure infrastructure including root versus child modules inputs outputs and module composition
- [What is Terraform Module and why use it](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Modules/What-is-Terraform-Module-and-why-use-it/page.md): Explains Terraform modules as reusable folders of configuration, their core files, how to use them, and benefits like reuse, organization, scalability, and reduced operational risk.
- [Module Structure explained](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Modules/Module-Structure-explained/page.md): Explains Terraform module structure, inputs, outputs, and file conventions with Azure resource group and storage account examples and best practices for reusable composable modules
- [Calling the module](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Modules/Calling-the-module/page.md): Explains how to call and reuse Terraform modules from a root configuration, with Azure examples showing module sources, inputs, outputs, initialization, planning, and reuse.
- [With and without modules](https://notes.kodekloud.com/docs/Terraform-On-Azure/Terraform-Modules/With-and-without-modules/page.md): Comparing Terraform configurations with and without modules, showing trade-offs, governance benefits, and how Azure Verified Modules speed adoption of standardized patterns.

### Azure DevOps Integration

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-DevOps-Integration/Introduction/page.md): Using Terraform in Azure DevOps pipelines to automate IaC with secure service connections, remote backends, and CI/CD workflows for safe, repeatable infrastructure changes.
- [Why CICD for Terraform](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-DevOps-Integration/Why-CICD-for-Terraform/page.md): Explains why CI/CD is essential for running Terraform in team and production environments, detailing pipeline stages, governance, secrets management, approvals, and auditability.
- [Terraform Workflow in CICD](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-DevOps-Integration/Terraform-Workflow-in-CICD/page.md): Guide to running Terraform in Azure DevOps CI/CD, covering plan review, approvals, remote state, secure service identities, and applying saved plans for auditable infrastructure deployments
- [Azure DevOps Service Connections](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-DevOps-Integration/Azure-DevOps-Service-Connections/page.md): Explains creating and using Azure DevOps service connections to securely authenticate pipelines for Terraform, manage scoped RBAC, and enable backend and ARM operations
- [Remote Backend Usage in Pipelines](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-DevOps-Integration/Remote-Backend-Usage-in-Pipelines/page.md): Explains configuring Terraform remote state in Azure DevOps pipelines using Azure Blob Storage backend with RBAC and locking to secure and persist Terraform state across ephemeral CI/CD agents

### Azure Pipelines for Terraform 

- [Introduction](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-Pipelines-for-Terraform/Introduction/page.md): Guide to building production-ready Terraform CI/CD pipelines in Azure DevOps, using remote state, plan artifacts, separated plan and apply stages, approvals, and best practices for secure automated infrastructure delivery
- [Initializing and Building Pipeline](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-Pipelines-for-Terraform/Initializing-and-Building-Pipeline/page.md): Guide to building a production-grade Azure DevOps pipeline for Terraform using init, plan, and apply with separation, artifact plans, and gated approvals to enforce safe CI/CD practices
- [Executing Pipelines](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-Pipelines-for-Terraform/Executing-Pipelines/page.md): Guides running Terraform via Azure DevOps pipelines from code commit to apply, covering agents, backend, YAML, approvals, and governance.
- [Advanced Pipeline Configuration](https://notes.kodekloud.com/docs/Terraform-On-Azure/Azure-Pipelines-for-Terraform/Advanced-Pipeline-Configuration/page.md): Configuring an Azure DevOps pipeline for Terraform that separates plan and apply, publishes immutable plan artifacts, and enforces manual approvals for safer auditable deployments.
