@@ -126,7 +126,7 @@ module avmNetworkSecurityGroup_Containers 'br/public:avm/res/network/network-sec
126126module avmNetworkSecurityGroup_Bastion 'br/public:avm/res/network/network-security-group:0.5.1' = if (deployment_param .enable_waf ) {
127127 name : format (
128128 deployment_param .resource_name_format_string ,
129- '${deployment_param .naming_abbrs .networking .networkSecurityGroup }Bastion '
129+ '${deployment_param .naming_abbrs .networking .networkSecurityGroup }bastion '
130130 )
131131 params : {
132132 name : '${deployment_param .naming_abbrs .networking .networkSecurityGroup }${deployment_param .solution_prefix }-bastion'
@@ -225,14 +225,15 @@ module avmPrivateDnsZoneAiServices 'br/public:avm/res/network/private-dns-zone:0
225225]
226226
227227// Private DNS Zone for AI foundry Storage Blob
228- var aiFoundryStoragePrivateDnsZones = {
228+ var storagePrivateDnsZones = {
229229 'privatelink.blob.${environment ().suffixes .storage }' : 'blob'
230+ 'privatelink.queue.${environment ().suffixes .storage }' : 'queue'
230231 'privatelink.file.${environment ().suffixes .storage }' : 'file'
231232}
232233
233- module avmPrivateDnsZoneAiFoundryStorage 'br/public:avm/res/network/private-dns-zone:0.7.1' = [
234- for zone in items (aiFoundryStoragePrivateDnsZones ): if (deployment_param .enable_waf ) {
235- name : 'private-dns-zone-aifoundry- storage-${zone .value }'
234+ module avmPrivateDnsZoneStorage 'br/public:avm/res/network/private-dns-zone:0.7.1' = [
235+ for zone in items (storagePrivateDnsZones ): if (deployment_param .enable_waf ) {
236+ name : 'private-dns-zone-storage-${zone .value }'
236237 params : {
237238 name : zone .key
238239 tags : deployment_param .tags
@@ -274,23 +275,23 @@ module avmPrivateDnsZoneCosmosMongoDB 'br/public:avm/res/network/private-dns-zon
274275 }
275276}
276277
277- // Private DNS Zone for Application Storage Account
278- var appStoragePrivateDnsZones = {
279- 'privatelink.blob.${environment ().suffixes .storage }' : 'blob'
280- 'privatelink.queue.${environment ().suffixes .storage }' : 'queue'
281- }
282-
283- module avmPrivateDnsZonesAppStorage 'br/public:avm/res/network/private-dns-zone:0.7.1' = [
284- for (zone , i ) in items (appStoragePrivateDnsZones ): if (deployment_param .enable_waf ) {
285- name : 'private-dns-zone-app-storage-${zone .value }-${i }'
286- params : {
287- name : zone .key
288- tags : deployment_param .tags
289- enableTelemetry : deployment_param .enable_telemetry
290- virtualNetworkLinks : [{ virtualNetworkResourceId : avmVirtualNetwork .outputs .resourceId }]
291- }
292- }
293- ]
278+ // // Private DNS Zone for Application Storage Account
279+ // var appStoragePrivateDnsZones = {
280+ // 'privatelink.blob.${environment().suffixes.storage}': 'blob'
281+ // 'privatelink.queue.${environment().suffixes.storage}': 'queue'
282+ // }
283+
284+ // module avmPrivateDnsZonesAppStorage 'br/public:avm/res/network/private-dns-zone:0.7.1' = [
285+ // for (zone, i) in items(appStoragePrivateDnsZones): if (deployment_param.enable_waf) {
286+ // name: 'private-dns-zone-app-storage-${zone.value}-${i}'
287+ // params: {
288+ // name: zone.key
289+ // tags: deployment_param.tags
290+ // enableTelemetry: deployment_param.enable_telemetry
291+ // virtualNetworkLinks: [{ virtualNetworkResourceId: avmVirtualNetwork.outputs.resourceId }]
292+ // }
293+ // }
294+ // ]
294295
295296// Private DNS Zone for App Configuration
296297var appConfigPrivateDnsZones = {
@@ -515,9 +516,30 @@ module avmStorageAccount 'br/public:avm/res/storage/storage-account:0.20.0' = {
515516 ? [
516517 {
517518 name : 'storage-private-endpoint-blob'
519+ privateDnsZoneGroup : {
520+ privateDnsZoneGroupConfigs : [
521+ {
522+ name : 'storage-dns-zone-group-blob'
523+ privateDnsZoneResourceId : avmPrivateDnsZoneStorage [0 ].outputs .resourceId
524+ }
525+ ]
526+ }
518527 subnetResourceId : avmVirtualNetwork .outputs .subnetResourceIds [0 ] // Use the backend subnet
519528 service : 'blob'
520529 }
530+ {
531+ name : 'storage-private-endpoint-queue'
532+ privateDnsZoneGroup : {
533+ privateDnsZoneGroupConfigs : [
534+ {
535+ name : 'storage-dns-zone-group-queue'
536+ privateDnsZoneResourceId : avmPrivateDnsZoneStorage [1 ].outputs .resourceId
537+ }
538+ ]
539+ }
540+ subnetResourceId : avmVirtualNetwork .outputs .subnetResourceIds [0 ] // Use the backend subnet
541+ service : 'queue'
542+ }
521543 ]
522544 : []
523545
@@ -775,21 +797,21 @@ module avmAiServices_storage_hub 'br/public:avm/res/storage/storage-account:0.20
775797 privateDnsZoneGroupConfigs : [
776798 {
777799 name : 'aistoragehub-dns-zone-blob'
778- privateDnsZoneResourceId : avmPrivateDnsZonesAppStorage [0 ].outputs .resourceId
800+ privateDnsZoneResourceId : avmPrivateDnsZoneStorage [0 ].outputs .resourceId
779801 }
780802 ]
781803 }
782804 subnetResourceId : avmVirtualNetwork .outputs .subnetResourceIds [0 ] // Use the backend subnet
783805 }
784806 {
785- name : 'aistoragehub-private-endpoint-queue '
807+ name : 'aistoragehub-private-endpoint-file '
786808 privateEndpointResourceId : avmVirtualNetwork .outputs .resourceId
787- service : 'queue '
809+ service : 'file '
788810 privateDnsZoneGroup : {
789811 privateDnsZoneGroupConfigs : [
790812 {
791- name : 'aistoragehub-dns-zone-queue '
792- privateDnsZoneResourceId : avmPrivateDnsZonesAppStorage [ 1 ].outputs .resourceId
813+ name : 'aistoragehub-dns-zone-file '
814+ privateDnsZoneResourceId : avmPrivateDnsZoneStorage [ 2 ].outputs .resourceId
793815 }
794816 ]
795817 }
@@ -908,10 +930,10 @@ module avmContainerAppEnv 'br/public:avm/res/app/managed-environment:0.11.1' = {
908930 publicNetworkAccess : 'Enabled'
909931
910932 // <========== WAF related parameters
911- // infrastructureSubnetResourceId : (deployment_param.enable_waf)
912- // ? avmVirtualNetwork.outputs.subnetResourceIds[1]
913- // : null // Use the container app subnet
914- zoneRedundant : ( deployment_param . enable_waf ) ? true : false
933+ zoneRedundant : (deployment_param .enable_waf ) ? false : true
934+ infrastructureSubnetResourceId : ( deployment_param . enable_waf )
935+ ? avmVirtualNetwork . outputs . subnetResourceIds [ 1 ] // Use the container app subnet
936+ : null // Use the container app subnet
915937 }
916938}
917939
@@ -1338,26 +1360,58 @@ module avmAppConfig 'br/public:avm/res/app-configuration/configuration-store:0.6
13381360 }
13391361 ]
13401362
1363+ publicNetworkAccess : 'Enabled' // Always enabled for App Configuration
13411364 // WAF related parameters
1342- publicNetworkAccess : (deployment_param .enable_waf ) ? 'Disabled' : 'Enabled'
1343- privateEndpoints : (deployment_param .enable_waf )
1344- ? [
1345- {
1346- name : 'appconfig-private-endpoint'
1347- privateEndpointResourceId : avmVirtualNetwork .outputs .resourceId
1348- privateDnsZoneGroup : {
1349- privateDnsZoneGroupConfigs : [
1350- {
1351- name : 'appconfig-dns-zone-group'
1352- privateDnsZoneResourceId : avmPrivateDnsZoneAppConfig .outputs .resourceId
1353- }
1354- ]
1365+ // publicNetworkAccess: (deployment_param.enable_waf) ? 'Disabled' : 'Enabled'
1366+ // privateEndpoints: (deployment_param.enable_waf)
1367+ // ? [
1368+ // {
1369+ // name: 'appconfig-private-endpoint'
1370+ // privateEndpointResourceId: avmVirtualNetwork.outputs.resourceId
1371+ // privateDnsZoneGroup: {
1372+ // privateDnsZoneGroupConfigs: [
1373+ // {
1374+ // name: 'appconfig-dns-zone-group'
1375+ // privateDnsZoneResourceId: avmPrivateDnsZoneAppConfig.outputs.resourceId
1376+ // }
1377+ // ]
1378+ // }
1379+ // subnetResourceId: avmVirtualNetwork.outputs.subnetResourceIds[0] // Use the backend subnet
1380+ // }
1381+ // ]
1382+ // : []
1383+ }
1384+ }
1385+
1386+ module avmAppConfig_update 'br/public:avm/res/app-configuration/configuration-store:0.6.3' = if (deployment_param .enable_waf ) {
1387+ name : format (
1388+ deployment_param .resource_name_format_string ,
1389+ '${deployment_param .naming_abbrs .developerTools .appConfigurationStore }-update'
1390+ )
1391+ params : {
1392+ name : '${deployment_param .naming_abbrs .developerTools .appConfigurationStore }${deployment_param .solution_prefix }'
1393+ location : deployment_param .resource_group_location
1394+
1395+ publicNetworkAccess : 'Disabled'
1396+ privateEndpoints : [
1397+ {
1398+ name : 'appconfig-private-endpoint'
1399+ privateDnsZoneGroup : {
1400+ privateDnsZoneGroupConfigs : [
1401+ {
1402+ name : 'appconfig-dns-zone-group'
1403+ privateDnsZoneResourceId : avmPrivateDnsZoneAppConfig .outputs .resourceId
13551404 }
1356- subnetResourceId : avmVirtualNetwork .outputs .subnetResourceIds [0 ] // Use the backend subnet
1357- }
1358- ]
1359- : []
1405+ ]
1406+ }
1407+ subnetResourceId : avmVirtualNetwork .outputs .subnetResourceIds [0 ] // Use the backend subnet
1408+ }
1409+ ]
13601410 }
1411+
1412+ dependsOn : [
1413+ avmAppConfig
1414+ ]
13611415}
13621416
13631417module avmRoleAssignment_container_app 'br/public:avm/ptn/authorization/resource-role-assignment:0.1.2' = {
0 commit comments