RMFR7 - Minimum Required Outputs
Module owners MUST output the following outputs as a minimum in their modules:
Output | Bicep Output Name | Terraform Output Name |
---|---|---|
Resource Name | name | name |
Resource ID | resourceId | resource_id |
System Assigned Managed Identity Principal ID (if supported by module) | systemAssignedMIPrincipalId | system_assigned_mi_principal_id |
Module owners MAY also have to provide additional outputs depending on the IaC language, please check the language specific specs:
RMFR8 - Dependency on child and other resources
A resource module MAY contain references to other resource modules, however MUST NOT contain references to non-AVM modules nor AVM pattern modules.
RMFR9 - End-of-life resource versions
When a given version of an Azure resource used in a resource module reaches its end-of-life (EOL) and is no longer supported by Microsoft, the module owner SHOULD ensure that:
RMNFR2 - Parameter/Variable Naming
A resource module MUST use the following standard inputs:
name
(no default)location
(if supported by the resource and not a global resource, then use Resource Group location, if resource supports Resource Groups, otherwise no default)SNFR1 - Prescribed Tests
Modules MUST use the prescribed tooling and testing frameworks defined in the language specific specs.
SNFR11 - Issues Response Times
A module owner MUST respond to logged issues within 3 business days. See Module Support for more information.
SNFR14 - Data Types
A module SHOULD use either: simple data types. e.g., string, int, bool.
OR
Complex data types (objects, arrays, maps) when the language-compliant schema is defined.
SNFR15 - Automatic Documentation Generation
README documentation MUST be automatically/programmatically generated. MUST include the sections as defined in the language specific requirements BCPNFR2 , TFNFR2 .
SNFR16 - Examples/E2E
An examples/e2e directory MUST exist to provide named scenarios for module deployment.
SNFR17 - Semantic Versioning
You cannot specify the patch version for Bicep modules in the public Bicep Registry, as this is automatically incremented by 1 each time a module is published. You can only set the Major and Minor versions.