Skip to content

feat: Centralize resource name abbreviations and update Bicep files for consistent naming #411

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
227 changes: 227 additions & 0 deletions infra/abbreviations.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
{
"ai": {
"aiSearch": "srch-",
"aiServices": "aisa-",
"aiVideoIndexer": "avi-",
"machineLearningWorkspace": "mlw-",
"openAIService": "oai-",
"botService": "bot-",
"computerVision": "cv-",
"contentModerator": "cm-",
"contentSafety": "cs-",
"customVisionPrediction": "cstv-",
"customVisionTraining": "cstvt-",
"documentIntelligence": "di-",
"faceApi": "face-",
"healthInsights": "hi-",
"immersiveReader": "ir-",
"languageService": "lang-",
"speechService": "spch-",
"translator": "trsl-",
"aiHub": "aih-",
"aiHubProject": "aihp-"
},
"analytics": {
"analysisServicesServer": "as",
"databricksWorkspace": "dbw-",
"dataExplorerCluster": "dec",
"dataExplorerClusterDatabase": "dedb",
"dataFactory": "adf-",
"digitalTwin": "dt-",
"streamAnalytics": "asa-",
"synapseAnalyticsPrivateLinkHub": "synplh-",
"synapseAnalyticsSQLDedicatedPool": "syndp",
"synapseAnalyticsSparkPool": "synsp",
"synapseAnalyticsWorkspaces": "synw",
"dataLakeStoreAccount": "dls",
"dataLakeAnalyticsAccount": "dla",
"eventHubsNamespace": "evhns-",
"eventHub": "evh-",
"eventGridDomain": "evgd-",
"eventGridSubscriptions": "evgs-",
"eventGridTopic": "evgt-",
"eventGridSystemTopic": "egst-",
"hdInsightHadoopCluster": "hadoop-",
"hdInsightHBaseCluster": "hbase-",
"hdInsightKafkaCluster": "kafka-",
"hdInsightSparkCluster": "spark-",
"hdInsightStormCluster": "storm-",
"hdInsightMLServicesCluster": "mls-",
"iotHub": "iot-",
"provisioningServices": "provs-",
"provisioningServicesCertificate": "pcert-",
"powerBIEmbedded": "pbi-",
"timeSeriesInsightsEnvironment": "tsi-"
},
"compute": {
"appServiceEnvironment": "ase-",
"appServicePlan": "asp-",
"loadTesting": "lt-",
"availabilitySet": "avail-",
"arcEnabledServer": "arcs-",
"arcEnabledKubernetesCluster": "arck",
"batchAccounts": "ba-",
"cloudService": "cld-",
"communicationServices": "acs-",
"diskEncryptionSet": "des",
"functionApp": "func-",
"gallery": "gal",
"hostingEnvironment": "host-",
"imageTemplate": "it-",
"managedDiskOS": "osdisk",
"managedDiskData": "disk",
"notificationHubs": "ntf-",
"notificationHubsNamespace": "ntfns-",
"proximityPlacementGroup": "ppg-",
"restorePointCollection": "rpc-",
"snapshot": "snap-",
"staticWebApp": "stapp-",
"virtualMachine": "vm",
"virtualMachineScaleSet": "vmss-",
"virtualMachineMaintenanceConfiguration": "mc-",
"virtualMachineStorageAccount": "stvm",
"webApp": "app-"
},
"containers": {
"aksCluster": "aks-",
"aksSystemNodePool": "npsystem-",
"aksUserNodePool": "np-",
"containerApp": "ca-",
"containerAppsEnvironment": "cae-",
"containerRegistry": "cr",
"containerInstance": "ci",
"serviceFabricCluster": "sf-",
"serviceFabricManagedCluster": "sfmc-"
},
"databases": {
"cosmosDBDatabase": "cosmos-",
"cosmosDBApacheCassandra": "coscas-",
"cosmosDBMongoDB": "cosmon-",
"cosmosDBNoSQL": "cosno-",
"cosmosDBTable": "costab-",
"cosmosDBGremlin": "cosgrm-",
"cosmosDBPostgreSQL": "cospos-",
"cacheForRedis": "redis-",
"sqlDatabaseServer": "sql-",
"sqlDatabase": "sqldb-",
"sqlElasticJobAgent": "sqlja-",
"sqlElasticPool": "sqlep-",
"mariaDBServer": "maria-",
"mariaDBDatabase": "mariadb-",
"mySQLDatabase": "mysql-",
"postgreSQLDatabase": "psql-",
"sqlServerStretchDatabase": "sqlstrdb-",
"sqlManagedInstance": "sqlmi-"
},
"developerTools": {
"appConfigurationStore": "appcs-",
"mapsAccount": "map-",
"signalR": "sigr",
"webPubSub": "wps-"
},
"devOps": {
"managedGrafana": "amg-"
},
"integration": {
"apiManagementService": "apim-",
"integrationAccount": "ia-",
"logicApp": "logic-",
"serviceBusNamespace": "sbns-",
"serviceBusQueue": "sbq-",
"serviceBusTopic": "sbt-",
"serviceBusTopicSubscription": "sbts-"
},
"managementGovernance": {
"automationAccount": "aa-",
"applicationInsights": "appi-",
"monitorActionGroup": "ag-",
"monitorDataCollectionRules": "dcr-",
"monitorAlertProcessingRule": "apr-",
"blueprint": "bp-",
"blueprintAssignment": "bpa-",
"dataCollectionEndpoint": "dce-",
"logAnalyticsWorkspace": "log-",
"logAnalyticsQueryPacks": "pack-",
"managementGroup": "mg-",
"purviewInstance": "pview-",
"resourceGroup": "rg-",
"templateSpecsName": "ts-"
},
"migration": {
"migrateProject": "migr-",
"databaseMigrationService": "dms-",
"recoveryServicesVault": "rsv-"
},
"networking": {
"applicationGateway": "agw-",
"applicationSecurityGroup": "asg-",
"cdnProfile": "cdnp-",
"cdnEndpoint": "cdne-",
"connections": "con-",
"dnsForwardingRuleset": "dnsfrs-",
"dnsPrivateResolver": "dnspr-",
"dnsPrivateResolverInboundEndpoint": "in-",
"dnsPrivateResolverOutboundEndpoint": "out-",
"firewall": "afw-",
"firewallPolicy": "afwp-",
"expressRouteCircuit": "erc-",
"expressRouteGateway": "ergw-",
"frontDoorProfile": "afd-",
"frontDoorEndpoint": "fde-",
"frontDoorFirewallPolicy": "fdfp-",
"ipGroups": "ipg-",
"loadBalancerInternal": "lbi-",
"loadBalancerExternal": "lbe-",
"loadBalancerRule": "rule-",
"localNetworkGateway": "lgw-",
"natGateway": "ng-",
"networkInterface": "nic-",
"networkSecurityGroup": "nsg-",
"networkSecurityGroupSecurityRules": "nsgsr-",
"networkWatcher": "nw-",
"privateLink": "pl-",
"privateEndpoint": "pep-",
"publicIPAddress": "pip-",
"publicIPAddressPrefix": "ippre-",
"routeFilter": "rf-",
"routeServer": "rtserv-",
"routeTable": "rt-",
"serviceEndpointPolicy": "se-",
"trafficManagerProfile": "traf-",
"userDefinedRoute": "udr-",
"virtualNetwork": "vnet-",
"virtualNetworkGateway": "vgw-",
"virtualNetworkManager": "vnm-",
"virtualNetworkPeering": "peer-",
"virtualNetworkSubnet": "snet-",
"virtualWAN": "vwan-",
"virtualWANHub": "vhub-"
},
"security": {
"bastion": "bas-",
"keyVault": "kv-",
"keyVaultManagedHSM": "kvmhsm-",
"managedIdentity": "id-",
"sshKey": "sshkey-",
"vpnGateway": "vpng-",
"vpnConnection": "vcn-",
"vpnSite": "vst-",
"webApplicationFirewallPolicy": "waf",
"webApplicationFirewallPolicyRuleGroup": "wafrg"
},
"storage": {
"storSimple": "ssimp",
"backupVault": "bvault-",
"backupVaultPolicy": "bkpol-",
"fileShare": "share-",
"storageAccount": "st",
"storageSyncService": "sss-"
},
"virtualDesktop": {
"labServicesPlan": "lp-",
"virtualDesktopHostPool": "vdpool-",
"virtualDesktopApplicationGroup": "vdag-",
"virtualDesktopWorkspace": "vdws-",
"virtualDesktopScalingPlan": "vdscaling-"
}
}
21 changes: 11 additions & 10 deletions infra/deploy_ai_foundry.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,24 @@ param gptDeploymentCapacity int
param embeddingModel string
param embeddingDeploymentCapacity int
param managedIdentityObjectId string
var abbrs = loadJsonContent('./abbreviations.json')

var storageName = 'st${solutionName}hub'
var storageName = '${abbrs.storage.storageAccount}${solutionName}-hub'
var storageSkuName = 'Standard_LRS'
var aiServicesName = 'ais-${solutionName}'
var aiServicesName = '${abbrs.ai.aiServices}${solutionName}'
// var aiServicesName_m = '${solutionName}-aiservices_m'
// var location_m = solutionLocation
var applicationInsightsName = 'appi-${solutionName}'
var containerRegistryName = 'cr-${solutionName}'
var keyvaultName = 'kv-${solutionName}'
var applicationInsightsName = '${abbrs.managementGovernance.applicationInsights}${solutionName}'
var containerRegistryName = '${abbrs.containers.containerRegistry}${solutionName}'
var keyvaultName = '${abbrs.security.keyVault}${solutionName}'
var location = solutionLocation //'eastus2'
var aiHubName = 'hub-${solutionName}'
var aiHubName = '${abbrs.ai.aiHub}${solutionName}-hub'
var aiHubFriendlyName = aiHubName
var aiHubDescription = 'AI Hub'
var aiProjectName = 'proj-${solutionName}'
var aiProjectName = '${abbrs.ai.aiHubProject}${solutionName}'
var aiProjectFriendlyName = aiProjectName
var aiSearchName = 'srch-${solutionName}'
var workspaceName = 'log-${solutionName}-hub'
var aiSearchName = '${abbrs.ai.aiSearch}${solutionName}'
var workspaceName = '${abbrs.managementGovernance.logAnalyticsWorkspace}${solutionName}'
var aiModelDeployments = [
{
name: gptModelName
Expand Down Expand Up @@ -142,7 +143,7 @@ resource aiServices 'Microsoft.CognitiveServices/accounts@2021-10-01' = {
properties: {
customSubDomainName: aiServicesName
apiProperties: {
statisticsEnabled: false
//statisticsEnabled: false
}
}
}
Expand Down
5 changes: 3 additions & 2 deletions infra/deploy_app_service.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ param solutionName string
// param solutionLocation string

// param identity string
var abbrs = loadJsonContent('./abbreviations.json')

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

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

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

// @description('Name of Application Insights')
// param ApplicationInsightsName string = '${ solutionName }-app-insights'
Expand Down
3 changes: 2 additions & 1 deletion infra/deploy_cosmos_db.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
param solutionName string
param solutionLocation string
param keyVaultName string
var abbrs = loadJsonContent('./abbreviations.json')

var accountName = 'cosmos-${ solutionName }'
var accountName = '${abbrs.databases.cosmosDBDatabase}${solutionName}'
var databaseName = 'db_conversation_history'
var collectionName = 'conversations'

Expand Down
3 changes: 2 additions & 1 deletion infra/deploy_keyvault.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
param solutionName string
param solutionLocation string
param managedIdentityObjectId string
var abbrs = loadJsonContent('./abbreviations.json')

var keyvaultName = 'kv-${solutionName}'
var keyvaultName = '${abbrs.security.keyVault}${solutionName}'

resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' = {
name: keyvaultName
Expand Down
3 changes: 2 additions & 1 deletion infra/deploy_managed_identity.bicep
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// ========== Managed Identity ========== //
targetScope = 'resourceGroup'
var abbrs = loadJsonContent('./abbreviations.json')

@minLength(3)
@maxLength(15)
Expand All @@ -10,7 +11,7 @@ param solutionName string
param solutionLocation string

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

resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {
name: miName
Expand Down
4 changes: 2 additions & 2 deletions infra/deploy_storage_account.bicep
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// ========== Storage Account ========== //
targetScope = 'resourceGroup'

var abbrs = loadJsonContent('./abbreviations.json')
@minLength(3)
@maxLength(15)
@description('Solution Name')
Expand All @@ -10,7 +10,7 @@ param solutionName string
param solutionLocation string

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

param keyVaultName string
param managedIdentityObjectId string
Expand Down
6 changes: 3 additions & 3 deletions infra/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ param gptDeploymentCapacity int = 30
])
param embeddingModel string = 'text-embedding-ada-002'


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

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

// ========== Managed Identity ========== //
module managedIdentityModule 'deploy_managed_identity.bicep' = {
Expand Down
Loading