Skip to content

Commit 44f5884

Browse files
deploy model for existing foundry if not exists
1 parent e963341 commit 44f5884

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

infra/deploy_ai_foundry.bicep

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,15 +253,16 @@ module assignFoundryRoleToMIExisting 'deploy_foundry_role_assignment.bicep' = if
253253
aiServicesName: !empty(azureExistingAIProjectResourceId) ? existingAIServicesName : aiServicesName
254254
aiProjectName: !empty(azureExistingAIProjectResourceId) ? existingAIProjectName : aiProjectName
255255
principalId: managedIdentityObjectId
256+
// Use the existing AI project resource ID to determine the location and other properties
256257
aiLocation: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.location : solutionLocation
257258
aiKind: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.kind : 'AIServices'
258259
aiSkuName: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.skuName : 'S0'
259260
customSubDomainName: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.customSubDomainName : aiServicesName
260261
publicNetworkAccess: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.publicNetworkAccess : 'Enabled'
261-
enableSystemAssignedIdentity: true
262262
defaultNetworkAction: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.defaultNetworkAction : 'Allow'
263263
vnetRules: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.vnetRules : []
264264
ipRules: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.ipRules : []
265+
aiModelDeployments: aiModelDeployments // Pass the model deployments to the module if model not already deployed
265266
}
266267
}
267268

@@ -288,12 +289,12 @@ module assignOpenAIRoleToAISearch 'deploy_foundry_role_assignment.bicep' = {
288289
aiServicesName: !empty(azureExistingAIProjectResourceId) ? existingAIServicesName : aiServicesName
289290
aiProjectName: !empty(azureExistingAIProjectResourceId) ? existingAIProjectName : aiProjectName
290291
principalId: aiSearch.identity.principalId
292+
// Use the existing AI project resource ID to determine the location and other properties
291293
aiLocation: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.location : solutionLocation
292294
aiKind: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.kind : 'AIServices'
293295
aiSkuName: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.skuName : 'S0'
294296
customSubDomainName: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.customSubDomainName : aiServicesName
295297
publicNetworkAccess: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.publicNetworkAccess : 'Enabled'
296-
enableSystemAssignedIdentity: true
297298
defaultNetworkAction: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.defaultNetworkAction : 'Allow'
298299
vnetRules: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.vnetRules : []
299300
ipRules: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.ipRules : []

infra/deploy_backend_docker.bicep

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,6 @@ module assignAiUserRoleToAiProject 'deploy_foundry_role_assignment.bicep' = {
190190
aiSkuName: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.skuName : 'S0'
191191
customSubDomainName: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.customSubDomainName : aiServicesName
192192
publicNetworkAccess: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.publicNetworkAccess : 'Enabled'
193-
enableSystemAssignedIdentity: true
194193
defaultNetworkAction: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.defaultNetworkAction : 'Allow'
195194
vnetRules: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.vnetRules : []
196195
ipRules: !empty(azureExistingAIProjectResourceId) ? existing_aiServicesModule.outputs.ipRules : []

infra/deploy_foundry_role_assignment.bicep

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@ param aiProjectName string = ''
66
param aiLocation string=''
77
param aiKind string=''
88
param aiSkuName string=''
9-
param enableSystemAssignedIdentity bool = true
109
param customSubDomainName string = ''
1110
param publicNetworkAccess string = ''
1211
param defaultNetworkAction string
1312
param vnetRules array = []
1413
param ipRules array = []
14+
param aiModelDeployments array = []
1515

16-
// AI Services with Identity (enabled only if flag is true)
17-
resource aiServices 'Microsoft.CognitiveServices/accounts@2025-04-01-preview' = if (enableSystemAssignedIdentity) {
16+
resource aiServices 'Microsoft.CognitiveServices/accounts@2025-04-01-preview' = {
1817
name: aiServicesName
1918
location: aiLocation
2019
kind: aiKind
@@ -37,8 +36,24 @@ resource aiServices 'Microsoft.CognitiveServices/accounts@2025-04-01-preview' =
3736
}
3837
}
3938

40-
// AI Project with Identity (only if name provided and flag is true)
41-
resource aiProject 'Microsoft.CognitiveServices/accounts/projects@2025-04-01-preview' = if (!empty(aiProjectName) && enableSystemAssignedIdentity) {
39+
@batchSize(1)
40+
resource aiServicesDeployments 'Microsoft.CognitiveServices/accounts/deployments@2025-04-01-preview' = [for aiModeldeployment in aiModelDeployments: if (!empty(aiModelDeployments)) {
41+
parent: aiServices
42+
name: aiModeldeployment.name
43+
properties: {
44+
model: {
45+
format: 'OpenAI'
46+
name: aiModeldeployment.model
47+
}
48+
raiPolicyName: aiModeldeployment.raiPolicyName
49+
}
50+
sku:{
51+
name: aiModeldeployment.sku.name
52+
capacity: aiModeldeployment.sku.capacity
53+
}
54+
}]
55+
56+
resource aiProject 'Microsoft.CognitiveServices/accounts/projects@2025-04-01-preview' = if (!empty(aiProjectName)) {
4257
name: aiProjectName
4358
parent: aiServices
4459
location: aiLocation

0 commit comments

Comments
 (0)