-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDevBox-Projects.bicep
43 lines (39 loc) · 1.35 KB
/
DevBox-Projects.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
targetScope = 'subscription'
param location string
param devCenterProject object
param devCenterID string
param resourceGroupName string
// deploy resource group
resource rg 'Microsoft.Resources/resourceGroups@2022-09-01' = {
name: resourceGroupName
location: location
}
// deploy DevCenter Project including role assignments
module DevCenterProject 'modules/DevCenterProject.bicep' = {
name: 'DevCenter${devCenterProject.name}'
scope: rg
params: {
location: location
ProjectDescription: devCenterProject.description
ProjectName: devCenterProject.name
roleAssignments: devCenterProject.roleAssignments
DevCenterID: devCenterID
}
}
// deploy DevCenter Porject Pools
module DevCenterPools 'modules/DevCenterProjectPools.bicep' = [for (pool, i) in devCenterProject.pools: {
name: '${DevCenterProject.name}pool${i}'
scope: rg
params: {
location: location
DevCenterProjectName: DevCenterProject.outputs.Name
devBoxDefinitionName: pool.definitionName
networkConnectionName: pool.networkConnectionName
gracePeriodMinutes: pool.gracePeriodMinutes
localAdministrator: pool.localAdministrator
stopOnDisconnect: pool.stopOnDisconnect
deploySchedule: !empty(pool.schedule)
scheduleTime: !empty(pool.schedule) ? pool.schedule.time : ''
scheduleTimeZone: !empty(pool.schedule) ? pool.schedule.timeZone : ''
}
}]