-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathVnetPeeringsAvnm.bicep
81 lines (74 loc) · 2.1 KB
/
VnetPeeringsAvnm.bicep
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
targetScope = 'subscription'
param location string
param HubResourceGroupName string
param avnmSubscriptionScopes array
param avnmName string = 'LabBuilder-AVNM'
param spokeVNETids array
param hubVNETid string
param useHubGateway bool
param deployVnetPeeringMesh bool
param tagsByResource object = {}
resource hubrg 'Microsoft.Resources/resourceGroups@2023-07-01' existing = {
name: HubResourceGroupName
}
module avnm 'modules/avnm.bicep' = {
scope: hubrg
name: 'AVNM'
params: {
avnmName: avnmName
avnmSubscriptionScopes: avnmSubscriptionScopes
location: location
tagsByResource: tagsByResource
}
}
module avnmGroup 'modules/avnmgroup.bicep' = {
scope: hubrg
name: 'AVNM-NetworkGroup'
params: {
avnmGroupName: '${avnm.outputs.name}-NetworkGroup01'
avnmName: avnm.outputs.name
spokeVNETids: spokeVNETids
}
}
module avnmConnectivityConfig 'modules/avnmconfig.bicep' = {
scope: hubrg
name: 'AVNM-ConnectivityConfig'
params: {
avnmName: avnm.outputs.name
avnmNetworkGroupID: avnmGroup.outputs.id
avvmConnectivityConfigName: '${avnm.outputs.name}-ConnectivityConfig'
hubVNETid: hubVNETid
useHubGateway: useHubGateway
groupConnectivity: deployVnetPeeringMesh ? 'DirectlyConnected' : 'None'
}
}
module userAssignedIdentity 'modules/uai.bicep' = {
scope: hubrg
name: 'UserAssignedIdentityForAVNM'
params: {
location: location
uaiName: avnm.outputs.name
tagsByResource: tagsByResource
}
}
module roleAssignment 'modules/avnmroleassignment.bicep' = {
scope: hubrg
name: 'RoleAssignmentForAVNMDeploymentScript'
params: {
principalID: userAssignedIdentity.outputs.principalID
avnmName: avnm.outputs.name
}
}
module avnmConfigDeployment 'modules/avnmdeployment.bicep' = {
scope: hubrg
name: 'AVNM-ConfigurationDeployment'
params: {
avnmName: avnm.outputs.name
configType: 'Connectivity'
configurationId: avnmConnectivityConfig.outputs.id
deploymentScriptName: '${avnm.outputs.name}-DeploymentScript'
location: location
userAssignedIdentityId: userAssignedIdentity.outputs.id
tagsByResource: tagsByResource
}
}