@@ -107,7 +107,7 @@ param azureAiServiceLocation string
107107param createdBy string = contains (deployer (), 'userPrincipalName' )? split (deployer ().userPrincipalName , '@' )[0 ]: deployer ().objectId
108108
109109// ========== Resource Group Tag ========== //
110- resource resourceGroupTags 'Microsoft.Resources/tags@2021-04 -01' = {
110+ resource resourceGroupTags 'Microsoft.Resources/tags@2023-07 -01' = {
111111 name : 'default'
112112 properties : {
113113 tags : {
@@ -226,7 +226,7 @@ var dnsZoneIndex = {
226226 containerRegistry : 8
227227}
228228@batchSize (5 )
229- module avmPrivateDnsZones 'br/public:avm/res/network/private-dns-zone:0.7 .1' = [
229+ module avmPrivateDnsZones 'br/public:avm/res/network/private-dns-zone:0.8 .1' = [
230230 for (zone , i ) in privateDnsZones : if (enablePrivateNetworking ) {
231231 name : 'dns-zone-${i }'
232232 params : {
@@ -242,7 +242,7 @@ module avmPrivateDnsZones 'br/public:avm/res/network/private-dns-zone:0.7.1' = [
242242// WAF best practices for Log Analytics: https://learn.microsoft.com/en-us/azure/well-architected/service-guides/azure-log-analytics
243243// WAF PSRules for Log Analytics: https://azure.github.io/PSRule.Rules.Azure/en/rules/resource/#azure-monitor-logs
244244var logAnalyticsWorkspaceResourceName = 'log-${solutionSuffix }'
245- module logAnalyticsWorkspace 'br/public:avm/res/operational-insights/workspace:0.12 .0' = if (enableMonitoring && !useExistingLogAnalytics ) {
245+ module logAnalyticsWorkspace 'br/public:avm/res/operational-insights/workspace:0.15 .0' = if (enableMonitoring && !useExistingLogAnalytics ) {
246246 name : take ('avm.res.operational-insights.workspace.${logAnalyticsWorkspaceResourceName }' , 64 )
247247 params : {
248248 name : logAnalyticsWorkspaceResourceName
@@ -254,7 +254,7 @@ module logAnalyticsWorkspace 'br/public:avm/res/operational-insights/workspace:0
254254 features : { enableLogAccessUsingOnlyResourcePermissions : true }
255255 diagnosticSettings : [{ useThisWorkspace : true }]
256256 // WAF aligned configuration for Redundancy
257- dailyQuotaGb : enableRedundancy ? 10 : null //WAF recommendation: 10 GB per day is a good starting point for most workloads
257+ dailyQuotaGb : enableRedundancy ? '10' : null //WAF recommendation: 10 GB per day is a good starting point for most workloads
258258 replication : enableRedundancy
259259 ? {
260260 enabled : true
@@ -317,7 +317,7 @@ module virtualNetwork 'modules/virtualNetwork.bicep' = if (enablePrivateNetworki
317317}
318318// Azure Bastion Host
319319var bastionHostName = 'bas-${solutionSuffix }'
320- module bastionHost 'br/public:avm/res/network/bastion-host:0.6.1 ' = if (enablePrivateNetworking ) {
320+ module bastionHost 'br/public:avm/res/network/bastion-host:0.8.2 ' = if (enablePrivateNetworking ) {
321321 name : take ('avm.res.network.bastion-host.${bastionHostName }' , 64 )
322322 params : {
323323 name : bastionHostName
@@ -340,14 +340,14 @@ module bastionHost 'br/public:avm/res/network/bastion-host:0.6.1' = if (enablePr
340340 enableTelemetry : enableTelemetry
341341 publicIPAddressObject : {
342342 name : 'pip-${bastionHostName }'
343- zones : []
343+ availabilityZones : []
344344 }
345345 }
346346}
347347
348348// Jumpbox Virtual Machine
349349var jumpboxVmName = take ('vm-jumpbox-${solutionSuffix }' , 15 )
350- module jumpboxVM 'br/public:avm/res/compute/virtual-machine:0.15 .0' = if (enablePrivateNetworking ) {
350+ module jumpboxVM 'br/public:avm/res/compute/virtual-machine:0.22 .0' = if (enablePrivateNetworking ) {
351351 name : take ('avm.res.compute.virtual-machine.${jumpboxVmName }' , 64 )
352352 params : {
353353 name : take (jumpboxVmName , 15 ) // Shorten VM name to 15 characters to avoid Azure limits
@@ -356,7 +356,7 @@ module jumpboxVM 'br/public:avm/res/compute/virtual-machine:0.15.0' = if (enable
356356 adminUsername : vmAdminUsername ?? 'JumpboxAdminUser'
357357 adminPassword : vmAdminPassword ?? 'JumpboxAdminP@ssw0rd1234!'
358358 tags : tags
359- zone : 0
359+ availabilityZone : - 1
360360 imageReference : {
361361 offer : 'WindowsServer'
362362 publisher : 'MicrosoftWindowsServer'
@@ -406,7 +406,7 @@ module jumpboxVM 'br/public:avm/res/compute/virtual-machine:0.15.0' = if (enable
406406// ========== User Assigned Identity ========== //
407407// WAF best practices for identity and access management: https://learn.microsoft.com/en-us/azure/well-architected/security/identity-access
408408var userAssignedIdentityResourceName = 'id-${solutionSuffix }'
409- module userAssignedIdentity 'br/public:avm/res/managed-identity/user-assigned-identity:0.4.1 ' = {
409+ module userAssignedIdentity 'br/public:avm/res/managed-identity/user-assigned-identity:0.5.0 ' = {
410410 name : take ('avm.res.managed-identity.user-assigned-identity.${userAssignedIdentityResourceName }' , 64 )
411411 params : {
412412 name : userAssignedIdentityResourceName
@@ -437,7 +437,7 @@ module avmContainerRegistry './modules/container-registry.bicep' = {
437437}
438438
439439// ========== Cosmos Database for Mongo DB ========== //
440- module avmCosmosDB 'br/public:avm/res/document-db/database-account:0.15 .0' = {
440+ module avmCosmosDB 'br/public:avm/res/document-db/database-account:0.19 .0' = {
441441 name : take ('avm.res.cosmos-${solutionSuffix }' , 64 )
442442 params : {
443443 name : 'cosmos-${solutionSuffix }'
@@ -486,7 +486,7 @@ module avmCosmosDB 'br/public:avm/res/document-db/database-account:0.15.0' = {
486486 'EnableMongo'
487487 ]
488488 //capabilitiesToAdd: enableRedundancy ? null : ['EnableServerless']
489- automaticFailover : enableRedundancy ? true : false
489+ enableAutomaticFailover : enableRedundancy ? true : false
490490 failoverLocations : enableRedundancy
491491 ? [
492492 {
@@ -512,7 +512,7 @@ module avmCosmosDB 'br/public:avm/res/document-db/database-account:0.15.0' = {
512512
513513// ========== App Configuration store ========== //
514514var appConfigName = 'appcs-${solutionSuffix }'
515- module avmAppConfig 'br/public:avm/res/app-configuration/configuration-store:0.6.3 ' = {
515+ module avmAppConfig 'br/public:avm/res/app-configuration/configuration-store:0.9.2 ' = {
516516 name : take ('avm.res.app-configuration.configuration-store.${appConfigName }' , 64 )
517517 params : {
518518 name : appConfigName
@@ -637,7 +637,7 @@ module avmAppConfig 'br/public:avm/res/app-configuration/configuration-store:0.6
637637 }
638638}
639639
640- module avmAppConfigUpdated 'br/public:avm/res/app-configuration/configuration-store:0.6.3 ' = if (enablePrivateNetworking ) {
640+ module avmAppConfigUpdated 'br/public:avm/res/app-configuration/configuration-store:0.9.2 ' = if (enablePrivateNetworking ) {
641641 name : take ('avm.res.app-configuration.configuration-store-update.${appConfigName }' , 64 )
642642 params : {
643643 name : appConfigName
@@ -674,7 +674,7 @@ module avmAppConfigUpdated 'br/public:avm/res/app-configuration/configuration-st
674674
675675// ========== Storage account module ========== //
676676var storageAccountName = 'st${solutionSuffix }'
677- module avmStorageAccount 'br/public:avm/res/storage/storage-account:0.20 .0' = {
677+ module avmStorageAccount 'br/public:avm/res/storage/storage-account:0.32 .0' = {
678678 name : take ('avm.res.storage.storage-account.${storageAccountName }' , 64 )
679679 params : {
680680 name : storageAccountName
@@ -748,7 +748,7 @@ module avmStorageAccount 'br/public:avm/res/storage/storage-account:0.20.0' = {
748748
749749// ========== AI Foundry: AI Search ========== //
750750var aiSearchName = 'srch-${solutionSuffix }'
751- resource avmSearchSearchServices 'Microsoft.Search/searchServices@2024-06 -01-preview ' = {
751+ resource avmSearchSearchServices 'Microsoft.Search/searchServices@2025-05 -01' = {
752752 name : aiSearchName
753753 location : solutionLocation
754754 sku : {
@@ -757,7 +757,7 @@ resource avmSearchSearchServices 'Microsoft.Search/searchServices@2024-06-01-pre
757757}
758758
759759// Separate module for Search Service to enable managed identity and update other properties, as this reduces deployment time
760- module avmSearchSearchServicesUpdate 'br/public:avm/res/search/search-service:0.11.1 ' = {
760+ module avmSearchSearchServicesUpdate 'br/public:avm/res/search/search-service:0.12.0 ' = {
761761 name : take ('avm.res.search-services-identity.${aiSearchName }' , 64 )
762762 params : {
763763 name : aiSearchName
@@ -810,7 +810,7 @@ module avmSearchSearchServicesUpdate 'br/public:avm/res/search/search-service:0.
810810
811811// ========== Cognitive Services - OpenAI module ========== //
812812var openAiAccountName = 'oai-${solutionSuffix }'
813- module avmOpenAi 'br/public:avm/res/cognitive-services/account:0.13 .2' = {
813+ module avmOpenAi 'br/public:avm/res/cognitive-services/account:0.14 .2' = {
814814 name : take ('avm.res.cognitiveservices.account.${openAiAccountName }' , 64 )
815815 params : {
816816 name : openAiAccountName
@@ -852,7 +852,7 @@ module avmOpenAi 'br/public:avm/res/cognitive-services/account:0.13.2' = {
852852 }
853853}
854854
855- module openaiPrivateEndpoint 'br/public:avm/res/network/private-endpoint:0.8.1 ' = if (enablePrivateNetworking ) {
855+ module openaiPrivateEndpoint 'br/public:avm/res/network/private-endpoint:0.12.0 ' = if (enablePrivateNetworking ) {
856856 name : take ('pep-${openAiAccountName }-deployment' , 64 )
857857 params : {
858858 name : 'pep-${openAiAccountName }'
@@ -886,7 +886,7 @@ module openaiPrivateEndpoint 'br/public:avm/res/network/private-endpoint:0.8.1'
886886
887887// ========== Cognitive Services - Document Intellignece module ========== //
888888var docIntelAccountName = 'di-${solutionSuffix }'
889- module documentIntelligence 'br/public:avm/res/cognitive-services/account:0.13 .2' = {
889+ module documentIntelligence 'br/public:avm/res/cognitive-services/account:0.14 .2' = {
890890 name : take ('avm.res.cognitiveservices.account.${docIntelAccountName }' , 64 )
891891 params : {
892892 name : docIntelAccountName
@@ -920,7 +920,7 @@ module documentIntelligence 'br/public:avm/res/cognitive-services/account:0.13.2
920920 }
921921}
922922
923- module docIntelPrivateEndpoint 'br/public:avm/res/network/private-endpoint:0.8.1 ' = if (enablePrivateNetworking ) {
923+ module docIntelPrivateEndpoint 'br/public:avm/res/network/private-endpoint:0.12.0 ' = if (enablePrivateNetworking ) {
924924 name : take ('pep-${docIntelAccountName }-deployment' , 64 )
925925 params : {
926926 name : 'pep-${docIntelAccountName }'
@@ -949,7 +949,7 @@ module docIntelPrivateEndpoint 'br/public:avm/res/network/private-endpoint:0.8.1
949949}
950950
951951// ========== Azure Kubernetes Service (AKS) ========== //
952- module managedCluster 'br/public:avm/res/container-service/managed-cluster:0.10.1 ' = {
952+ module managedCluster 'br/public:avm/res/container-service/managed-cluster:0.13.0 ' = {
953953 name : take ('avm.res.container-service.managed-cluster.aks-${solutionSuffix }' , 64 )
954954 params : {
955955 name : 'aks-${solutionSuffix }'
@@ -966,7 +966,9 @@ module managedCluster 'br/public:avm/res/container-service/managed-cluster:0.10.
966966 }
967967 serviceCidr : '10.20.0.0/16'
968968 dnsServiceIP : '10.20.0.10'
969- enablePrivateCluster : false
969+ apiServerAccessProfile : {
970+ enablePrivateCluster : false
971+ }
970972 primaryAgentPoolProfiles : [
971973 {
972974 name : 'agentpool'
@@ -986,9 +988,17 @@ module managedCluster 'br/public:avm/res/container-service/managed-cluster:0.10.
986988 vnetSubnetResourceId : enablePrivateNetworking ? virtualNetwork !.outputs .webSubnetResourceId : null
987989 }
988990 ]
989- autoNodeOsUpgradeProfileUpgradeChannel : 'Unmanaged'
990- autoUpgradeProfileUpgradeChannel : 'stable'
991- enableAzureDefender : enablePrivateNetworking
991+ autoUpgradeProfile : {
992+ upgradeChannel : 'stable'
993+ nodeOSUpgradeChannel : 'Unmanaged'
994+ }
995+ securityProfile : {
996+ defender : {
997+ securityMonitoring : {
998+ enabled : enablePrivateNetworking
999+ }
1000+ }
1001+ }
9921002 networkPlugin : 'azure'
9931003 networkPolicy : 'azure'
9941004 omsAgentEnabled : true
@@ -1032,7 +1042,7 @@ module managedCluster 'br/public:avm/res/container-service/managed-cluster:0.10.
10321042
10331043// ========== Application Insights ========== //
10341044var applicationInsightsResourceName = 'appi-${solutionSuffix }'
1035- module applicationInsights 'br/public:avm/res/insights/component:0.6.0 ' = if (enableMonitoring ) {
1045+ module applicationInsights 'br/public:avm/res/insights/component:0.7.1 ' = if (enableMonitoring ) {
10361046 name : take ('avm.res.insights.component.${applicationInsightsResourceName }' , 64 )
10371047 params : {
10381048 name : applicationInsightsResourceName
0 commit comments