scenarios/shared/terraform/modules/naming/local.tf (43 lines of code) (raw):
locals {
namingBase = "${var.resourceTypeToken}-${var.workloadName}-${var.environment}-${var.regionAbbreviations["${var.location}"]}"
namingBaseUnique = "${var.resourceTypeToken}-${var.workloadName}-${var.uniqueId}-${var.environment}-${var.regionAbbreviations["${var.location}"]}"
namingBaseNoWorkloadName = "${var.resourceTypeToken}-${var.environment}-${var.regionAbbreviations["${var.location}"]}"
resourceNames = {
vnetSpoke = "${replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.virtualNetwork)}-spoke"
vnetHub = "${replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.virtualNetwork)}-hub"
applicationGateway = replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.applicationGateway)
applicationGatewayNsg = "${var.resourceTypeAbbreviations.networkSecurityGroup}-${replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.applicationGateway)}"
applicationGatewayPip = "${var.resourceTypeAbbreviations.publicIpAddress}-${replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.applicationGateway)}"
applicationGatewayUserAssignedIdentity = "${var.resourceTypeAbbreviations.managedIdentity}-${replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.applicationGateway)}-KeyVaultSecretUser"
applicationInsights = replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.applicationInsights)
bastion = replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.bastion)
bastionNsg = "${var.resourceTypeAbbreviations.networkSecurityGroup}-${replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.bastion)}"
bastionPip = "${var.resourceTypeAbbreviations.publicIpAddress}-${replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.bastion)}"
containerAppsEnvironment = replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.containerAppsEnvironment)
containerAppsEnvironmentNsg = "${var.resourceTypeAbbreviations.networkSecurityGroup}-${replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.containerAppsEnvironment)}"
containerRegistry = substr(lower(replace(replace(local.namingBaseUnique, var.resourceTypeToken, var.resourceTypeAbbreviations.containerRegistry), "-", "")), 0, 50)
containerRegistryPep = "${var.resourceTypeAbbreviations.privateEndpoint}-${lower(replace(replace(local.namingBaseUnique, var.resourceTypeToken, var.resourceTypeAbbreviations.containerRegistry), "-", ""))}"
containerRegistryUserAssignedIdentity = "${var.resourceTypeAbbreviations.managedIdentity}-${lower(replace(replace(local.namingBaseUnique, var.resourceTypeToken, var.resourceTypeAbbreviations.containerRegistry), "-", ""))}-AcrPull"
cosmosDbNoSql = lower(substr(replace(local.namingBaseUnique, var.resourceTypeToken, var.resourceTypeAbbreviations.cosmosDbNoSql), 0, 44))
cosmosDbNoSqlPep = "${var.resourceTypeAbbreviations.privateEndpoint}-${lower(substr(replace(local.namingBaseUnique, var.resourceTypeToken, var.resourceTypeAbbreviations.cosmosDbNoSql), 0, 44))}"
firewall = replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.firewall)
firewallPip = "${var.resourceTypeAbbreviations.publicIpAddress}-${replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.firewall)}"
firewallManagementPip = "${var.resourceTypeAbbreviations.publicIpAddress}-${replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.firewall)}-management"
firewallPolicy = replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.firewallPolicy)
frontDoorProfile = replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.frontDoor)
keyVault = substr(replace(local.namingBaseUnique, var.resourceTypeToken, var.resourceTypeAbbreviations.keyVault), 0, 24)
keyVaultPep = "${var.resourceTypeAbbreviations.privateEndpoint}-${replace(local.namingBaseUnique, var.resourceTypeToken, var.resourceTypeAbbreviations.keyVault)}"
keyVaultUserAssignedIdentity = "${var.resourceTypeAbbreviations.managedIdentity}-${replace(local.namingBaseUnique, var.resourceTypeToken, var.resourceTypeAbbreviations.keyVault)}-KeyVaultReader"
logAnalyticsWorkspace = replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.logAnalyticsWorkspace)
privateEndpointsNsg = "${var.resourceTypeAbbreviations.networkSecurityGroup}-${replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.privateEndpoint)}"
privateLinkServiceName = "${var.resourceTypeAbbreviations.privateLinkService}-${replace(local.namingBase, var.resourceTypeToken, var.resourceTypeAbbreviations.frontDoor)}"
rgHubName = "${var.resourceTypeAbbreviations.resourceGroup}-${var.workloadName}-hub-${var.environment}-${var.regionAbbreviations[lower(var.location)]}"
rgSpokeName = "${var.resourceTypeAbbreviations.resourceGroup}-${var.workloadName}-spoke-${var.environment}-${var.regionAbbreviations[lower(var.location)]}"
routeTable = "${var.resourceTypeAbbreviations.routeTable}-${var.workloadName}-${var.environment}-${var.regionAbbreviations[lower(var.location)]}"
serviceBus = replace(local.namingBaseUnique, var.resourceTypeToken, var.resourceTypeAbbreviations.serviceBus)
serviceBusPep = "${var.resourceTypeAbbreviations.privateEndpoint}-${replace(local.namingBaseUnique, var.resourceTypeToken, var.resourceTypeAbbreviations.serviceBus)}"
vmJumpBox = replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.virtualMachine)
vmJumpBoxNsg = "${var.resourceTypeAbbreviations.networkSecurityGroup}-${replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.virtualMachine)}"
vmJumpBoxNic = "${var.resourceTypeAbbreviations.networkInterface}-${replace(local.namingBaseNoWorkloadName, var.resourceTypeToken, var.resourceTypeAbbreviations.virtualMachine)}"
}
}