@@ -742,87 +742,16 @@ module cognitiveServicesCu 'br/public:avm/res/cognitive-services/account:0.14.1'
742742// ========== AVM WAF ========== //
743743// ========== AI Foundry: AI Search ========== //
744744var aiSearchName = 'srch-${solutionSuffix }'
745- module searchService 'br/public:avm/res/search/search-service:0.12.0' = {
746- name : take ('avm.res.search.search-service.${aiSearchName }' , 64 )
747- params : {
748- // Required parameters
749- name : aiSearchName
750- enableTelemetry : enableTelemetry
751- diagnosticSettings : enableMonitoring ? [
752- {
753- workspaceResourceId : logAnalyticsWorkspaceResourceId
754- }
755- ] : null
756- disableLocalAuth : true
757- hostingMode : 'Default'
758- networkRuleSet : {
759- bypass : 'AzureServices'
760- ipRules : []
761- }
762- roleAssignments : [
763- {
764- roleDefinitionIdOrName : '7ca78c08-252a-4471-8644-bb5ff32d4ba0'
765- principalId : userAssignedIdentity .outputs .principalId
766- principalType : 'ServicePrincipal'
767- }
768- {
769- roleDefinitionIdOrName : '5e0bd9bd-7b93-4f28-af87-19fc36ad61bd'
770- principalId : userAssignedIdentity .outputs .principalId
771- principalType : 'ServicePrincipal'
772- }
773- {
774- roleDefinitionIdOrName : '8ebe5a00-799e-43f5-93ac-243d3dce84a7' //'Search Index Data Contributor'
775- principalId : userAssignedIdentity .outputs .principalId
776- principalType : 'ServicePrincipal'
777- }
778- {
779- roleDefinitionIdOrName : '1407120a-92aa-4202-b7e9-c0e197c71c8f'
780- principalId : userAssignedIdentity .outputs .principalId
781- principalType : 'ServicePrincipal'
782- }
783- {
784- roleDefinitionIdOrName : '1407120a-92aa-4202-b7e9-c0e197c71c8f'
785- principalId : backendUserAssignedIdentity .outputs .principalId
786- principalType : 'ServicePrincipal'
787- }
788- {
789- roleDefinitionIdOrName : '1407120a-92aa-4202-b7e9-c0e197c71c8f' // Search Index Data Reader
790- principalId : !useExistingAiFoundryAiProject ? aiFoundryAiServices .outputs .aiProjectInfo .aiprojectSystemAssignedMIPrincipalId : existingAiFoundryAiServicesProject !.identity .principalId
791- principalType : 'ServicePrincipal'
792- }
793- {
794- roleDefinitionIdOrName : '7ca78c08-252a-4471-8644-bb5ff32d4ba0' // Search Service Contributor
795- principalId : !useExistingAiFoundryAiProject ? aiFoundryAiServices .outputs .aiProjectInfo .aiprojectSystemAssignedMIPrincipalId : existingAiFoundryAiServicesProject !.identity .principalId
796- principalType : 'ServicePrincipal'
797- }
798- ]
799- partitionCount : 1
800- replicaCount : 1
801- sku : 'standard'
802- semanticSearch : 'free'
803- // Use the deployment tags provided to the template
804- tags : tags
805- publicNetworkAccess : 'Enabled' //enablePrivateNetworking ? 'Disabled' : 'Enabled'
806- privateEndpoints : false //enablePrivateNetworking
807- ? [
808- {
809- name : 'pep-${aiSearchName }'
810- customNetworkInterfaceName : 'nic-${aiSearchName }'
811- privateDnsZoneGroup : {
812- privateDnsZoneGroupConfigs : [
813- { privateDnsZoneResourceId : avmPrivateDnsZones [dnsZoneIndex .search ]!.outputs .resourceId }
814- ]
815- }
816- service : 'searchService'
817- subnetResourceId : virtualNetwork !.outputs .pepsSubnetResourceId
818- }
819- ]
820- : []
745+ resource searchService 'Microsoft.Search/searchServices@2024-06-01-preview' = {
746+ name : aiSearchName
747+ location : location
748+ sku : {
749+ name : 'standard'
821750 }
822751}
823752
824- // Separate module for Search Service to enable managed identity, as this reduces deployment time
825- module searchServiceEnableIdentity 'br/public:avm/res/search/search-service:0.12.0' = {
753+ // Separate module for Search Service to enable managed identity and update other properties , as this reduces deployment time
754+ module searchServiceUpdate 'br/public:avm/res/search/search-service:0.12.0' = {
826755 name : take ('avm.res.search.enable-identity.${aiSearchName }' , 64 )
827756 params : {
828757 // Required parameters
@@ -912,7 +841,7 @@ resource searchServiceToAiServicesRoleAssignment 'Microsoft.Authorization/roleAs
912841 name : guid (aiSearchName , '5e0bd9bd-7b93-4f28-af87-19fc36ad61bd' , aiFoundryAiServicesResourceName )
913842 properties : {
914843 roleDefinitionId : subscriptionResourceId ('Microsoft.Authorization/roleDefinitions' , '5e0bd9bd-7b93-4f28-af87-19fc36ad61bd' ) // Cognitive Services OpenAI User
915- principalId : searchServiceEnableIdentity .outputs .systemAssignedMIPrincipalId !
844+ principalId : searchServiceUpdate .outputs .systemAssignedMIPrincipalId !
916845 principalType : 'ServicePrincipal'
917846 }
918847}
@@ -926,10 +855,13 @@ resource projectAISearchConnection 'Microsoft.CognitiveServices/accounts/project
926855 isSharedToAll : true
927856 metadata : {
928857 ApiType : 'Azure'
929- ResourceId : searchService .outputs . resourceId
930- location : searchService .outputs . location
858+ ResourceId : searchService .id
859+ location : searchService .location
931860 }
932861 }
862+ dependsOn : [
863+ aiFoundryAiServices
864+ ]
933865}
934866
935867module existing_AIProject_SearchConnectionModule 'modules/deploy_aifp_aisearch_connection.bicep' = if (useExistingAiFoundryAiProject ) {
@@ -939,8 +871,8 @@ module existing_AIProject_SearchConnectionModule 'modules/deploy_aifp_aisearch_c
939871 existingAIProjectName : aiFoundryAiProjectResourceName
940872 existingAIFoundryName : aiFoundryAiServicesResourceName
941873 aiSearchName : aiSearchName
942- aiSearchResourceId : searchService .outputs . resourceId
943- aiSearchLocation : searchService .outputs . location
874+ aiSearchResourceId : searchService .id
875+ aiSearchLocation : searchService .location
944876 aiSearchConnectionName : aiSearchName
945877 }
946878}
@@ -950,7 +882,7 @@ module searchServiceToExistingAiServicesRoleAssignment 'modules/role-assignment.
950882 name : 'searchToExistingAiServices-roleAssignment'
951883 scope : resourceGroup (aiFoundryAiServicesSubscriptionId , aiFoundryAiServicesResourceGroupName )
952884 params : {
953- principalId : searchServiceEnableIdentity .outputs .systemAssignedMIPrincipalId !
885+ principalId : searchServiceUpdate .outputs .systemAssignedMIPrincipalId !
954886 roleDefinitionId : '5e0bd9bd-7b93-4f28-af87-19fc36ad61bd' // Cognitive Services OpenAI User
955887 targetResourceName : aiFoundryAiServices .outputs .name
956888 }
0 commit comments