BCPNFR23 - Module composition
ID: BCPNFR23 - Category: Composition
Each Bicep AVM module that lives within the Azure/bicep-registry-modules
(BRM) repository in the avm
directory MUST have the following directories and files:
/tests
- (for unit tests and additional E2E/integration if required - e.g. Pester etc.)/e2e
- (all examples must deploy successfully - these will be used to automatically generate the examples in the README.md for the module)
/src
- (for scripts and other files - e.g., scripts used by the template)exampleFile.ps1
/modules
- (for sub-modules only if used and NOT children of the primary resource - e.g. RBAC role assignments)exampleTemplate.bicep
/main.bicep
(AVM Module main.bicep
file and entry point/orchestration module)/main.json
(auto generated and what is published to the MCR via BRM)/version.json
(BRM requirement)/README.md
(auto generated AVM Module documentation)/CHANGELOG.md
(manually maintained changelog file with one entry per published version)
Directory and File Structure Example
/ Root of Azure/bicep-registry-modules
β
ββββavm
β ββββptn
β β ββββapptiervmss
β β β main.bicep
β β β main.json
β β β README.md
β β β CHANGELOG.md
β β β version.json
β β ββββsrc (optional)
β β β ββββGet-Cake.ps1
β β β ββββFind-Waldo.ps1
β β ββββmodules (optional)
β β β ββββhelper.bicep
β β β ββββrole-assignment.bicep
β β ββββtests
β β ββββunit (optional)
β β ββββe2e
β β ββββdefaults
β β ββββwaf-aligned
β β ββββmax
β β
β ββββres
β ββββcompute
β ββββvirtual-machine
β β main.bicep
β β main.json
β β README.md
β β CHANGELOG.md
β β version.json
β ββββsrc (optional)
β β ββββSet-Bug.ps1
β β ββββInvoke-Promotion.ps1
β ββββmodules (optional)
β β ββββhelper.bicep
β β ββββrole-assignment.bicep
β ββββtests
β ββββunit (optional)
β ββββe2e
β ββββdefaults
β ββββwaf-aligned
β ββββmax
ββββother repo dirs...
ββββother repo files...