-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.bicep
112 lines (99 loc) · 2.86 KB
/
main.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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
@description('The Azure region into which the resources should be deployed.')
param location string = resourceGroup().location
param subscriptionId string = subscription().subscriptionId
param kvResourceGroup string = resourceGroup().name
param kvName string
resource kv 'Microsoft.KeyVault/vaults@2022-07-01' existing = {
name: kvName
scope: resourceGroup(subscriptionId, kvResourceGroup )
}
module core 'modules/core.bicep' = {
name: 'core'
params: {
logAnalyticsID: logAnalytics.outputs.logAnalyticsID
adminUsername: kv.getSecret('username')
adminPassword: kv.getSecret('password')
location: location
routeTableID: routes.outputs.routeTableID
}
}
module hub 'modules/hub.bicep' = {
name: 'hub'
params: {
storageAccountID: prod.outputs.storageAccountID
logAnalyticsID: logAnalytics.outputs.logAnalyticsID
prodAppServiceHostName: prod.outputs.prodAppServiceHostName
location: location
}
}
module dev 'modules/dev1.bicep' = {
name: 'dev'
params: {
routeTableID: routes.outputs.routeTableID
location: location
SQLadminUsername: kv.getSecret('sqluser1')
SQLadminPassword: kv.getSecret('sqlpassword1')
}
}
module prod 'modules/prod1.bicep' = {
name: 'prod'
params: {
routeTableID: routes.outputs.routeTableID
location: location
SQLadminUsername: kv.getSecret('sqluser2')
SQLadminPassword: kv.getSecret('sqlpassword2')
logAnalyticsID: logAnalytics.outputs.logAnalyticsID
}
}
module peerings 'modules/peerings.bicep' = {
name: 'peerings'
params: {
coreID: core.outputs.coreID
hubID: hub.outputs.hubID
devID: dev.outputs.devID
prodID: prod.outputs.prodID
}
}
module logAnalytics 'modules/loganalytics.bicep' = {
name: 'logAnalytics'
params: {
location: location
}
}
module routes 'modules/routes.bicep' = {
name: 'routes'
params: {
location: location
firewallPrivateIP: '0.0.0.0'
}
}
module routesupdate 'modules/routes.bicep' = {
name: 'routesupdate'
params: {
location: location
firewallPrivateIP: hub.outputs.firewallPrivateIP
}
}
module dnsZones 'modules/dnsZones.bicep' = {
name: 'dnsZones'
}
module dns 'modules/dns.bicep' = {
name: 'dns'
params: {
privateDnsZone1ID: dnsZones.outputs.privateDnsZone1ID
privateDnsZone2ID: dnsZones.outputs.privateDnsZone2ID
privateDnsZone3ID: dnsZones.outputs.privateDnsZone3ID
privateDnsZone1name: dnsZones.outputs.privateDnsZone1name
privateDnsZone2name: dnsZones.outputs.privateDnsZone2name
privateDnsZone3name: dnsZones.outputs.privateDnsZone3name
coreID: core.outputs.coreID
prodID: prod.outputs.prodID
hubID: hub.outputs.hubID
devID: dev.outputs.devID
devAppPEname: dev.outputs.devAppPE
devSqlPEname: dev.outputs.devSqlPE
prodAppPEname: prod.outputs.prodAppPE
prodSqlPEname: prod.outputs.prodSqlPE
prodStoragePEname: prod.outputs.prodStoragePE
}
}