Skip to content

Commit 3073b4d

Browse files
Merge pull request #411 from Harmanpreet-Microsoft/main
feat: Centralize resource name abbreviations and update Bicep files for consistent naming
2 parents 5b77f42 + 0c915a5 commit 3073b4d

8 files changed

+252
-20
lines changed

infra/abbreviations.json

+227
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
{
2+
"ai": {
3+
"aiSearch": "srch-",
4+
"aiServices": "aisa-",
5+
"aiVideoIndexer": "avi-",
6+
"machineLearningWorkspace": "mlw-",
7+
"openAIService": "oai-",
8+
"botService": "bot-",
9+
"computerVision": "cv-",
10+
"contentModerator": "cm-",
11+
"contentSafety": "cs-",
12+
"customVisionPrediction": "cstv-",
13+
"customVisionTraining": "cstvt-",
14+
"documentIntelligence": "di-",
15+
"faceApi": "face-",
16+
"healthInsights": "hi-",
17+
"immersiveReader": "ir-",
18+
"languageService": "lang-",
19+
"speechService": "spch-",
20+
"translator": "trsl-",
21+
"aiHub": "aih-",
22+
"aiHubProject": "aihp-"
23+
},
24+
"analytics": {
25+
"analysisServicesServer": "as",
26+
"databricksWorkspace": "dbw-",
27+
"dataExplorerCluster": "dec",
28+
"dataExplorerClusterDatabase": "dedb",
29+
"dataFactory": "adf-",
30+
"digitalTwin": "dt-",
31+
"streamAnalytics": "asa-",
32+
"synapseAnalyticsPrivateLinkHub": "synplh-",
33+
"synapseAnalyticsSQLDedicatedPool": "syndp",
34+
"synapseAnalyticsSparkPool": "synsp",
35+
"synapseAnalyticsWorkspaces": "synw",
36+
"dataLakeStoreAccount": "dls",
37+
"dataLakeAnalyticsAccount": "dla",
38+
"eventHubsNamespace": "evhns-",
39+
"eventHub": "evh-",
40+
"eventGridDomain": "evgd-",
41+
"eventGridSubscriptions": "evgs-",
42+
"eventGridTopic": "evgt-",
43+
"eventGridSystemTopic": "egst-",
44+
"hdInsightHadoopCluster": "hadoop-",
45+
"hdInsightHBaseCluster": "hbase-",
46+
"hdInsightKafkaCluster": "kafka-",
47+
"hdInsightSparkCluster": "spark-",
48+
"hdInsightStormCluster": "storm-",
49+
"hdInsightMLServicesCluster": "mls-",
50+
"iotHub": "iot-",
51+
"provisioningServices": "provs-",
52+
"provisioningServicesCertificate": "pcert-",
53+
"powerBIEmbedded": "pbi-",
54+
"timeSeriesInsightsEnvironment": "tsi-"
55+
},
56+
"compute": {
57+
"appServiceEnvironment": "ase-",
58+
"appServicePlan": "asp-",
59+
"loadTesting": "lt-",
60+
"availabilitySet": "avail-",
61+
"arcEnabledServer": "arcs-",
62+
"arcEnabledKubernetesCluster": "arck",
63+
"batchAccounts": "ba-",
64+
"cloudService": "cld-",
65+
"communicationServices": "acs-",
66+
"diskEncryptionSet": "des",
67+
"functionApp": "func-",
68+
"gallery": "gal",
69+
"hostingEnvironment": "host-",
70+
"imageTemplate": "it-",
71+
"managedDiskOS": "osdisk",
72+
"managedDiskData": "disk",
73+
"notificationHubs": "ntf-",
74+
"notificationHubsNamespace": "ntfns-",
75+
"proximityPlacementGroup": "ppg-",
76+
"restorePointCollection": "rpc-",
77+
"snapshot": "snap-",
78+
"staticWebApp": "stapp-",
79+
"virtualMachine": "vm",
80+
"virtualMachineScaleSet": "vmss-",
81+
"virtualMachineMaintenanceConfiguration": "mc-",
82+
"virtualMachineStorageAccount": "stvm",
83+
"webApp": "app-"
84+
},
85+
"containers": {
86+
"aksCluster": "aks-",
87+
"aksSystemNodePool": "npsystem-",
88+
"aksUserNodePool": "np-",
89+
"containerApp": "ca-",
90+
"containerAppsEnvironment": "cae-",
91+
"containerRegistry": "cr",
92+
"containerInstance": "ci",
93+
"serviceFabricCluster": "sf-",
94+
"serviceFabricManagedCluster": "sfmc-"
95+
},
96+
"databases": {
97+
"cosmosDBDatabase": "cosmos-",
98+
"cosmosDBApacheCassandra": "coscas-",
99+
"cosmosDBMongoDB": "cosmon-",
100+
"cosmosDBNoSQL": "cosno-",
101+
"cosmosDBTable": "costab-",
102+
"cosmosDBGremlin": "cosgrm-",
103+
"cosmosDBPostgreSQL": "cospos-",
104+
"cacheForRedis": "redis-",
105+
"sqlDatabaseServer": "sql-",
106+
"sqlDatabase": "sqldb-",
107+
"sqlElasticJobAgent": "sqlja-",
108+
"sqlElasticPool": "sqlep-",
109+
"mariaDBServer": "maria-",
110+
"mariaDBDatabase": "mariadb-",
111+
"mySQLDatabase": "mysql-",
112+
"postgreSQLDatabase": "psql-",
113+
"sqlServerStretchDatabase": "sqlstrdb-",
114+
"sqlManagedInstance": "sqlmi-"
115+
},
116+
"developerTools": {
117+
"appConfigurationStore": "appcs-",
118+
"mapsAccount": "map-",
119+
"signalR": "sigr",
120+
"webPubSub": "wps-"
121+
},
122+
"devOps": {
123+
"managedGrafana": "amg-"
124+
},
125+
"integration": {
126+
"apiManagementService": "apim-",
127+
"integrationAccount": "ia-",
128+
"logicApp": "logic-",
129+
"serviceBusNamespace": "sbns-",
130+
"serviceBusQueue": "sbq-",
131+
"serviceBusTopic": "sbt-",
132+
"serviceBusTopicSubscription": "sbts-"
133+
},
134+
"managementGovernance": {
135+
"automationAccount": "aa-",
136+
"applicationInsights": "appi-",
137+
"monitorActionGroup": "ag-",
138+
"monitorDataCollectionRules": "dcr-",
139+
"monitorAlertProcessingRule": "apr-",
140+
"blueprint": "bp-",
141+
"blueprintAssignment": "bpa-",
142+
"dataCollectionEndpoint": "dce-",
143+
"logAnalyticsWorkspace": "log-",
144+
"logAnalyticsQueryPacks": "pack-",
145+
"managementGroup": "mg-",
146+
"purviewInstance": "pview-",
147+
"resourceGroup": "rg-",
148+
"templateSpecsName": "ts-"
149+
},
150+
"migration": {
151+
"migrateProject": "migr-",
152+
"databaseMigrationService": "dms-",
153+
"recoveryServicesVault": "rsv-"
154+
},
155+
"networking": {
156+
"applicationGateway": "agw-",
157+
"applicationSecurityGroup": "asg-",
158+
"cdnProfile": "cdnp-",
159+
"cdnEndpoint": "cdne-",
160+
"connections": "con-",
161+
"dnsForwardingRuleset": "dnsfrs-",
162+
"dnsPrivateResolver": "dnspr-",
163+
"dnsPrivateResolverInboundEndpoint": "in-",
164+
"dnsPrivateResolverOutboundEndpoint": "out-",
165+
"firewall": "afw-",
166+
"firewallPolicy": "afwp-",
167+
"expressRouteCircuit": "erc-",
168+
"expressRouteGateway": "ergw-",
169+
"frontDoorProfile": "afd-",
170+
"frontDoorEndpoint": "fde-",
171+
"frontDoorFirewallPolicy": "fdfp-",
172+
"ipGroups": "ipg-",
173+
"loadBalancerInternal": "lbi-",
174+
"loadBalancerExternal": "lbe-",
175+
"loadBalancerRule": "rule-",
176+
"localNetworkGateway": "lgw-",
177+
"natGateway": "ng-",
178+
"networkInterface": "nic-",
179+
"networkSecurityGroup": "nsg-",
180+
"networkSecurityGroupSecurityRules": "nsgsr-",
181+
"networkWatcher": "nw-",
182+
"privateLink": "pl-",
183+
"privateEndpoint": "pep-",
184+
"publicIPAddress": "pip-",
185+
"publicIPAddressPrefix": "ippre-",
186+
"routeFilter": "rf-",
187+
"routeServer": "rtserv-",
188+
"routeTable": "rt-",
189+
"serviceEndpointPolicy": "se-",
190+
"trafficManagerProfile": "traf-",
191+
"userDefinedRoute": "udr-",
192+
"virtualNetwork": "vnet-",
193+
"virtualNetworkGateway": "vgw-",
194+
"virtualNetworkManager": "vnm-",
195+
"virtualNetworkPeering": "peer-",
196+
"virtualNetworkSubnet": "snet-",
197+
"virtualWAN": "vwan-",
198+
"virtualWANHub": "vhub-"
199+
},
200+
"security": {
201+
"bastion": "bas-",
202+
"keyVault": "kv-",
203+
"keyVaultManagedHSM": "kvmhsm-",
204+
"managedIdentity": "id-",
205+
"sshKey": "sshkey-",
206+
"vpnGateway": "vpng-",
207+
"vpnConnection": "vcn-",
208+
"vpnSite": "vst-",
209+
"webApplicationFirewallPolicy": "waf",
210+
"webApplicationFirewallPolicyRuleGroup": "wafrg"
211+
},
212+
"storage": {
213+
"storSimple": "ssimp",
214+
"backupVault": "bvault-",
215+
"backupVaultPolicy": "bkpol-",
216+
"fileShare": "share-",
217+
"storageAccount": "st",
218+
"storageSyncService": "sss-"
219+
},
220+
"virtualDesktop": {
221+
"labServicesPlan": "lp-",
222+
"virtualDesktopHostPool": "vdpool-",
223+
"virtualDesktopApplicationGroup": "vdag-",
224+
"virtualDesktopWorkspace": "vdws-",
225+
"virtualDesktopScalingPlan": "vdscaling-"
226+
}
227+
}

infra/deploy_ai_foundry.bicep

+11-10
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,24 @@ param gptDeploymentCapacity int
99
param embeddingModel string
1010
param embeddingDeploymentCapacity int
1111
param managedIdentityObjectId string
12+
var abbrs = loadJsonContent('./abbreviations.json')
1213

13-
var storageName = 'st${solutionName}hub'
14+
var storageName = '${abbrs.storage.storageAccount}${solutionName}-hub'
1415
var storageSkuName = 'Standard_LRS'
15-
var aiServicesName = 'ais-${solutionName}'
16+
var aiServicesName = '${abbrs.ai.aiServices}${solutionName}'
1617
// var aiServicesName_m = '${solutionName}-aiservices_m'
1718
// var location_m = solutionLocation
18-
var applicationInsightsName = 'appi-${solutionName}'
19-
var containerRegistryName = 'cr-${solutionName}'
20-
var keyvaultName = 'kv-${solutionName}'
19+
var applicationInsightsName = '${abbrs.managementGovernance.applicationInsights}${solutionName}'
20+
var containerRegistryName = '${abbrs.containers.containerRegistry}${solutionName}'
21+
var keyvaultName = '${abbrs.security.keyVault}${solutionName}'
2122
var location = solutionLocation //'eastus2'
22-
var aiHubName = 'hub-${solutionName}'
23+
var aiHubName = '${abbrs.ai.aiHub}${solutionName}-hub'
2324
var aiHubFriendlyName = aiHubName
2425
var aiHubDescription = 'AI Hub'
25-
var aiProjectName = 'proj-${solutionName}'
26+
var aiProjectName = '${abbrs.ai.aiHubProject}${solutionName}'
2627
var aiProjectFriendlyName = aiProjectName
27-
var aiSearchName = 'srch-${solutionName}'
28-
var workspaceName = 'log-${solutionName}-hub'
28+
var aiSearchName = '${abbrs.ai.aiSearch}${solutionName}'
29+
var workspaceName = '${abbrs.managementGovernance.logAnalyticsWorkspace}${solutionName}'
2930
var aiModelDeployments = [
3031
{
3132
name: gptModelName
@@ -142,7 +143,7 @@ resource aiServices 'Microsoft.CognitiveServices/accounts@2021-10-01' = {
142143
properties: {
143144
customSubDomainName: aiServicesName
144145
apiProperties: {
145-
statisticsEnabled: false
146+
//statisticsEnabled: false
146147
}
147148
}
148149
}

infra/deploy_app_service.bicep

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ param solutionName string
1010
// param solutionLocation string
1111

1212
// param identity string
13+
var abbrs = loadJsonContent('./abbreviations.json')
1314

1415
@description('Name of App Service plan')
15-
param HostingPlanName string = 'asp-${ solutionName }'
16+
var HostingPlanName = '${abbrs.compute.appServicePlan}${solutionName}'
1617

1718
@description('The pricing tier for the App Service plan')
1819
@allowed(
@@ -23,7 +24,7 @@ param HostingPlanName string = 'asp-${ solutionName }'
2324
param HostingPlanSku string = 'B1'
2425

2526
@description('Name of Web App')
26-
param WebsiteName string = 'app-${ solutionName }'
27+
var WebsiteName = '${abbrs.compute.webApp}${solutionName}'
2728

2829
// @description('Name of Application Insights')
2930
// param ApplicationInsightsName string = '${ solutionName }-app-insights'

infra/deploy_cosmos_db.bicep

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
param solutionName string
55
param solutionLocation string
66
param keyVaultName string
7+
var abbrs = loadJsonContent('./abbreviations.json')
78

8-
var accountName = 'cosmos-${ solutionName }'
9+
var accountName = '${abbrs.databases.cosmosDBDatabase}${solutionName}'
910
var databaseName = 'db_conversation_history'
1011
var collectionName = 'conversations'
1112

infra/deploy_keyvault.bicep

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
param solutionName string
55
param solutionLocation string
66
param managedIdentityObjectId string
7+
var abbrs = loadJsonContent('./abbreviations.json')
78

8-
var keyvaultName = 'kv-${solutionName}'
9+
var keyvaultName = '${abbrs.security.keyVault}${solutionName}'
910

1011
resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' = {
1112
name: keyvaultName

infra/deploy_managed_identity.bicep

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// ========== Managed Identity ========== //
22
targetScope = 'resourceGroup'
3+
var abbrs = loadJsonContent('./abbreviations.json')
34

45
@minLength(3)
56
@maxLength(15)
@@ -10,7 +11,7 @@ param solutionName string
1011
param solutionLocation string
1112

1213
@description('Name')
13-
param miName string = 'id-${ solutionName }'
14+
var miName = '${abbrs.security.managedIdentity}${solutionName}'
1415

1516
resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {
1617
name: miName

infra/deploy_storage_account.bicep

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// ========== Storage Account ========== //
22
targetScope = 'resourceGroup'
3-
3+
var abbrs = loadJsonContent('./abbreviations.json')
44
@minLength(3)
55
@maxLength(15)
66
@description('Solution Name')
@@ -10,7 +10,7 @@ param solutionName string
1010
param solutionLocation string
1111

1212
@description('Name')
13-
param saName string = 'st${ solutionName }'
13+
var saName = '${abbrs.storage.storageAccount}${ solutionName }'
1414

1515
param keyVaultName string
1616
param managedIdentityObjectId string

infra/main.bicep

+3-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ param gptDeploymentCapacity int = 30
4848
])
4949
param embeddingModel string = 'text-embedding-ada-002'
5050

51-
51+
var abbrs = loadJsonContent('./abbreviations.json')
5252
@minValue(10)
5353
@description('Capacity of the Embedding Model deployment')
5454
param embeddingDeploymentCapacity int = 80
@@ -62,8 +62,8 @@ var resourceGroupLocation = resourceGroup().location
6262
var solutionLocation = resourceGroupLocation
6363
var baseUrl = 'https://raw.githubusercontent.com/microsoft/document-generation-solution-accelerator/main/'
6464

65-
var ApplicationInsightsName = 'appi-${solutionPrefix}'
66-
var WorkspaceName = 'log-${solutionPrefix}'
65+
var ApplicationInsightsName ='${abbrs.managementGovernance.applicationInsights}${solutionPrefix}'
66+
var WorkspaceName = '${abbrs.managementGovernance.logAnalyticsWorkspace}${solutionPrefix}'
6767

6868
// ========== Managed Identity ========== //
6969
module managedIdentityModule 'deploy_managed_identity.bicep' = {

0 commit comments

Comments
 (0)