Fixed friendly name for AVD feed workspace (#904)

* Updated outputs for names & description for friendly name

* Updated outputs to work around output limit

* Updated params

* Simplified value passed to deployment

* Compiled bicep changes
This commit is contained in:
Jason Masten 2024-02-21 13:26:46 -05:00 коммит произвёл GitHub
Родитель 5dcb1ca04e
Коммит 4792380063
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
5 изменённых файлов: 404 добавлений и 703 удалений

Просмотреть файл

@ -30,11 +30,11 @@ param tags object
param timestamp string
param validationEnvironment bool
param vmTemplate string
param workspaceFriendlyName string
param workspaceFeedName string
param workspaceFeedDiagnoticSettingName string
param workspaceFeedName string
param workspaceFeedNetworkInterfaceName string
param workspaceFeedPrivateEndpointName string
param workspaceFriendlyName string
param workspacePublicNetworkAccess string
module hostPool 'hostPool.bicep' = {
@ -90,7 +90,6 @@ module workspace 'workspace.bicep' = {
avdPrivateDnsZoneResourceId: avdPrivateDnsZoneResourceId
deploymentUserAssignedIdentityClientId: deploymentUserAssignedIdentityClientId
existing: existingFeedWorkspace
friendlyName: workspaceFriendlyName
hostPoolName: hostPoolName
locationControlPlane: locationControlPlane
locationVirtualMachines: locationVirtualMachines
@ -105,6 +104,7 @@ module workspace 'workspace.bicep' = {
workspaceFeedName: workspaceFeedName
workspaceFeedNetworkInterfaceName: workspaceFeedNetworkInterfaceName
workspaceFeedPrivateEndpointName: workspaceFeedPrivateEndpointName
workspaceFriendlyName: workspaceFriendlyName
workspacePublicNetworkAccess: workspacePublicNetworkAccess
}
}

Просмотреть файл

@ -3,7 +3,6 @@ param artifactsUri string
param avdPrivateDnsZoneResourceId string
param deploymentUserAssignedIdentityClientId string
param existing bool
param friendlyName string
param hostPoolName string
param locationControlPlane string
param locationVirtualMachines string
@ -18,6 +17,7 @@ param workspaceFeedDiagnoticSettingName string
param workspaceFeedName string
param workspaceFeedNetworkInterfaceName string
param workspaceFeedPrivateEndpointName string
param workspaceFriendlyName string
param workspacePublicNetworkAccess string
module addApplicationGroups '../common/customScriptExtensions.bicep' = if (existing) {
@ -44,7 +44,7 @@ resource workspace 'Microsoft.DesktopVirtualization/workspaces@2023-09-05' = if
tags: {}
properties: {
applicationGroupReferences: applicationGroupReferences
friendlyName: empty(friendlyName) ? hostPoolName : '${friendlyName} (${locationControlPlane})'
friendlyName: workspaceFriendlyName
publicNetworkAccess: workspacePublicNetworkAccess
}
}

Просмотреть файл

@ -39,156 +39,98 @@ var locations = (loadJsonContent('../../../data/locations.json'))[environment().
var resourceAbbreviations = loadJsonContent('../../../data/resourceAbbreviations.json')
// RESOURCE NAMES AND PREFIXES
var agentSvcPrivateDnsZoneName = 'privatelink.agentsvc.azure-automation.${privateDnsZoneSuffixes_AzureAutomation[environment().name] ?? cloudEndpointSuffix}'
var automationAccountDiagnosticSettingName = replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.diagnosticSettings), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var automationAccountName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.automationAccounts), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var automationAccountNetworkInterfaceName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, 'DSCAndHybridWorker-${resourceAbbreviations.automationAccounts}' ), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var automationAccountPrivateEndpointName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, 'DSCAndHybridWorker-${resourceAbbreviations.automationAccounts}' ), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var availabilitySetNamePrefix = '${replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.availabilitySets), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)}-'
var avdGlobalPrivateDnsZoneName = 'privatelink-global.wvd.${privateDnsZoneSuffixes_AzureVirtualDesktop[environment().name] ?? cloudEndpointSuffix}'
var avdPrivateDnsZoneName = 'privatelink.wvd.${privateDnsZoneSuffixes_AzureVirtualDesktop[environment().name] ?? cloudEndpointSuffix}'
var azureAutomationPrivateDnsZoneName = 'privatelink.azure-automation.${privateDnsZoneSuffixes_AzureAutomation[environment().name] ?? cloudEndpointSuffix}'
var backupPrivateDnsZoneName = 'privatelink.${locations[locationVirtualMachines].recoveryServicesGeo}.backup.${privateDnsZoneSuffixes_Backup[environment().name] ?? cloudEndpointSuffix}'
var blobPrivateDnsZoneName = 'privatelink.blob.${environment().suffixes.storage}'
var dataCollectionRuleAssociationName = '${replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.dataCollectionRuleAssociations), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)}-avdi'
var dataCollectionRuleName = 'microsoft-avdi-${locations[locationVirtualMachines].abbreviation}'
var desktopApplicationGroupName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.desktopApplicationGroups), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
var diskAccessName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.diskAccesses), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var diskEncryptionSetName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.diskEncryptionSets), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var diskNamePrefix = replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.disks), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var filePrivateDnsZoneName = 'privatelink.file.${environment().suffixes.storage}'
var fileShareNames = {
CloudCacheProfileContainer: [
'profile-containers'
var resources = {
agentSvcPrivateDnsZoneName: 'privatelink.agentsvc.azure-automation.${privateDnsZoneSuffixes_AzureAutomation[environment().name] ?? cloudEndpointSuffix}'
automationAccountDiagnosticSettingName: replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.diagnosticSettings), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
automationAccountName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.automationAccounts), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
automationAccountNetworkInterfaceName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, 'DSCAndHybridWorker-${resourceAbbreviations.automationAccounts}' ), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
automationAccountPrivateEndpointName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, 'DSCAndHybridWorker-${resourceAbbreviations.automationAccounts}' ), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
availabilitySetNamePrefix: '${replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.availabilitySets), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)}-'
avdGlobalPrivateDnsZoneName: 'privatelink-global.wvd.${privateDnsZoneSuffixes_AzureVirtualDesktop[environment().name] ?? cloudEndpointSuffix}'
avdPrivateDnsZoneName: 'privatelink.wvd.${privateDnsZoneSuffixes_AzureVirtualDesktop[environment().name] ?? cloudEndpointSuffix}'
azureAutomationPrivateDnsZoneName: 'privatelink.azure-automation.${privateDnsZoneSuffixes_AzureAutomation[environment().name] ?? cloudEndpointSuffix}'
backupPrivateDnsZoneName: 'privatelink.${locations[locationVirtualMachines].recoveryServicesGeo}.backup.${privateDnsZoneSuffixes_Backup[environment().name] ?? cloudEndpointSuffix}'
blobPrivateDnsZoneName: 'privatelink.blob.${environment().suffixes.storage}'
dataCollectionRuleAssociationName: '${replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.dataCollectionRuleAssociations), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)}-avdi'
dataCollectionRuleName: 'microsoft-avdi-${locations[locationVirtualMachines].abbreviation}'
desktopApplicationGroupName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.desktopApplicationGroups), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
diskAccessName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.diskAccesses), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
diskEncryptionSetName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.diskEncryptionSets), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
diskNamePrefix: replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.disks), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
filePrivateDnsZoneName: 'privatelink.file.${environment().suffixes.storage}'
fileShareNames: {
CloudCacheProfileContainer: [
'profile-containers'
]
CloudCacheProfileOfficeContainer: [
'office-containers'
'profile-containers'
]
ProfileContainer: [
'profile-containers'
]
ProfileOfficeContainer: [
'office-containers'
'profile-containers'
]
}
hostPoolDiagnosticSettingName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.diagnosticSettings), serviceName, resourceAbbreviations.hostPools), locationAbbreviation, locations[locationControlPlane].abbreviation)
hostPoolName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.hostPools), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
hostPoolNetworkInterfaceName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, resourceAbbreviations.hostPools), locationAbbreviation, locations[locationControlPlane].abbreviation)
hostPoolPrivateEndpointName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, resourceAbbreviations.hostPools), locationAbbreviation, locations[locationControlPlane].abbreviation)
keyVaultName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.keyVaults), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
keyVaultNetworkInterfaceName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, resourceAbbreviations.keyVaults), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
keyVaultPrivateDnsZoneName: replace('privatelink${environment().suffixes.keyvaultDns}', 'vault', 'vaultcore')
keyVaultPrivateEndpointName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, resourceAbbreviations.keyVaults), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
logAnalyticsWorkspaceName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.logAnalyticsWorkspaces), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
netAppAccountName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.netAppAccounts), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
netAppCapacityPoolName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.netAppCapacityPools), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
networkInterfaceNamePrefix: replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
networkSecurityGroupNames: [
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkSecurityGroups), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkSecurityGroups), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
]
CloudCacheProfileOfficeContainer: [
'office-containers'
'profile-containers'
monitorPrivateDnsZoneName: 'privatelink.monitor.${privateDnsZoneSuffixes_Monitor[environment().name] ?? cloudEndpointSuffix}'
odsOpinsightsPrivateDnsZoneName: 'privatelink.ods.opinsights.${privateDnsZoneSuffixes_Monitor[environment().name] ?? cloudEndpointSuffix}'
omsOpinsightsPrivateDnsZoneName: 'privatelink.oms.opinsights.${privateDnsZoneSuffixes_Monitor[environment().name] ?? cloudEndpointSuffix}'
queuePrivateDnsZoneName: 'privatelink.queue.${environment().suffixes.storage}'
recoveryServicesVaultName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.recoveryServicesVaults), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
recoveryServicesVaultNetworkInterfaceName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, resourceAbbreviations.recoveryServicesVaults), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
recoveryServicesVaultPrivateEndpointName: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, resourceAbbreviations.recoveryServicesVaults), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
resourceGroupControlPlane: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'controlPlane'), locationAbbreviation, locations[locationControlPlane].abbreviation)
resourceGroupFeedWorkspace: replace(replace(replace(namingConvention_Shared, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'feedWorkspace'), locationAbbreviation, locations[locationControlPlane].abbreviation)
resourceGroupGlobalWorkspace: replace(replace(replace(namingConvention_Global, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'globalWorkspace'), locationAbbreviation, locations[locationControlPlane].abbreviation)
resourceGroupHosts: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'sessionHosts'), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
resourceGroupManagement: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'management'), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
resourceGroupsNetwork: [
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'network'), locationAbbreviation, locations[locationControlPlane].abbreviation)
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'network'), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
]
ProfileContainer: [
'profile-containers'
resourceGroupStorage: replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'profileStorage'), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
routeTableNames: [
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.routeTables), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.routeTables), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
]
ProfileOfficeContainer: [
'office-containers'
'profile-containers'
storageAccountNamePrefix: replace(replace(replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.storageAccounts), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation), environmentAbbreviation, first(environmentAbbreviation)), '-', '')
storageAccountNetworkInterfaceNamePrefix: replace(replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, resourceAbbreviations.storageAccounts), locationAbbreviation, locations[locationVirtualMachines].abbreviation), environmentAbbreviation, first(environmentAbbreviation))
storageAccountPrivateEndpointNamePrefix: replace(replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, resourceAbbreviations.storageAccounts), locationAbbreviation, locations[locationVirtualMachines].abbreviation), environmentAbbreviation, first(environmentAbbreviation))
userAssignedIdentityNamePrefix: replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.userAssignedIdentities), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
virtualMachineNamePrefix: replace(replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.virtualMachines), locationAbbreviation, locations[locationVirtualMachines].abbreviation), environmentAbbreviation, first(environmentAbbreviation)), '-', '')
virtualNetworkNames: [
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.virtualNetworks), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.virtualNetworks), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
]
workspaceFeedDiagnosticSettingName: replace(replace(replace(namingConvention_Shared, resourceAbbreviation, resourceAbbreviations.diagnosticSettings), serviceName, 'feed-${resourceAbbreviations.workspaces}'), locationAbbreviation, locations[locationControlPlane].abbreviation)
workspaceFeedName: replace(replace(replace(namingConvention_Shared, resourceAbbreviation, 'feed-${resourceAbbreviations.workspaces}'), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
workspaceFeedNetworkInterfaceName: replace(replace(replace(namingConvention_Shared, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, 'feed-${resourceAbbreviations.workspaces}'), locationAbbreviation, locations[locationControlPlane].abbreviation)
workspaceFeedPrivateEndpointName: replace(replace(replace(namingConvention_Shared, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, 'feed-${resourceAbbreviations.workspaces}'), locationAbbreviation, locations[locationControlPlane].abbreviation)
workspaceFriendlyName: replace(replace(replace(namingConvention_Shared, resourceAbbreviation, resourceAbbreviations.workspaces), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
workspaceGlobalName: replace(replace(replace(namingConvention_Global, resourceAbbreviation, 'global-${resourceAbbreviations.workspaces}'), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
workspaceGlobalNetworkInterfaceName: replace(replace(replace(namingConvention_Global, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, 'global-${resourceAbbreviations.workspaces}'), locationAbbreviation, locations[locationControlPlane].abbreviation)
workspaceGlobalPrivateEndpointName: replace(replace(replace(namingConvention_Global, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, 'global-${resourceAbbreviations.workspaces}'), locationAbbreviation, locations[locationControlPlane].abbreviation)
}
var hostPoolDiagnosticSettingName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.diagnosticSettings), serviceName, resourceAbbreviations.hostPools), locationAbbreviation, locations[locationControlPlane].abbreviation)
var hostPoolName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.hostPools), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
var hostPoolNetworkInterfaceName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, resourceAbbreviations.hostPools), locationAbbreviation, locations[locationControlPlane].abbreviation)
var hostPoolPrivateEndpointName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, resourceAbbreviations.hostPools), locationAbbreviation, locations[locationControlPlane].abbreviation)
var keyVaultName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.keyVaults), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var keyVaultNetworkInterfaceName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, resourceAbbreviations.keyVaults), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var keyVaultPrivateDnsZoneName = replace('privatelink${environment().suffixes.keyvaultDns}', 'vault', 'vaultcore')
var keyVaultPrivateEndpointName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, resourceAbbreviations.keyVaults), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var logAnalyticsWorkspaceName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.logAnalyticsWorkspaces), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var netAppAccountName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.netAppAccounts), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var netAppCapacityPoolName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.netAppCapacityPools), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var networkInterfaceNamePrefix = replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var networkSecurityGroupNames = [
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkSecurityGroups), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkSecurityGroups), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
]
var monitorPrivateDnsZoneName = 'privatelink.monitor.${privateDnsZoneSuffixes_Monitor[environment().name] ?? cloudEndpointSuffix}'
var odsOpinsightsPrivateDnsZoneName = 'privatelink.ods.opinsights.${privateDnsZoneSuffixes_Monitor[environment().name] ?? cloudEndpointSuffix}'
var omsOpinsightsPrivateDnsZoneName = 'privatelink.oms.opinsights.${privateDnsZoneSuffixes_Monitor[environment().name] ?? cloudEndpointSuffix}'
var queuePrivateDnsZoneName = 'privatelink.queue.${environment().suffixes.storage}'
var recoveryServicesVaultName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.recoveryServicesVaults), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var recoveryServicesVaultNetworkInterfaceName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, resourceAbbreviations.recoveryServicesVaults), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var recoveryServicesVaultPrivateEndpointName = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, resourceAbbreviations.recoveryServicesVaults), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var resourceGroupControlPlane = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'controlPlane'), locationAbbreviation, locations[locationControlPlane].abbreviation)
var resourceGroupFeedWorkspace = replace(replace(replace(namingConvention_Shared, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'feedWorkspace'), locationAbbreviation, locations[locationControlPlane].abbreviation)
var resourceGroupGlobalWorkspace = replace(replace(replace(namingConvention_Global, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'globalWorkspace'), locationAbbreviation, locations[locationControlPlane].abbreviation)
var resourceGroupHosts = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'sessionHosts'), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var resourceGroupManagement = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'management'), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var resourceGroupsNetwork = [
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'network'), locationAbbreviation, locations[locationControlPlane].abbreviation)
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'network'), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
]
var resourceGroupStorage = replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.resourceGroups), serviceName, 'profileStorage'), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var routeTables = [
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.routeTables), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.routeTables), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
]
var storageAccountNamePrefix = replace(replace(replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.storageAccounts), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation), environmentAbbreviation, first(environmentAbbreviation)), '-', '')
var storageAccountNetworkInterfaceNamePrefix = replace(replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, resourceAbbreviations.storageAccounts), locationAbbreviation, locations[locationVirtualMachines].abbreviation), environmentAbbreviation, first(environmentAbbreviation))
var storageAccountPrivateEndpointNamePrefix = replace(replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, resourceAbbreviations.storageAccounts), locationAbbreviation, locations[locationVirtualMachines].abbreviation), environmentAbbreviation, first(environmentAbbreviation))
var userAssignedIdentityNamePrefix = replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.userAssignedIdentities), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
var virtualMachineNamePrefix = replace(replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.virtualMachines), locationAbbreviation, locations[locationVirtualMachines].abbreviation), environmentAbbreviation, first(environmentAbbreviation)), '-', '')
var virtualNetworkNames = [
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.virtualNetworks), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
replace(replace(replace(namingConvention, resourceAbbreviation, resourceAbbreviations.virtualNetworks), '-${serviceName}', ''), locationAbbreviation, locations[locationVirtualMachines].abbreviation)
]
var workspaceFeedDiagnosticSettingName = replace(replace(replace(namingConvention_Shared, resourceAbbreviation, resourceAbbreviations.diagnosticSettings), serviceName, 'feed-${resourceAbbreviations.workspaces}'), locationAbbreviation, locations[locationControlPlane].abbreviation)
var workspaceFeedName = replace(replace(replace(namingConvention_Shared, resourceAbbreviation, 'feed-${resourceAbbreviations.workspaces}'), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
var workspaceFeedNetworkInterfaceName = replace(replace(replace(namingConvention_Shared, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, 'feed-${resourceAbbreviations.workspaces}'), locationAbbreviation, locations[locationControlPlane].abbreviation)
var workspaceFeedPrivateEndpointName = replace(replace(replace(namingConvention_Shared, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, 'feed-${resourceAbbreviations.workspaces}'), locationAbbreviation, locations[locationControlPlane].abbreviation)
var workspaceGlobalName = replace(replace(replace(namingConvention_Global, resourceAbbreviation, 'global-${resourceAbbreviations.workspaces}'), '-${serviceName}', ''), locationAbbreviation, locations[locationControlPlane].abbreviation)
var workspaceGlobalNetworkInterfaceName = replace(replace(replace(namingConvention_Global, resourceAbbreviation, resourceAbbreviations.networkInterfaces), serviceName, 'global-${resourceAbbreviations.workspaces}'), locationAbbreviation, locations[locationControlPlane].abbreviation)
var workspaceGlobalPrivateEndpointName = replace(replace(replace(namingConvention_Global, resourceAbbreviation, resourceAbbreviations.privateEndpoints), serviceName, 'global-${resourceAbbreviations.workspaces}'), locationAbbreviation, locations[locationControlPlane].abbreviation)
output agentSvcPrivateDnsZoneName string = agentSvcPrivateDnsZoneName
output automationAccountDiagnosticSettingName string = automationAccountDiagnosticSettingName
output automationAccountName string = automationAccountName
output automationAccountNetworkInterfaceName string = automationAccountNetworkInterfaceName
output automationAccountPrivateEndpointName string = automationAccountPrivateEndpointName
output availabilitySetNamePrefix string = availabilitySetNamePrefix
output avdGlobalPrivateDnsZoneName string = avdGlobalPrivateDnsZoneName
output avdPrivateDnsZoneName string = avdPrivateDnsZoneName
output azureAutomationPrivateDnsZoneName string = azureAutomationPrivateDnsZoneName
output backupPrivateDnsZoneName string = backupPrivateDnsZoneName
output blobPrivateDnsZoneName string = blobPrivateDnsZoneName
output dataCollectionRuleAssociationName string = dataCollectionRuleAssociationName
output dataCollectionRuleName string = dataCollectionRuleName
output desktopApplicationGroupName string = desktopApplicationGroupName
output diskAccessName string = diskAccessName
output diskEncryptionSetName string = diskEncryptionSetName
output diskNamePrefix string = diskNamePrefix
output filePrivateDnsZoneName string = filePrivateDnsZoneName
output fileShareNames object = fileShareNames
output hostPoolDiagnosticSettingName string = hostPoolDiagnosticSettingName
output hostPoolName string = hostPoolName
output hostPoolNetworkInterfaceName string = hostPoolNetworkInterfaceName
output hostPoolPrivateEndpointName string = hostPoolPrivateEndpointName
output keyVaultName string = keyVaultName
output keyVaultNetworkInterfaceName string = keyVaultNetworkInterfaceName
output keyVaultPrivateDnsZoneName string = keyVaultPrivateDnsZoneName
output keyVaultPrivateEndpointName string = keyVaultPrivateEndpointName
output locations object = locations
output logAnalyticsWorkspaceName string = logAnalyticsWorkspaceName
output monitorPrivateDnsZoneName string = monitorPrivateDnsZoneName
output odsOpinsightsPrivateDnsZoneName string = odsOpinsightsPrivateDnsZoneName
output omsOpinsightsPrivateDnsZoneName string = omsOpinsightsPrivateDnsZoneName
output netAppAccountName string = netAppAccountName
output netAppCapacityPoolName string = netAppCapacityPoolName
output networkInterfaceNamePrefix string = networkInterfaceNamePrefix
output networkName string = networkName
output networkSecurityGroupNames array = networkSecurityGroupNames
output queuePrivateDnsZoneName string = queuePrivateDnsZoneName
output recoveryServicesVaultName string = recoveryServicesVaultName
output recoveryServicesVaultNetworkInterfaceName string = recoveryServicesVaultNetworkInterfaceName
output recoveryServicesVaultPrivateEndpointName string = recoveryServicesVaultPrivateEndpointName
output resourceAbbreviations object = resourceAbbreviations
output resourceGroupControlPlane string = resourceGroupControlPlane
output resourceGroupFeedWorkspace string = resourceGroupFeedWorkspace
output resourceGroupGlobalWorkspace string = resourceGroupGlobalWorkspace
output resourceGroupHosts string = resourceGroupHosts
output resourceGroupManagement string = resourceGroupManagement
output resourceGroupsNetwork array = resourceGroupsNetwork
output resourceGroupStorage string = resourceGroupStorage
output routeTables array = routeTables
output resources object = resources
output serviceName string = serviceName
output storageAccountNamePrefix string = storageAccountNamePrefix
output storageAccountNetworkInterfaceNamePrefix string = storageAccountNetworkInterfaceNamePrefix
output storageAccountPrivateEndpointNamePrefix string = storageAccountPrivateEndpointNamePrefix
output userAssignedIdentityNamePrefix string = userAssignedIdentityNamePrefix
output virtualMachineNamePrefix string = virtualMachineNamePrefix
output virtulNetworkNames array = virtualNetworkNames
output workspaceFeedDiagnosticSettingName string = workspaceFeedDiagnosticSettingName
output workspaceFeedName string = workspaceFeedName
output workspaceFeedNetworkInterfaceName string = workspaceFeedNetworkInterfaceName
output workspaceFeedPrivateEndpointName string = workspaceFeedPrivateEndpointName
output workspaceGlobalName string = workspaceGlobalName
output workspaceGlobalNetworkInterfaceName string = workspaceGlobalNetworkInterfaceName
output workspaceGlobalPrivateEndpointName string = workspaceGlobalPrivateEndpointName

Просмотреть файл

@ -41,7 +41,7 @@ param azurePowerShellModuleMsiName string
@description('The RDP properties to add or remove RDP functionality on the AVD host pool. The string must end with a semi-colon. Settings reference: https://learn.microsoft.com/windows-server/remote/remote-desktop-services/clients/rdp-files')
param customRdpProperty string = 'audiocapturemode:i:1;camerastoredirect:s:*;use multimon:i:0;drivestoredirect:s:;encode redirected video capture:i:1;redirected video capture encoding quality:i:1;audiomode:i:0;devicestoredirect:s:;redirectclipboard:i:0;redirectcomports:i:0;redirectlocation:i:1;redirectprinters:i:0;redirectsmartcards:i:1;redirectwebauthn:i:1;usbdevicestoredirect:s:;keyboardhook:i:2;'
@description('The friendly name for the Desktop application in the desktop application group.')
@description('The friendly name for the SessionDesktop application in the desktop application group.')
param desktopFriendlyName string = ''
@description('Disabling BGP route propagation is a route table configuration that prevents the propagation of on-premises routes to network interfaces in the associated subnets.')
@ -281,8 +281,8 @@ var deploymentLocations = union([
var resourceGroupsCount = 4 + length(deploymentLocations) + (fslogixStorageService == 'None' ? 0 : 1)
// Resource Names
module resourceNames 'modules/resourceNames.bicep' = {
name: 'ResourceNames_${timestamp}'
module names 'modules/resourceNames.bicep' = {
name: 'Names_${timestamp}'
params: {
environmentAbbreviation: environmentAbbreviation
identifier: identifier
@ -300,25 +300,25 @@ module logic 'modules/logic.bicep' = {
deploymentLocations: deploymentLocations
diskSku: diskSku
domainName: domainName
fileShareNames: resourceNames.outputs.fileShareNames
fileShareNames: names.outputs.resources.fileShareNames
fslogixContainerType: fslogixContainerType
fslogixStorageService: fslogixStorageService
hostPoolType: hostPoolType
imageOffer: imageOffer
imagePublisher: imagePublisher
imageSku: imageSku
locations: resourceNames.outputs.locations
locations: names.outputs.locations
locationVirtualMachines: locationVirtualMachines
resourceGroupControlPlane: resourceNames.outputs.resourceGroupControlPlane
resourceGroupFeedWorkspace: resourceNames.outputs.resourceGroupFeedWorkspace
resourceGroupHosts: resourceNames.outputs.resourceGroupHosts
resourceGroupManagement: resourceNames.outputs.resourceGroupManagement
resourceGroupsNetwork: resourceNames.outputs.resourceGroupsNetwork
resourceGroupStorage: resourceNames.outputs.resourceGroupStorage
resourceGroupControlPlane: names.outputs.resources.resourceGroupControlPlane
resourceGroupFeedWorkspace: names.outputs.resources.resourceGroupFeedWorkspace
resourceGroupHosts: names.outputs.resources.resourceGroupHosts
resourceGroupManagement: names.outputs.resources.resourceGroupManagement
resourceGroupsNetwork: names.outputs.resources.resourceGroupsNetwork
resourceGroupStorage: names.outputs.resources.resourceGroupStorage
securityPrincipals: securityPrincipals
sessionHostCount: sessionHostCount
sessionHostIndex: sessionHostIndex
virtualMachineNamePrefix: resourceNames.outputs.virtualMachineNamePrefix
virtualMachineNamePrefix: names.outputs.resources.virtualMachineNamePrefix
virtualMachineSize: virtualMachineSize
}
}
@ -342,13 +342,13 @@ module network_controlPlane 'modules/network/networking.bicep' = {
hubVirtualNetworkResourceId: hubVirtualNetworkResourceId
index: 0
location: deploymentLocations[0]
networkSecurityGroupName: resourceNames.outputs.networkSecurityGroupNames[0]
resourceGroupNetwork: resourceNames.outputs.resourceGroupsNetwork[0]
routeTableName: resourceNames.outputs.routeTables[0]
networkSecurityGroupName: names.outputs.resources.networkSecurityGroupNames[0]
resourceGroupNetwork: names.outputs.resources.resourceGroupsNetwork[0]
routeTableName: names.outputs.resources.routeTableNames[0]
subnetAddressPrefixes: subnetAddressPrefixes
timestamp: timestamp
virtualNetworkAddressPrefixes: virtualNetworkAddressPrefixes
virtualNetworkName: resourceNames.outputs.virtulNetworkNames[0]
virtualNetworkName: names.outputs.resources.virtualNetworkNames[0]
}
dependsOn: [
rgs
@ -364,13 +364,13 @@ module network_hosts 'modules/network/networking.bicep' = if (length(deploymentL
hubVirtualNetworkResourceId: hubVirtualNetworkResourceId
index: 1
location: deploymentLocations[1]
networkSecurityGroupName: resourceNames.outputs.networkSecurityGroupNames[1]
resourceGroupNetwork: length(deploymentLocations) == 1 ? resourceNames.outputs.resourceGroupsNetwork[0] : resourceNames.outputs.resourceGroupsNetwork[1]
routeTableName: resourceNames.outputs.routeTables[1]
networkSecurityGroupName: names.outputs.resources.networkSecurityGroupNames[1]
resourceGroupNetwork: length(deploymentLocations) == 1 ? names.outputs.resources.resourceGroupsNetwork[0] : names.outputs.resources.resourceGroupsNetwork[1]
routeTableName: names.outputs.resources.routeTableNames[1]
subnetAddressPrefixes: subnetAddressPrefixes
timestamp: timestamp
virtualNetworkAddressPrefixes: virtualNetworkAddressPrefixes
virtualNetworkName: resourceNames.outputs.virtulNetworkNames[1]
virtualNetworkName: names.outputs.resources.virtualNetworkNames[1]
}
dependsOn: [
rgs
@ -381,23 +381,23 @@ module network_hosts 'modules/network/networking.bicep' = if (length(deploymentL
module management 'modules/management/management.bicep' = {
name: 'Management_${timestamp}'
params: {
//diskAccessName: resourceNames.outputs.diskAccessName
//diskAccessName: names.outputs.resources.diskAccessName
activeDirectorySolution: activeDirectorySolution
artifactsStorageAccountResourceId: artifactsStorageAccountResourceId
artifactsUri: artifactsUri
automationAccountDiagnosticSettingName: resourceNames.outputs.automationAccountDiagnosticSettingName
automationAccountName: resourceNames.outputs.automationAccountName
automationAccountNetworkInterfaceName: resourceNames.outputs.automationAccountNetworkInterfaceName
automationAccountPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${resourceNames.outputs.azureAutomationPrivateDnsZoneName}'
automationAccountPrivateEndpointName: resourceNames.outputs.automationAccountPrivateEndpointName
automationAccountDiagnosticSettingName: names.outputs.resources.automationAccountDiagnosticSettingName
automationAccountName: names.outputs.resources.automationAccountName
automationAccountNetworkInterfaceName: names.outputs.resources.automationAccountNetworkInterfaceName
automationAccountPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${names.outputs.resources.azureAutomationPrivateDnsZoneName}'
automationAccountPrivateEndpointName: names.outputs.resources.automationAccountPrivateEndpointName
availability: availability
avdObjectId: avdObjectId
azureBlobsPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${resourceNames.outputs.blobPrivateDnsZoneName}'
azureBlobsPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${names.outputs.resources.blobPrivateDnsZoneName}'
azurePowerShellModuleMsiName: azurePowerShellModuleMsiName
azureQueueStoragePrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${resourceNames.outputs.queuePrivateDnsZoneName}'
dataCollectionRuleName: resourceNames.outputs.dataCollectionRuleName
diskEncryptionSetName: resourceNames.outputs.diskEncryptionSetName
diskNamePrefix: resourceNames.outputs.diskNamePrefix
azureQueueStoragePrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${names.outputs.resources.queuePrivateDnsZoneName}'
dataCollectionRuleName: names.outputs.resources.dataCollectionRuleName
diskEncryptionSetName: names.outputs.resources.diskEncryptionSetName
diskNamePrefix: names.outputs.resources.diskNamePrefix
diskSku: diskSku
domainJoinPassword: domainJoinPassword
domainJoinUserPrincipalName: domainJoinUserPrincipalName
@ -406,47 +406,47 @@ module management 'modules/management/management.bicep' = {
environmentAbbreviation: environmentAbbreviation
fslogix: logic.outputs.fslogix
fslogixStorageService: fslogixStorageService
hostPoolName: resourceNames.outputs.hostPoolName
hostPoolName: names.outputs.resources.hostPoolName
hostPoolType: hostPoolType
imageDefinitionResourceId: imageDefinitionResourceId
keyVaultName: resourceNames.outputs.keyVaultName
keyVaultNetworkInterfaceName: resourceNames.outputs.keyVaultNetworkInterfaceName
keyVaultPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${resourceNames.outputs.keyVaultPrivateDnsZoneName}'
keyVaultPrivateEndpointName: resourceNames.outputs.keyVaultPrivateEndpointName
keyVaultName: names.outputs.resources.keyVaultName
keyVaultNetworkInterfaceName: names.outputs.resources.keyVaultNetworkInterfaceName
keyVaultPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${names.outputs.resources.keyVaultPrivateDnsZoneName}'
keyVaultPrivateEndpointName: names.outputs.resources.keyVaultPrivateEndpointName
locationVirtualMachines: locationVirtualMachines
logAnalyticsWorkspaceName: resourceNames.outputs.logAnalyticsWorkspaceName
logAnalyticsWorkspaceName: names.outputs.resources.logAnalyticsWorkspaceName
logAnalyticsWorkspaceRetention: logAnalyticsWorkspaceRetention
logAnalyticsWorkspaceSku: logAnalyticsWorkspaceSku
networkInterfaceNamePrefix: resourceNames.outputs.networkInterfaceNamePrefix
networkName: resourceNames.outputs.networkName
networkInterfaceNamePrefix: names.outputs.resources.networkInterfaceNamePrefix
networkName: names.outputs.networkName
organizationalUnitPath: organizationalUnitPath
recoveryServices: recoveryServices
recoveryServicesPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${resourceNames.outputs.backupPrivateDnsZoneName}'
recoveryServicesVaultName: resourceNames.outputs.recoveryServicesVaultName
recoveryServicesVaultNetworkInterfaceName: resourceNames.outputs.recoveryServicesVaultNetworkInterfaceName
recoveryServicesVaultPrivateEndpointName: resourceNames.outputs.recoveryServicesVaultPrivateEndpointName
resourceGroupControlPlane: resourceNames.outputs.resourceGroupControlPlane
resourceGroupFeedWorkspace: resourceNames.outputs.resourceGroupFeedWorkspace
resourceGroupHosts: resourceNames.outputs.resourceGroupHosts
resourceGroupManagement: resourceNames.outputs.resourceGroupManagement
resourceGroupStorage: resourceNames.outputs.resourceGroupStorage
recoveryServicesPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${names.outputs.resources.backupPrivateDnsZoneName}'
recoveryServicesVaultName: names.outputs.resources.recoveryServicesVaultName
recoveryServicesVaultNetworkInterfaceName: names.outputs.resources.recoveryServicesVaultNetworkInterfaceName
recoveryServicesVaultPrivateEndpointName: names.outputs.resources.recoveryServicesVaultPrivateEndpointName
resourceGroupControlPlane: names.outputs.resources.resourceGroupControlPlane
resourceGroupFeedWorkspace: names.outputs.resources.resourceGroupFeedWorkspace
resourceGroupHosts: names.outputs.resources.resourceGroupHosts
resourceGroupManagement: names.outputs.resources.resourceGroupManagement
resourceGroupStorage: names.outputs.resources.resourceGroupStorage
roleDefinitions: logic.outputs.roleDefinitions
scalingTool: scalingTool
securityLogAnalyticsWorkspaceResourceId: securityLogAnalyticsWorkspaceResourceId
serviceName: resourceNames.outputs.serviceName
serviceName: names.outputs.serviceName
sessionHostCount: sessionHostCount
storageService: logic.outputs.storageService
subnetResourceId: length(deploymentLocations) == 1 ? network_controlPlane.outputs.subnetResourceId : network_hosts.outputs.subnetResourceId
tags: tags
timestamp: timestamp
timeZone: logic.outputs.timeZone
userAssignedIdentityNamePrefix: resourceNames.outputs.userAssignedIdentityNamePrefix
userAssignedIdentityNamePrefix: names.outputs.resources.userAssignedIdentityNamePrefix
virtualMachineMonitoringAgent: virtualMachineMonitoringAgent
virtualMachineNamePrefix: resourceNames.outputs.virtualMachineNamePrefix
virtualMachineNamePrefix: names.outputs.resources.virtualMachineNamePrefix
virtualMachinePassword: virtualMachinePassword
virtualMachineSize: virtualMachineSize
virtualMachineUsername: virtualMachineUsername
workspaceFeedName: resourceNames.outputs.workspaceFeedName
workspaceFeedName: names.outputs.resources.workspaceFeedName
}
dependsOn: [
rgs
@ -460,13 +460,13 @@ module hub 'modules/hub/hub.bicep' = {
scope: subscription(split(hubSubnetResourceId, '/')[2])
params: {
existingWorkspace: management.outputs.existingFeedWorkspace
globalWorkspacePrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${resourceNames.outputs.avdGlobalPrivateDnsZoneName}'
globalWorkspacePrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${names.outputs.resources.avdGlobalPrivateDnsZoneName}'
hubSubnetResourceId: hubSubnetResourceId
resourceGroupName: resourceNames.outputs.resourceGroupGlobalWorkspace
resourceGroupName: names.outputs.resources.resourceGroupGlobalWorkspace
timestamp: timestamp
workspaceGlobalName: resourceNames.outputs.workspaceGlobalName
workspaceGlobalNetworkInterfaceName: resourceNames.outputs.workspaceGlobalNetworkInterfaceName
workspaceGlobalPrivateEndpointName: resourceNames.outputs.workspaceGlobalPrivateEndpointName
workspaceGlobalName: names.outputs.resources.workspaceGlobalName
workspaceGlobalNetworkInterfaceName: names.outputs.resources.workspaceGlobalNetworkInterfaceName
workspaceGlobalPrivateEndpointName: names.outputs.resources.workspaceGlobalPrivateEndpointName
}
}
@ -477,16 +477,16 @@ module controlPlane 'modules/controlPlane/controlPlane.bicep' = {
params: {
activeDirectorySolution: activeDirectorySolution
artifactsUri: artifactsUri
avdPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${resourceNames.outputs.avdPrivateDnsZoneName}'
avdPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${names.outputs.resources.avdPrivateDnsZoneName}'
customRdpProperty: customRdpProperty
deploymentUserAssignedIdentityClientId: management.outputs.deploymentUserAssignedIdentityClientId
desktopApplicationGroupName: resourceNames.outputs.desktopApplicationGroupName
desktopFriendlyName: desktopFriendlyName
desktopApplicationGroupName: names.outputs.resources.desktopApplicationGroupName
desktopFriendlyName: empty(desktopFriendlyName) ? string(stampIndex) : desktopFriendlyName
existingFeedWorkspace: management.outputs.existingFeedWorkspace
hostPoolDiagnosticSettingName: resourceNames.outputs.hostPoolDiagnosticSettingName
hostPoolName: resourceNames.outputs.hostPoolName
hostPoolNetworkInterfaceName: resourceNames.outputs.hostPoolNetworkInterfaceName
hostPoolPrivateEndpointName: resourceNames.outputs.hostPoolPrivateEndpointName
hostPoolDiagnosticSettingName: names.outputs.resources.hostPoolDiagnosticSettingName
hostPoolName: names.outputs.resources.hostPoolName
hostPoolNetworkInterfaceName: names.outputs.resources.hostPoolNetworkInterfaceName
hostPoolPrivateEndpointName: names.outputs.resources.hostPoolPrivateEndpointName
hostPoolPublicNetworkAccess: hostPoolPublicNetworkAccess
hostPoolType: hostPoolType
locationControlPlane: locationControlPlane
@ -495,9 +495,9 @@ module controlPlane 'modules/controlPlane/controlPlane.bicep' = {
managementVirtualMachineName: management.outputs.virtualMachineName
maxSessionLimit: usersPerCore * virtualMachineVirtualCpuCount
monitoring: monitoring
resourceGroupControlPlane: resourceNames.outputs.resourceGroupControlPlane
resourceGroupFeedWorkspace: resourceNames.outputs.resourceGroupFeedWorkspace
resourceGroupManagement: resourceNames.outputs.resourceGroupManagement
resourceGroupControlPlane: names.outputs.resources.resourceGroupControlPlane
resourceGroupFeedWorkspace: names.outputs.resources.resourceGroupFeedWorkspace
resourceGroupManagement: names.outputs.resources.resourceGroupManagement
roleDefinitions: logic.outputs.roleDefinitions
securityPrincipalObjectIds: map(securityPrincipals, item => item.objectId)
subnetResourceId: network_controlPlane.outputs.subnetResourceId
@ -505,11 +505,11 @@ module controlPlane 'modules/controlPlane/controlPlane.bicep' = {
timestamp: timestamp
validationEnvironment: validationEnvironment
vmTemplate: logic.outputs.vmTemplate
workspaceFeedDiagnoticSettingName: resourceNames.outputs.workspaceFeedDiagnosticSettingName
workspaceFeedName: resourceNames.outputs.workspaceFeedName
workspaceFeedNetworkInterfaceName: resourceNames.outputs.workspaceFeedNetworkInterfaceName
workspaceFeedPrivateEndpointName: resourceNames.outputs.workspaceFeedPrivateEndpointName
workspaceFriendlyName: workspaceFriendlyName
workspaceFeedDiagnoticSettingName: names.outputs.resources.workspaceFeedDiagnosticSettingName
workspaceFeedName: names.outputs.resources.workspaceFeedName
workspaceFeedNetworkInterfaceName: names.outputs.resources.workspaceFeedNetworkInterfaceName
workspaceFeedPrivateEndpointName: names.outputs.resources.workspaceFeedPrivateEndpointName
workspaceFriendlyName: empty(workspaceFriendlyName) ? names.outputs.resources.workspaceFriendlyName : '${workspaceFriendlyName} (${locationControlPlane})'
workspacePublicNetworkAccess: workspacePublicNetworkAccess
}
dependsOn: [
@ -523,9 +523,9 @@ module fslogix 'modules/fslogix/fslogix.bicep' = {
activeDirectoryConnection: management.outputs.validateANFfActiveDirectory
activeDirectorySolution: activeDirectorySolution
artifactsUri: artifactsUri
automationAccountName: resourceNames.outputs.automationAccountName
automationAccountName: names.outputs.resources.automationAccountName
availability: availability
azureFilesPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${resourceNames.outputs.filePrivateDnsZoneName}'
azureFilesPrivateDnsZoneResourceId: '${privateDnsZoneResourceIdPrefix}${names.outputs.resources.filePrivateDnsZoneName}'
delegatedSubnetId: management.outputs.validateANFSubnetId
deploymentUserAssignedIdentityClientId: management.outputs.deploymentUserAssignedIdentityClientId
dnsServers: management.outputs.validateANFDnsServers
@ -537,27 +537,27 @@ module fslogix 'modules/fslogix/fslogix.bicep' = {
fslogixContainerType: fslogixContainerType
fslogixShareSizeInGB: fslogixShareSizeInGB
fslogixStorageService: fslogixStorageService
hostPoolName: resourceNames.outputs.hostPoolName
hostPoolName: names.outputs.resources.hostPoolName
hostPoolType: hostPoolType
keyVaultUri: management.outputs.keyVaultUri
location: locationVirtualMachines
managementVirtualMachineName: management.outputs.virtualMachineName
netAppAccountName: resourceNames.outputs.netAppAccountName
netAppCapacityPoolName: resourceNames.outputs.netAppCapacityPoolName
netAppAccountName: names.outputs.resources.netAppAccountName
netAppCapacityPoolName: names.outputs.resources.netAppCapacityPoolName
netbios: logic.outputs.netbios
organizationalUnitPath: organizationalUnitPath
recoveryServices: recoveryServices
recoveryServicesVaultName: resourceNames.outputs.recoveryServicesVaultName
resourceGroupControlPlane: resourceNames.outputs.resourceGroupControlPlane
resourceGroupManagement: resourceNames.outputs.resourceGroupManagement
resourceGroupStorage: resourceNames.outputs.resourceGroupStorage
recoveryServicesVaultName: names.outputs.resources.recoveryServicesVaultName
resourceGroupControlPlane: names.outputs.resources.resourceGroupControlPlane
resourceGroupManagement: names.outputs.resources.resourceGroupManagement
resourceGroupStorage: names.outputs.resources.resourceGroupStorage
securityPrincipalNames: map(securityPrincipals, item => item.name)
securityPrincipalObjectIds: map(securityPrincipals, item => item.objectId)
serviceName: resourceNames.outputs.serviceName
serviceName: names.outputs.serviceName
smbServerLocation: logic.outputs.smbServerLocation
storageAccountNamePrefix: resourceNames.outputs.storageAccountNamePrefix
storageAccountNetworkInterfaceNamePrefix: resourceNames.outputs.storageAccountNetworkInterfaceNamePrefix
storageAccountPrivateEndpointNamePrefix: resourceNames.outputs.storageAccountPrivateEndpointNamePrefix
storageAccountNamePrefix: names.outputs.resources.storageAccountNamePrefix
storageAccountNetworkInterfaceNamePrefix: names.outputs.resources.storageAccountNetworkInterfaceNamePrefix
storageAccountPrivateEndpointNamePrefix: names.outputs.resources.storageAccountPrivateEndpointNamePrefix
storageCount: storageCount
storageEncryptionKeyName: management.outputs.storageEncryptionKeyName
storageIndex: storageIndex
@ -584,19 +584,19 @@ module sessionHosts 'modules/sessionHosts/sessionHosts.bicep' = {
artifactsUri: artifactsUri
artifactsUserAssignedIdentityClientId: management.outputs.artifactsUserAssignedIdentityClientId
artifactsUserAssignedIdentityResourceId: management.outputs.artifactsUserAssignedIdentityResourceId
automationAccountName: resourceNames.outputs.automationAccountName
automationAccountName: names.outputs.resources.automationAccountName
availability: availability
availabilitySetNamePrefix: resourceNames.outputs.availabilitySetNamePrefix
availabilitySetNamePrefix: names.outputs.resources.availabilitySetNamePrefix
availabilitySetsCount: logic.outputs.availabilitySetsCount
availabilitySetsIndex: logic.outputs.beginAvSetRange
availabilityZones: management.outputs.validateAvailabilityZones
avdAgentBootLoaderMsiName: avdAgentBootLoaderMsiName
avdAgentMsiName: avdAgentMsiName
dataCollectionRuleAssociationName: resourceNames.outputs.dataCollectionRuleAssociationName
dataCollectionRuleAssociationName: names.outputs.resources.dataCollectionRuleAssociationName
dataCollectionRuleResourceId: management.outputs.dataCollectionRuleResourceId
deploymentUserAssignedIdentityClientId: management.outputs.deploymentUserAssignedIdentityClientId
diskEncryptionSetResourceId: management.outputs.diskEncryptionSetResourceId
diskNamePrefix: resourceNames.outputs.diskNamePrefix
diskNamePrefix: names.outputs.resources.diskNamePrefix
diskSku: diskSku
divisionRemainderValue: logic.outputs.divisionRemainderValue
domainJoinPassword: domainJoinPassword
@ -607,7 +607,7 @@ module sessionHosts 'modules/sessionHosts/sessionHosts.bicep' = {
enableScalingTool: scalingTool
fslogix: logic.outputs.fslogix
fslogixContainerType: fslogixContainerType
hostPoolName: resourceNames.outputs.hostPoolName
hostPoolName: names.outputs.resources.hostPoolName
hostPoolType: hostPoolType
hybridRunbookWorkerGroupName: management.outputs.hybridRunbookWorkerGroupName
imageOffer: imageOffer
@ -615,21 +615,21 @@ module sessionHosts 'modules/sessionHosts/sessionHosts.bicep' = {
imageSku: imageSku
imageDefinitionResourceId: imageDefinitionResourceId
location: locationVirtualMachines
logAnalyticsWorkspaceName: resourceNames.outputs.logAnalyticsWorkspaceName
logAnalyticsWorkspaceName: names.outputs.resources.logAnalyticsWorkspaceName
managementVirtualMachineName: management.outputs.virtualMachineName
maxResourcesPerTemplateDeployment: logic.outputs.maxResourcesPerTemplateDeployment
monitoring: monitoring
netAppFileShares: logic.outputs.fslogix ? fslogix.outputs.netAppShares : [
'None'
]
networkInterfaceNamePrefix: resourceNames.outputs.networkInterfaceNamePrefix
networkName: resourceNames.outputs.networkName
networkInterfaceNamePrefix: names.outputs.resources.networkInterfaceNamePrefix
networkName: names.outputs.networkName
organizationalUnitPath: organizationalUnitPath
pooledHostPool: logic.outputs.pooledHostPool
recoveryServicesVaultName: resourceNames.outputs.recoveryServicesVaultName
resourceGroupControlPlane: resourceNames.outputs.resourceGroupControlPlane
resourceGroupHosts: resourceNames.outputs.resourceGroupHosts
resourceGroupManagement: resourceNames.outputs.resourceGroupManagement
recoveryServicesVaultName: names.outputs.resources.recoveryServicesVaultName
resourceGroupControlPlane: names.outputs.resources.resourceGroupControlPlane
resourceGroupHosts: names.outputs.resources.resourceGroupHosts
resourceGroupManagement: names.outputs.resources.resourceGroupManagement
roleDefinitions: logic.outputs.roleDefinitions
scalingBeginPeakTime: scalingBeginPeakTime
scalingEndPeakTime: scalingEndPeakTime
@ -638,10 +638,10 @@ module sessionHosts 'modules/sessionHosts/sessionHosts.bicep' = {
scalingSessionThresholdPerCPU: scalingSessionThresholdPerCPU
securityPrincipalObjectIds: map(securityPrincipals, item => item.objectId)
securityLogAnalyticsWorkspaceResourceId: securityLogAnalyticsWorkspaceResourceId
serviceName: resourceNames.outputs.serviceName
serviceName: names.outputs.serviceName
sessionHostBatchCount: logic.outputs.sessionHostBatchCount
sessionHostIndex: sessionHostIndex
storageAccountPrefix: resourceNames.outputs.storageAccountNamePrefix
storageAccountPrefix: names.outputs.resources.storageAccountNamePrefix
storageCount: storageCount
storageIndex: storageIndex
storageService: logic.outputs.storageService
@ -652,7 +652,7 @@ module sessionHosts 'modules/sessionHosts/sessionHosts.bicep' = {
timestamp: timestamp
timeZone: logic.outputs.timeZone
virtualMachineMonitoringAgent: virtualMachineMonitoringAgent
virtualMachineNamePrefix: resourceNames.outputs.virtualMachineNamePrefix
virtualMachineNamePrefix: names.outputs.resources.virtualMachineNamePrefix
virtualMachinePassword: virtualMachinePassword
virtualMachineSize: virtualMachineSize
virtualMachineUsername: virtualMachineUsername
@ -670,7 +670,7 @@ module cleanUp 'modules/cleanUp/cleanUp.bicep' = {
params: {
fslogixStorageService: fslogixStorageService
location: locationVirtualMachines
resourceGroupManagement: resourceNames.outputs.resourceGroupManagement
resourceGroupManagement: names.outputs.resources.resourceGroupManagement
scalingTool: scalingTool
timestamp: timestamp
userAssignedIdentityClientId: management.outputs.deploymentUserAssignedIdentityClientId

Разница между файлами не показана из-за своего большого размера Загрузить разницу