@@ -36,7 +36,8 @@ param identity Identity
3636@description ('Tags to be applied to all resources' )
3737param tags object = {}
3838
39- param dateTime string = utcNow ('yyyyMMdd-HHmmss' )
39+ @description ('Azure region for resource deployment' )
40+ param location string = resourceGroup ().location
4041
4142@description ('Identity configuration for the project' )
4243type Identity = {
@@ -76,7 +77,7 @@ resource devCenter 'Microsoft.DevCenter/devcenters@2025-10-01-preview' existing
7677@description ('DevCenter Project resource' )
7778resource project 'Microsoft.DevCenter/projects@2025-10-01-preview' = {
7879 name : name
79- location : resourceGroup (). location
80+ location : location
8081 identity : {
8182 type : identity .type
8283 }
@@ -100,7 +101,6 @@ resource project 'Microsoft.DevCenter/projects@2025-10-01-preview' = {
100101@description ('Configure project identity role assignments' )
101102module projectIdentity '../../identity/projectIdentityRoleAssignment.bicep' = [
102103 for (role , i ) in identity .roleAssignments : {
103- name : 'prj-rbac${i }-${uniqueString (project .id , project .name )}-${dateTime }'
104104 scope : resourceGroup ()
105105 params : {
106106 projectName : project .name
@@ -114,7 +114,6 @@ module projectIdentity '../../identity/projectIdentityRoleAssignment.bicep' = [
114114@description ('Configure project identity role assignments' )
115115module projectIdentityRG '../../identity/projectIdentityRoleAssignmentRG.bicep' = [
116116 for (role , i ) in identity .roleAssignments : {
117- name : 'prj-rbac-RG-${i }-${uniqueString (project .id , project .name )}-${dateTime }'
118117 scope : resourceGroup (securityResourceGroupName )
119118 params : {
120119 projectName : project .name
@@ -128,7 +127,6 @@ module projectIdentityRG '../../identity/projectIdentityRoleAssignmentRG.bicep'
128127@description ('Add the AD Group to the DevCenter project' )
129128module projectADGroup '../../identity/projectIdentityRoleAssignment.bicep' = [
130129 for (role , i ) in identity .roleAssignments : {
131- name : 'prj-adgroup-${i }-${uniqueString (project .id , project .name )}-${dateTime }'
132130 scope : resourceGroup ()
133131 params : {
134132 projectName : project .name
@@ -142,61 +140,41 @@ module projectADGroup '../../identity/projectIdentityRoleAssignment.bicep' = [
142140@description ('Configure project catalogs' )
143141module projectCatalogs 'projectCatalog.bicep' = [
144142 for (catalog , i ) in catalogs : {
145- name : 'catalog-${i }-${uniqueString (project .id , catalog .name )}-${dateTime }'
146143 scope : resourceGroup ()
147144 params : {
148145 projectName : project .name
149146 catalogConfig : catalog
150147 secretIdentifier : secretIdentifier
151148 }
152- dependsOn : [
153- projectIdentity
154- projectIdentityRG
155- projectADGroup
156- ]
157149 }
158150]
159151
160152@description ('Configure project environment types' )
161153module environmentTypes 'projectEnvironmentType.bicep' = [
162154 for (envType , i ) in projectEnvironmentTypes : {
163- name : 'env-type-${i }-${uniqueString (project .id , envType .name )}-${dateTime }'
164155 scope : resourceGroup ()
165156 params : {
166157 projectName : project .name
167158 environmentConfig : envType
159+ location : location
168160 }
169- dependsOn : [
170- projectIdentity
171- projectIdentityRG
172- projectADGroup
173- projectCatalogs
174- ]
175161 }
176162]
177163
178164@description ('Connectivity configuration for the project' )
179165module connectivity '../../connectivity/connectivity.bicep' = {
180- name : 'connectivity-${uniqueString (project .id )}-${dateTime }'
181166 scope : resourceGroup ()
182167 params : {
183168 devCenterName : devCenterName
184169 projectNetwork : projectNetwork
185170 logAnalyticsId : logAnalyticsId
186- location : resourceGroup (). location
171+ location : location
187172 }
188- dependsOn : [
189- projectIdentity
190- projectIdentityRG
191- projectADGroup
192- projectCatalogs
193- ]
194173}
195174
196175@description ('Configure DevBox pools for the project' )
197176module pools 'projectPool.bicep' = [
198177 for (pool , i ) in projectPools : {
199- name : 'pool-${i }-${uniqueString (project .id , pool .name )}-${dateTime }'
200178 scope : resourceGroup ()
201179 params : {
202180 name : pool .name
@@ -206,6 +184,7 @@ module pools 'projectPool.bicep' = [
206184 vmSku : pool .vmSku
207185 networkConnectionName : connectivity .outputs .networkConnectionName
208186 networkType : connectivity .outputs .networkType
187+ location : location
209188 }
210189 }
211190]
0 commit comments