@@ -48,6 +48,9 @@ param supportedClouds array = [
48
48
'AzureUSGovernment'
49
49
]
50
50
51
+ @description ('Choose to deploy the identity resources. The identity resoures are not required if you plan to use cloud identities.' )
52
+ param deployIdentity bool
53
+
51
54
// RESOURCE NAMING PARAMETERS
52
55
53
56
@description ('A suffix to use for naming deployments uniquely. It defaults to the Bicep resolution of the "utcNow()" function.' )
@@ -655,26 +658,8 @@ var bastionHostPublicIPAddressAllocationMethod = 'Static'
655
658
656
659
// SPOKES
657
660
658
- var spokes = [
659
- {
660
- name : identityName
661
- subscriptionId : identitySubscriptionId
662
- resourceGroupName : identityResourceGroupName
663
- logStorageAccountName : identityLogStorageAccountName
664
- virtualNetworkName : identityVirtualNetworkName
665
- virtualNetworkAddressPrefix : identityVirtualNetworkAddressPrefix
666
- virtualNetworkDiagnosticsLogs : identityVirtualNetworkDiagnosticsLogs
667
- virtualNetworkDiagnosticsMetrics : identityVirtualNetworkDiagnosticsMetrics
668
- networkSecurityGroupName : identityNetworkSecurityGroupName
669
- networkSecurityGroupRules : identityNetworkSecurityGroupRules
670
- networkSecurityGroupDiagnosticsLogs : identityNetworkSecurityGroupDiagnosticsLogs
671
- networkSecurityGroupDiagnosticsMetrics : identityNetworkSecurityGroupDiagnosticsMetrics
672
- routeTableName : identityRouteTableName
673
- subnetName : identitySubnetName
674
- subnetAddressPrefix : identitySubnetAddressPrefix
675
- subnetPrivateEndpointNetworkPolicies : 'Disabled'
676
- subnetPrivateLinkServiceNetworkPolicies : 'Disabled'
677
- }
661
+ var spokes = union (spokesCommon , spokesIdentity )
662
+ var spokesCommon = [
678
663
{
679
664
name : operationsName
680
665
subscriptionId : operationsSubscriptionId
@@ -714,6 +699,27 @@ var spokes = [
714
699
subnetPrivateLinkServiceNetworkPolicies : 'Disabled'
715
700
}
716
701
]
702
+ var spokesIdentity = deployIdentity ? [
703
+ {
704
+ name : identityName
705
+ subscriptionId : identitySubscriptionId
706
+ resourceGroupName : identityResourceGroupName
707
+ logStorageAccountName : identityLogStorageAccountName
708
+ virtualNetworkName : identityVirtualNetworkName
709
+ virtualNetworkAddressPrefix : identityVirtualNetworkAddressPrefix
710
+ virtualNetworkDiagnosticsLogs : identityVirtualNetworkDiagnosticsLogs
711
+ virtualNetworkDiagnosticsMetrics : identityVirtualNetworkDiagnosticsMetrics
712
+ networkSecurityGroupName : identityNetworkSecurityGroupName
713
+ networkSecurityGroupRules : identityNetworkSecurityGroupRules
714
+ networkSecurityGroupDiagnosticsLogs : identityNetworkSecurityGroupDiagnosticsLogs
715
+ networkSecurityGroupDiagnosticsMetrics : identityNetworkSecurityGroupDiagnosticsMetrics
716
+ routeTableName : identityRouteTableName
717
+ subnetName : identitySubnetName
718
+ subnetAddressPrefix : identitySubnetAddressPrefix
719
+ subnetPrivateEndpointNetworkPolicies : 'Disabled'
720
+ subnetPrivateLinkServiceNetworkPolicies : 'Disabled'
721
+ }
722
+ ] : []
717
723
718
724
// TAGS
719
725
@@ -880,9 +886,19 @@ module privateDnsZones './modules/private-dns.bicep' = {
880
886
name : 'deploy-private-dns-zones-${deploymentNameSuffix }'
881
887
scope : resourceGroup (hubSubscriptionId , hubResourceGroupName )
882
888
params : {
883
- vnetName : hubNetwork .outputs .virtualNetworkName
889
+ deployIdentity : deployIdentity
890
+ deploymentNameSuffix : deploymentNameSuffix
891
+ hubVirtualNetworkName : hubNetwork .outputs .virtualNetworkName
892
+ hubVirtualNetworkResourceGroupName : hubResourceGroupName
893
+ hubVirtualNetworkSubscriptionId : hubSubscriptionId
894
+ identityVirtualNetworkName : deployIdentity ? spokes [2 ].virtualNetworkName : ''
895
+ identityVirtualNetworkResourceGroupName : identityResourceGroupName
896
+ identityVirtualNetworkSubscriptionId : identitySubscriptionId
884
897
tags : tags
885
898
}
899
+ dependsOn : [
900
+ spokeNetworks
901
+ ]
886
902
}
887
903
888
904
// OPERATIONS CMK DEPENDANCIES
@@ -897,7 +913,7 @@ module operationsCustomerManagedKeys './core/operations-customer-managed-keys.bi
897
913
keyVaultPrivateDnsZoneResourceId : privateDnsZones .outputs .keyvaultDnsPrivateDnsZoneId
898
914
location : location
899
915
resourcePrefix : resourcePrefix
900
- subnetResourceId : spokeNetworks [1 ].outputs .subnetResourceId
916
+ subnetResourceId : spokeNetworks [0 ].outputs .subnetResourceId
901
917
tags : calculatedTags
902
918
userAssignedIdentityName : operationsUserAssignedIdentityName
903
919
}
@@ -921,7 +937,7 @@ module azureMonitor './modules/azure-monitor.bicep' = if (contains(supportedClou
921
937
location : location
922
938
tags : tags
923
939
resourcePrefix : resourcePrefix
924
- subnetResourceId : spokeNetworks [1 ].outputs .subnetResourceId
940
+ subnetResourceId : spokeNetworks [0 ].outputs .subnetResourceId
925
941
}
926
942
dependsOn : [
927
943
logAnalyticsWorkspace
0 commit comments