Terraform configuration for deploying Azure Virtual Desktop on Azure Local.
src/terraform/
├── versions.tf # Provider version pins (azurerm + azapi)
├── variables.tf # Input variable declarations
├── locals.tf # Shared locals (tags, VM name list)
├── control-plane.tf # AVD control plane resources (RG, LAW, KV, host pool, app group, workspace)
├── session-hosts.tf # Session-host VMs on Azure Local (Arc VMs, NICs, extensions)
├── outputs.tf # Outputs
└── terraform.tfvars.example # Example variable values
- Terraform >= 1.5: Install
- AzureRM provider >= 3.75, AzAPI provider >= 1.10 (pinned in
versions.tf) - Azure CLI logged in:
az login
cd src/terraform
cp terraform.tfvars.example terraform.tfvars
# Edit terraform.tfvars with your values
terraform init
terraform plan
terraform applyterraform destroyNote: Never commit
terraform.tfvars(it is.gitignored). Use environment variables or a secrets manager for sensitive values.