@@ -30,13 +30,20 @@ param solutionUniqueText string = take(uniqueString(subscription().id, resourceG
3030 'westeurope'
3131 'uksouth'
3232])
33- param location string = 'australiaeast'
33+ param location string
3434
3535// Restricting deployment to only supported Azure OpenAI regions validated with GPT-4o model
3636@allowed (['australiaeast' , 'eastus2' , 'francecentral' , 'japaneast' , 'norwayeast' , 'swedencentral' , 'uksouth' , 'westus' ])
37- @metadata ({ azd : { type : 'location' } })
37+ @metadata ({
38+ azd : {
39+ type : 'location'
40+ usageName : [
41+ 'OpenAI.GlobalStandard.gpt-4o, 150'
42+ ]
43+ }
44+ })
3845@description ('Optional. Location for all AI service resources. This should be one of the supported Azure AI Service locations.' )
39- param azureAiServiceLocation string = 'australiaeast'
46+ param azureAiServiceLocation string
4047
4148@description ('Optional. The tags to apply to all deployed Azure resources.' )
4249param tags resourceInput <'Microsoft.Resources/resourceGroups@2025-04-01' >.tags = {}
@@ -62,13 +69,13 @@ param virtualMachineAdminUsername string = take(newGuid(), 20)
6269param virtualMachineAdminPassword string = newGuid ()
6370
6471@description ('Optional. The Container Registry hostname where the docker images for the backend are located.' )
65- param backendContainerRegistryHostname string = 'biabcontainerreg .azurecr.io'
72+ param backendContainerRegistryHostname string = 'macaer .azurecr.io'
6673
6774@description ('Optional. The Container Image Name to deploy on the backend.' )
6875param backendContainerImageName string = 'macaebackend'
6976
7077@description ('Optional. The Container Image Tag to deploy on the backend.' )
71- param backendContainerImageTag string = 'latest_2025-07-22_895 '
78+ param backendContainerImageTag string = 'dev '
7279
7380@description ('Optional. The Container Registry hostname where the docker images for the frontend are located.' )
7481param frontendContainerRegistryHostname string = 'biabcontainerreg.azurecr.io'
@@ -77,7 +84,7 @@ param frontendContainerRegistryHostname string = 'biabcontainerreg.azurecr.io'
7784param frontendContainerImageName string = 'macaefrontend'
7885
7986@description ('Optional. The Container Image Tag to deploy on the frontend.' )
80- param frontendContainerImageTag string = 'latest_2025-07-22_895 '
87+ param frontendContainerImageTag string = 'latest '
8188
8289@description ('Optional. Enable/Disable usage telemetry for module.' )
8390param enableTelemetry bool = true
@@ -1038,6 +1045,10 @@ var cosmosDbResourceName = 'cosmos-${solutionSuffix}'
10381045var cosmosDbDatabaseName = 'macae'
10391046var cosmosDbDatabaseMemoryContainerName = 'memory'
10401047
1048+ resource sqlContributorRoleDefinition 'Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions@2024-11-15' existing = {
1049+ name : '${cosmosDbResourceName }/00000000-0000-0000-0000-000000000002'
1050+ }
1051+
10411052//TODO: update to latest version of AVM module
10421053module cosmosDb 'br/public:avm/res/document-db/database-account:0.15.0' = {
10431054 name : take ('avm.res.document-db.database-account.${cosmosDbResourceName }' , 64 )
@@ -1062,16 +1073,22 @@ module cosmosDb 'br/public:avm/res/document-db/database-account:0.15.0' = {
10621073 ]
10631074 }
10641075 ]
1065- dataPlaneRoleDefinitions : [
1076+ // dataPlaneRoleDefinitions: [
1077+ // {
1078+ // // Cosmos DB Built-in Data Contributor: https://docs.azure.cn/en-us/cosmos-db/nosql/security/reference-data-plane-roles#cosmos-db-built-in-data-contributor
1079+ // roleName: 'Cosmos DB SQL Data Contributor'
1080+ // dataActions: [
1081+ // 'Microsoft.DocumentDB/databaseAccounts/readMetadata'
1082+ // 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*'
1083+ // 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*'
1084+ // ]
1085+ // assignments: [{ principalId: userAssignedIdentity.outputs.principalId }]
1086+ // }
1087+ // ]
1088+ dataPlaneRoleAssignments : [
10661089 {
1067- // Cosmos DB Built-in Data Contributor: https://docs.azure.cn/en-us/cosmos-db/nosql/security/reference-data-plane-roles#cosmos-db-built-in-data-contributor
1068- roleName : 'Cosmos DB SQL Data Contributor'
1069- dataActions : [
1070- 'Microsoft.DocumentDB/databaseAccounts/readMetadata'
1071- 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*'
1072- 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*'
1073- ]
1074- assignments : [{ principalId : userAssignedIdentity .outputs .principalId }]
1090+ principalId : userAssignedIdentity .outputs .principalId
1091+ roleDefinitionId : sqlContributorRoleDefinition .id
10751092 }
10761093 ]
10771094 // WAF aligned configuration for Monitoring
@@ -1331,6 +1348,10 @@ module containerApp 'br/public:avm/res/app/container-app:0.18.1' = {
13311348 name : 'AZURE_AI_AGENT_MODEL_DEPLOYMENT_NAME'
13321349 value : aiFoundryAiServicesModelDeployment .name
13331350 }
1351+ {
1352+ name : 'AZURE_CLIENT_ID'
1353+ value : userAssignedIdentity .outputs .clientId // NOTE: This is the client ID of the managed identity, not the Entra application, and is needed for the App Service to access the Cosmos DB account.
1354+ }
13341355 ]
13351356 }
13361357 ]
0 commit comments