@@ -697,7 +697,9 @@ module privateDnsZonesAiServices 'br/public:avm/res/network/private-dns-zone:0.7
697697]
698698
699699// NOTE: Required version 'Microsoft.CognitiveServices/accounts@2024-04-01-preview' not available in AVM
700- var aiFoundryAiServicesResourceName = aiFoundryAiServicesConfiguration .?name ?? 'aisa-${solutionPrefix }'
700+ var useExistingFoundryProject = !empty (existingFoundryProjectResourceId )
701+ var existingAiFoundryName = useExistingFoundryProject ?split ( existingFoundryProjectResourceId ,'/' )[8 ]:''
702+ var aiFoundryAiServicesResourceName = useExistingFoundryProject ? existingAiFoundryName : aiFoundryAiServicesConfiguration .?name ?? 'aisa-${solutionPrefix }'
701703var aiFoundryAIservicesEnabled = aiFoundryAiServicesConfiguration .?enabled ?? true
702704var aiFoundryAiServicesModelDeployment = {
703705 format : 'OpenAI'
@@ -738,9 +740,7 @@ module aiFoundryAiServices 'modules/account/main.bicep' = if (aiFoundryAIservice
738740 bypass : 'AzureServices'
739741 defaultAction : (virtualNetworkEnabled ) ? 'Deny' : 'Allow'
740742 }
741-
742-
743- privateEndpoints : virtualNetworkEnabled
743+ privateEndpoints : virtualNetworkEnabled && !useExistingFoundryProject
744744 ? ([
745745 {
746746 name : 'pep-${aiFoundryAiServicesResourceName }'
@@ -754,7 +754,7 @@ module aiFoundryAiServices 'modules/account/main.bicep' = if (aiFoundryAIservice
754754 }
755755 }
756756 ])
757- : []
757+ : []
758758 deployments : aiFoundryAiServicesConfiguration .?deployments ?? [
759759 {
760760 name : aiFoundryAiServicesModelDeployment .name
@@ -775,31 +775,24 @@ module aiFoundryAiServices 'modules/account/main.bicep' = if (aiFoundryAIservice
775775
776776// AI Foundry: AI Project
777777// WAF best practices for Open AI: https://learn.microsoft.com/en-us/azure/well-architected/service-guides/azure-openai
778- var aiFoundryAiProjectName = aiFoundryAiProjectConfiguration .?name ?? 'aifp-${solutionPrefix }'
779-
780- resource aiUser 'Microsoft.Authorization/roleDefinitions@2022-04-01' existing = {
781- name : '53ca6127-db72-4b80-b1b0-d745d6d5456d'
782- }
778+ var existingAiFounryProjectName = useExistingFoundryProject ? last (split ( existingFoundryProjectResourceId ,'/' )) : ''
779+ var aiFoundryAiProjectName = useExistingFoundryProject ? existingAiFounryProjectName : aiFoundryAiProjectConfiguration .?name ?? 'aifp-${solutionPrefix }'
783780
784781var useExistingResourceId = !empty (existingFoundryProjectResourceId )
785782
786- module Newroles './modules/role.bicep' = if (!useExistingResourceId ){
783+ module cogServiceRoleAssignmentsNew './modules/role.bicep' = if (!useExistingResourceId ) {
787784 params : {
788- name : 'new-${guid (containerApp .name , aiFoundryAiServices .outputs .resourceId , aiUser .id )}'
789- roleDefinitionId : aiUser .id
785+ name : 'new-${guid (containerApp .name , aiFoundryAiServices .outputs .resourceId )}'
790786 principalId : containerApp .outputs .?systemAssignedMIPrincipalId !
791- aiUserid : aiUser .id
792787 aiServiceName : aiFoundryAiServices .outputs .name
793788 }
794789 scope : resourceGroup (subscription ().subscriptionId , resourceGroup ().name )
795790}
796791
797- module Existingroles './modules/role.bicep' = if (useExistingResourceId ){
792+ module cogServiceRoleAssignmentsExisting './modules/role.bicep' = if (useExistingResourceId ) {
798793 params : {
799- name : 'reuse-${guid (containerApp .name , aiFoundryAiServices .outputs .aiProjectInfo .resourceId , aiUser .id )}'
800- roleDefinitionId : aiUser .id
794+ name : 'reuse-${guid (containerApp .name , aiFoundryAiServices .outputs .aiProjectInfo .resourceId )}'
801795 principalId : containerApp .outputs .?systemAssignedMIPrincipalId !
802- aiUserid : aiUser .id
803796 aiServiceName : aiFoundryAiServices .outputs .name
804797 }
805798 scope : resourceGroup ( split (existingFoundryProjectResourceId , '/' )[2 ], split (existingFoundryProjectResourceId , '/' )[4 ])
0 commit comments