Azure Verified Modules
This initiative is still in development! Please review and leave issues on things you find, via GitHub Issues 👍
Before submitting a new module proposal for either Bicep or Terraform, please review the FAQ section on “CARML/TFVM to AVM Evolution Details”!
Azure Verified Modules (AVM) is an initiative to consolidate and set the standards for what a good Infrastructure-as-Code module looks like.
Modules will then align to these standards, across languages (Bicep, Terraform etc.) and will then be classified as AVMs and available from their respective language specific registries.
AVM is a common code base, a toolkit for our Customers, our Partners, and Microsoft. It’s a community driven aspiration, inside and outside of Microsoft.
Azure Verified Modules enable and accelerate consistent solution development and delivery of cloud-native or migrated applications and their supporting infrastructure by codifying Microsoft guidance (WAF), with best practice configurations.

Azure Verified Modules provides two types of modules: Resource and Pattern modules.
AVM modules are used to deploy Azure resources and their extensions, as well as reusable architectural patterns consistently.
Modules are composable building blocks that encapsulate groups of resources dedicated to one task.
- Flexible, generalized, multi-purpose
- Integrates child resources
- Integrates extension resources
AVM improves code quality and provides a unified customer experience.
Review What, Why, How
Review the Module Classification Definitions
Review the Shared Specification
Review the FAQ
Learn how to contribute to AVM
