-
Notifications
You must be signed in to change notification settings - Fork 6
Naming Strategies
az prototype enforces consistent Azure resource naming across all generated infrastructure code (Terraform and Bicep). The naming module provides five built-in strategies that agents use when generating resource definitions. Every resource name is run through constraint checks for Azure-specific length limits and character restrictions.
The naming strategy is configured in the naming section of prototype.yaml. See Configuration for the full config structure.
Based on the Microsoft Azure Landing Zone naming conventions. Uses a zone ID prefix that identifies the landing zone purpose.
Pattern: {zoneid}-{type}-{service}-{env}-{region_short}
Examples (zone=zd, org=contoso, env=dev, region=eastus):
| Resource Type | Generated Name |
|---|---|
| resource_group | zd-rg-api-dev-eus |
| storage_account | zdstapidevseus |
| app_service | zd-app-api-dev-eus |
| key_vault | zd-kv-api-dev-eus |
| cosmos_db | zd-cosmos-api-dev-eus |
Platform resources (networking, identity, monitoring) use pc, pi, or pm zone IDs. Application resources use zd, zt, zs, or zp based on environment.
Follows the Microsoft Cloud Adoption Framework resource naming best practices. Includes organization name and instance number.
Pattern: {type}-{org}-{service}-{env}-{region_short}-{instance}
Examples (org=contoso, env=dev, region=eastus, instance=001):
| Resource Type | Generated Name |
|---|---|
| resource_group | rg-contoso-api-dev-eus-001 |
| storage_account | stcontosoapideveus001 |
| app_service | app-contoso-api-dev-eus-001 |
| key_vault | kv-contoso-api-dev-eus-001 |
| cosmos_db | cosmos-contoso-api-dev-eus-001 |
Reference: Azure resource naming conventions
Minimal naming for quick prototypes. No region or instance suffix.
Pattern: {org}-{service}-{type}-{env}
Examples (org=contoso, env=dev):
| Resource Type | Generated Name |
|---|---|
| resource_group | contoso-api-rg-dev |
| storage_account | contosoapistdev |
| app_service | contoso-api-app-dev |
| key_vault | contoso-api-kv-dev |
| cosmos_db | contoso-api-cosmos-dev |
Includes a business unit prefix for organizations with multiple teams sharing an Azure environment.
Pattern: {type}-{bu}-{org}-{service}-{env}-{region_short}-{instance}
Examples (bu=it, org=contoso, env=dev, region=eastus, instance=001):
| Resource Type | Generated Name |
|---|---|
| resource_group | rg-it-contoso-api-dev-eus-001 |
| storage_account | rgitcontosoapideveus001 |
| app_service | app-it-contoso-api-dev-eus-001 |
| key_vault | kv-it-contoso-api-dev-eus-001 |
| cosmos_db | cosmos-it-contoso-api-dev-eus-001 |
The business unit is configured via naming.business_unit (defaults to eng).
Define your own naming pattern using placeholders. The pattern is read from naming.pattern in the config.
Default pattern: {type}-{org}-{service}-{env}-{region_short}
Available placeholders:
| Placeholder | Description |
|---|---|
{org} |
Organization name (from naming.org or project.name) |
{env} |
Environment abbreviation |
{region} |
Full Azure region name (e.g., eastus) |
{region_short} |
Short region code (e.g., eus) |
{service} |
Service/component name (e.g., api, web); defaults to core
|
{type} |
CAF resource type abbreviation (e.g., rg, st, kv) |
{suffix} |
Optional suffix (from naming.suffix) |
{instance} |
Instance number (from naming.instance, defaults to 001) |
{zoneid} |
ALZ zone ID (from naming.zone_id or derived from environment) |
Example custom pattern:
az prototype config set --key naming.strategy --value custom
az prototype config set --key naming.pattern --value "{org}-{type}-{service}-{env}-{region_short}"Zone IDs identify the purpose of a landing zone in the Azure Landing Zone architecture:
| Zone ID | Landing Zone |
|---|---|
pc |
Connectivity Platform |
pi |
Identity Platform |
pm |
Management Platform |
zp |
Production Zone |
zs |
Staging Zone |
zd |
Development Zone (default) |
zt |
Testing Zone |
The zone ID is resolved from naming.zone_id in config. If not set explicitly, it is derived from the environment name:
| Environment | Zone ID |
|---|---|
dev, development
|
zd |
test, testing, qa
|
zt |
staging, stg, uat
|
zs |
prod, production
|
zp |
Azure regions are mapped to short codes for use in resource names:
| Region | Code | Region | Code | |
|---|---|---|---|---|
eastus |
eus |
northeurope |
neu |
|
eastus2 |
eus2 |
westeurope |
weu |
|
westus |
wus |
uksouth |
uks |
|
westus2 |
wus2 |
ukwest |
ukw |
|
westus3 |
wus3 |
francecentral |
frc |
|
centralus |
cus |
germanywestcentral |
gwc |
|
northcentralus |
ncus |
norwayeast |
noe |
|
southcentralus |
scus |
swedencentral |
sec |
|
westcentralus |
wcus |
switzerlandnorth |
szn |
|
canadacentral |
cac |
australiaeast |
aue |
|
canadaeast |
cae |
australiasoutheast |
ause |
|
brazilsouth |
brs |
eastasia |
ea |
|
southeastasia |
sea |
japaneast |
jpe |
|
japanwest |
jpw |
koreacentral |
krc |
|
koreasouth |
krs |
centralindia |
inc |
|
southindia |
ins |
westindia |
inw |
|
southafricanorth |
san |
uaenorth |
uan |
For regions not in this table, the first four characters of the region name are used as the short code.
Resource type abbreviations follow the Microsoft Cloud Adoption Framework:
| Resource Type | Abbreviation | Resource Type | Abbreviation | |
|---|---|---|---|---|
resource_group |
rg |
container_app |
ca |
|
storage_account |
st |
container_app_environment |
cae |
|
app_service |
app |
container_registry |
cr |
|
app_service_plan |
asp |
log_analytics |
log |
|
function_app |
func |
application_insights |
appi |
|
key_vault |
kv |
api_management |
apim |
|
cosmos_db |
cosmos |
service_bus |
sb |
|
sql_server |
sql |
event_hub |
evh |
|
sql_database |
sqldb |
event_grid |
evg |
|
virtual_network |
vnet |
front_door |
fd |
|
subnet |
snet |
cdn_profile |
cdnp |
|
network_security_group |
nsg |
dns_zone |
dns |
|
public_ip |
pip |
private_endpoint |
pe |
|
load_balancer |
lb |
managed_identity |
id |
|
redis_cache |
redis |
search_service |
srch |
|
cognitive_account |
cog |
openai_account |
oai |
|
signalr |
sigr |
static_web_app |
stapp |
|
web_pubsub |
wps |
data_factory |
adf |
|
databricks |
dbw |
machine_learning |
mlw |
|
monitor_action_group |
ag |
monitor_alert |
al |
Reference: Azure resource abbreviations
Set the naming strategy and related parameters:
# Choose a strategy
az prototype config set --key naming.strategy --value microsoft-caf
# Set organization name (used in resource names)
az prototype config set --key naming.org --value contoso
# Set environment
az prototype config set --key naming.env --value prod
# Set ALZ zone ID (for microsoft-alz strategy)
az prototype config set --key naming.zone_id --value zp
# Set business unit (for enterprise strategy)
az prototype config set --key naming.business_unit --value platform
# Set instance number (for CAF and enterprise strategies)
az prototype config set --key naming.instance --value 002
# Set custom pattern (for custom strategy)
az prototype config set --key naming.strategy --value custom
az prototype config set --key naming.pattern --value "{org}-{type}-{service}-{env}"
# Override a specific resource type
az prototype config set --key naming.overrides.storage_account --value "st{org}{service}{env}"The naming module enforces Azure-specific constraints automatically. After building a name from the strategy pattern, the following rules are applied:
| Resource Type | Max Length | Hyphens Allowed | Lowercase Only |
|---|---|---|---|
storage_account |
24 | No | Yes |
key_vault |
24 | Yes | No |
container_registry |
50 | No | Yes |
resource_group |
90 | Yes | No |
cosmos_db |
44 | Yes | Yes |
| All others | 63 | Yes | No |
Additionally, all non-alphanumeric characters (except hyphens where allowed) are stripped from generated names. Names exceeding the maximum length are truncated.
Per-resource overrides (via naming.overrides) are supported and processed through the same constraint pipeline, so even custom names conform to Azure limits.
Getting Started
Stages
Interfaces
Configuration
Agent System
Features
- Backlog Generation
- Cost Analysis
- Error Analysis
- Docs & Spec Kit
- MCP Integration
- Knowledge System
- Escalation
Quality
Help
Policies — Azure
AI Services
Compute
Data Services
- Azure SQL
- Backup Vault
- Cosmos Db
- Data Factory
- Databricks
- Event Grid
- Event Hubs
- Fabric
- IoT Hub
- Mysql Flexible
- Postgresql Flexible
- Recovery Services
- Redis Cache
- Service Bus
- Stream Analytics
- Synapse Workspace
Identity
Management
Messaging
Monitoring
Networking
- Application Gateway
- Bastion
- CDN
- DDoS Protection
- DNS Zones
- Expressroute
- Firewall
- Load Balancer
- Nat Gateway
- Network Interface
- Private Endpoints
- Public Ip
- Route Tables
- Traffic Manager
- Virtual Network
- Vpn Gateway
- WAF Policy
Security
Storage
Web & App
Policies — Well-Architected
Reliability
Security
Cost Optimization
Operational Excellence
Performance Efficiency
Integration