azd auto-detects Bicep or Terraform from infra files
Introduced 2026-01-15 · score 0.95
HOW TO USE IT
When `infra.provider` is unset, run `azd provision` to provision from the project’s infrastructure files; for automatic Bicep or Terraform detection, use azd v1.23.0 or later. If both file types are present, set `infra.provider` explicitly.
azd provisioninfra:
provider: <bicep|terraform>WHY THIS HELPS
Provision a project with Bicep or Terraform files when `infra.provider` is unset in `azure.yaml`.
REQUIREMENTS AND LIMITATIONS
- Version: 1.23.0
- infra.provider: Infrastructure provisioning provider; documented values include `bicep` and `terraform`.
- Prerequisite: Use Azure Developer CLI v1.23.0 or later for the release-note-described auto-detection.
- Prerequisite: `azure.yaml` belongs at the project root and configures project infrastructure; the `infra` directory contains infrastructure files.
- Detection scans the infra directory and ignores subdirectories.
- If both Bicep and Terraform file types are present, explicit configuration is required.
- Docs conflict: The current schema docs state that the default provider is Bicep; they do not document the v1.23.0 file-based auto-detection behavior. The v1.23.0 source is the version-specific evidence for that behavior.
FIRST-PARTY EVIDENCE
- https://github.com/Azure/azure-dev/releases/tag/azure-dev-cli_1.23.0
- https://github.com/Azure/azure-dev/pull/6461
- https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/azd-commands
- https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/azd-schema
- https://github.com/Azure/azure-dev/blob/azure-dev-cli_1.23.0/cli/azd/pkg/project/importer.go
Check the installed version and the source before using it. Entry JSON