RMNFR1 - Module Naming
We will maintain a set of CSV files in the AVM Central Repo (
Azure/Azure-Verified-Modules
) with the correct singular names for all resource types to enable checks to utilize this list to ensure repos are named correctly. To see the formatted content of these CSV files with additional information, please visit the AVM Module Indexes page.This will be updated quarterly, or ad-hoc as new RPs/ Resources are created and highlighted via a check failure.
Resource modules MUST follow the below naming conventions (all lower case):
- Naming convention:
avm/res/<hyphenated resource provider name>/<hyphenated ARM resource type>
(module name for registry) - Example:
avm/res/compute/virtual-machine
oravm/res/managed-identity/user-assigned-identity
- Segments:
res
defines this is a resource module<hyphenated resource provider name>
is the resource provider’s name after theMicrosoft
part, with each word starting with a capital letter separated by dashes, e.g.,Microsoft.Compute
=compute
,Microsoft.ManagedIdentity
=managed-identity
.<hyphenated ARM resource type>
is the singular version of the word after the resource provider, with each word starting with a capital letter separated by dashes, e.g.,Microsoft.Compute/virtualMachines
=virtual-machine
, BUTMicrosoft.Network/trafficmanagerprofiles
=trafficmanagerprofile
- sincetrafficmanagerprofiles
is all lower case as per the ARM API definition.
- Naming convention:
avm-res-<resource provider>-<ARM resource type>
(module name for registry)terraform-<provider>-avm-res-<resource provider>-<ARM resource type>
(GitHub repository name to meet registry naming requirements)
- Example:
avm-res-compute-virtualmachine
oravm-res-managedidentity-userassignedidentity
- Segments:
<provider>
is the logical abstraction of various APIs used by Terraform. In most cases, this is going to beazurerm
orazuread
for resource modules.res
defines this is a resource module<resource provider>
is the resource provider’s name after theMicrosoft
part, e.g.,Microsoft.Compute
=compute
.<ARM resource type>
is the singular version of the word after the resource provider, e.g.,Microsoft.Compute/virtualMachines
=virtualmachine