Skip to content

Commit c00e0be

Browse files
Merge pull request #415 from microsoft/pk-bicep-avm-module-version
chore: Update Bicep modules and resource versions across the infrastructure
2 parents a59df85 + 734757b commit c00e0be

18 files changed

Lines changed: 2461 additions & 1575 deletions

infra/main.bicep

Lines changed: 33 additions & 39 deletions
Large diffs are not rendered by default.

infra/main.json

Lines changed: 2333 additions & 1391 deletions
Large diffs are not rendered by default.

infra/main.parameters.json

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,6 @@
4646
},
4747
"vmAdminPassword": {
4848
"value": "${AZURE_ENV_VM_ADMIN_PASSWORD}"
49-
},
50-
"aiModelDeployments": {
51-
"value": [
52-
{
53-
"name": "${AZURE_ENV_GPT_MODEL_NAME}",
54-
"model": {
55-
"name": "${AZURE_ENV_GPT_MODEL_NAME}",
56-
"version": "${AZURE_ENV_GPT_MODEL_VERSION}"
57-
},
58-
"sku": {
59-
"name": "${AZURE_ENV_MODEL_DEPLOYMENT_TYPE}",
60-
"capacity": "${AZURE_ENV_GPT_MODEL_CAPACITY}"
61-
}
62-
}
63-
]
6449
}
6550
}
6651
}

infra/main.waf.parameters.json

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -55,21 +55,6 @@
5555
},
5656
"enableScalability": {
5757
"value": true
58-
},
59-
"aiModelDeployments": {
60-
"value": [
61-
{
62-
"name": "${AZURE_ENV_GPT_MODEL_NAME}",
63-
"model": {
64-
"name": "${AZURE_ENV_GPT_MODEL_NAME}",
65-
"version": "${AZURE_ENV_GPT_MODEL_VERSION}"
66-
},
67-
"sku": {
68-
"name": "${AZURE_ENV_MODEL_DEPLOYMENT_TYPE}",
69-
"capacity": "${AZURE_ENV_GPT_MODEL_CAPACITY}"
70-
}
71-
}
72-
]
7358
}
7459
}
7560
}

infra/main_custom.bicep

Lines changed: 31 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,15 @@ var resourceGroupTagsValue = union(
167167
)
168168

169169
// ========== Resource Group Tag ========== //
170-
resource resourceGroupTags 'Microsoft.Resources/tags@2021-04-01' = {
170+
resource resourceGroupTags 'Microsoft.Resources/tags@2025-04-01' = {
171171
name: 'default'
172172
properties: {
173173
tags: resourceGroupTagsValue
174174
}
175175
}
176176

177177
#disable-next-line no-deployments-resources
178-
resource avmTelemetry 'Microsoft.Resources/deployments@2024-03-01' = if (enableTelemetry) {
178+
resource avmTelemetry 'Microsoft.Resources/deployments@2025-04-01' = if (enableTelemetry) {
179179
name: take(
180180
'46d3xbcp.ptn.sa-modernizeyourcode.${replace('-..--..-', '.', '-')}.${substring(uniqueString(deployment().name, location), 0, 4)}',
181181
64
@@ -196,7 +196,7 @@ resource avmTelemetry 'Microsoft.Resources/deployments@2024-03-01' = if (enableT
196196
}
197197
}
198198

199-
module appIdentity 'br/public:avm/res/managed-identity/user-assigned-identity:0.4.2' = {
199+
module appIdentity 'br/public:avm/res/managed-identity/user-assigned-identity:0.5.0' = {
200200
name: take('avm.res.managed-identity.user-assigned-identity.${solutionSuffix}', 64)
201201
params: {
202202
name: 'id-${solutionSuffix}'
@@ -212,13 +212,13 @@ var existingLawSubscription = useExistingLogAnalytics ? split(existingLogAnalyti
212212
var existingLawResourceGroup = useExistingLogAnalytics ? split(existingLogAnalyticsWorkspaceId, '/')[4] : ''
213213
var existingLawName = useExistingLogAnalytics ? split(existingLogAnalyticsWorkspaceId, '/')[8] : ''
214214

215-
resource existingLogAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' existing = if (useExistingLogAnalytics) {
215+
resource existingLogAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2025-07-01' existing = if (useExistingLogAnalytics) {
216216
name: existingLawName
217217
scope: resourceGroup(existingLawSubscription, existingLawResourceGroup)
218218
}
219219

220220
// Deploy new Log Analytics workspace only if required and not using existing
221-
module logAnalyticsWorkspace 'br/public:avm/res/operational-insights/workspace:0.12.0' = if ((enableMonitoring || enablePrivateNetworking) && !useExistingLogAnalytics) {
221+
module logAnalyticsWorkspace 'br/public:avm/res/operational-insights/workspace:0.15.0' = if ((enableMonitoring || enablePrivateNetworking) && !useExistingLogAnalytics) {
222222
name: take('avm.res.operational-insights.workspace.${solutionSuffix}', 64)
223223
params: {
224224
name: 'log-${solutionSuffix}'
@@ -229,7 +229,7 @@ module logAnalyticsWorkspace 'br/public:avm/res/operational-insights/workspace:0
229229
tags: allTags
230230
enableTelemetry: enableTelemetry
231231
// WAF aligned configuration for Redundancy
232-
dailyQuotaGb: enableRedundancy ? 10 : null //WAF recommendation: 10 GB per day is a good starting point for most workloads
232+
dailyQuotaGb: enableRedundancy ? '10' : null //WAF recommendation: 10 GB per day is a good starting point for most workloads
233233
replication: enableRedundancy
234234
? {
235235
enabled: true
@@ -278,11 +278,9 @@ module logAnalyticsWorkspace 'br/public:avm/res/operational-insights/workspace:0
278278

279279
// Log Analytics workspace ID, customer ID, and shared key (existing or new)
280280
var logAnalyticsWorkspaceResourceId = useExistingLogAnalytics ? existingLogAnalyticsWorkspaceId : logAnalyticsWorkspace!.outputs.resourceId
281-
var LogAnalyticsPrimarySharedKey string = useExistingLogAnalytics? existingLogAnalyticsWorkspace.listKeys().primarySharedKey : logAnalyticsWorkspace.outputs.primarySharedKey
282-
var LogAnalyticsWorkspaceId = useExistingLogAnalytics? existingLogAnalyticsWorkspace.properties.customerId : logAnalyticsWorkspace!.outputs.logAnalyticsWorkspaceId
283281
var logAnalyticsWorkspaceName = useExistingLogAnalytics ? existingLawName : logAnalyticsWorkspace!.outputs.name
284282

285-
module applicationInsights 'br/public:avm/res/insights/component:0.7.0' = if (enableMonitoring) {
283+
module applicationInsights 'br/public:avm/res/insights/component:0.7.1' = if (enableMonitoring) {
286284
name: take('avm.res.insights.component.${solutionSuffix}', 64)
287285
params: {
288286
name: 'appi-${solutionSuffix}'
@@ -341,7 +339,7 @@ var dnsZoneIndex = {
341339
// - Excludes AI-related zones when using with an existing Foundry project
342340
// ===================================================
343341
@batchSize(5)
344-
module avmPrivateDnsZones 'br/public:avm/res/network/private-dns-zone:0.8.0' = [
342+
module avmPrivateDnsZones 'br/public:avm/res/network/private-dns-zone:0.8.1' = [
345343
for (zone, i) in privateDnsZones: if (enablePrivateNetworking) {
346344
name: take('avm.res.network.private-dns-zone.${split(zone, '.')[1]}.${solutionSuffix}', 64)
347345
params: {
@@ -360,7 +358,7 @@ module avmPrivateDnsZones 'br/public:avm/res/network/private-dns-zone:0.8.0' = [
360358

361359
// Azure Bastion Host
362360
var bastionHostName = 'bas-${solutionSuffix}'
363-
module bastionHost 'br/public:avm/res/network/bastion-host:0.8.0' = if (enablePrivateNetworking) {
361+
module bastionHost 'br/public:avm/res/network/bastion-host:0.8.2' = if (enablePrivateNetworking) {
364362
name: take('avm.res.network.bastion-host.${bastionHostName}', 64)
365363
params: {
366364
name: bastionHostName
@@ -383,14 +381,14 @@ module bastionHost 'br/public:avm/res/network/bastion-host:0.8.0' = if (enablePr
383381
enableTelemetry: enableTelemetry
384382
publicIPAddressObject: {
385383
name: 'pip-${bastionHostName}'
386-
zones: []
384+
availabilityZones: []
387385
}
388386
}
389387
}
390388

391389
// ========== Jumpbox Virtual machine ========== //
392390
var maintenanceConfigurationResourceName = 'mc-${solutionSuffix}'
393-
module maintenanceConfiguration 'br/public:avm/res/maintenance/maintenance-configuration:0.3.2' = if (enablePrivateNetworking) {
391+
module maintenanceConfiguration 'br/public:avm/res/maintenance/maintenance-configuration:0.4.0' = if (enablePrivateNetworking) {
394392
name: take('avm.res.compute.virtual-machine.${maintenanceConfigurationResourceName}', 64)
395393
params: {
396394
name: maintenanceConfigurationResourceName
@@ -430,7 +428,7 @@ var dataCollectionRulesResourceName = 'dcr-${solutionSuffix}'
430428
var dataCollectionRulesLocation = useExistingLogAnalytics
431429
? existingLogAnalyticsWorkspace!.location
432430
: logAnalyticsWorkspace!.outputs.location
433-
module windowsVmDataCollectionRules 'br/public:avm/res/insights/data-collection-rule:0.8.0' = if (enablePrivateNetworking && enableMonitoring) {
431+
module windowsVmDataCollectionRules 'br/public:avm/res/insights/data-collection-rule:0.11.0' = if (enablePrivateNetworking && enableMonitoring) {
434432
name: take('avm.res.insights.data-collection-rule.${dataCollectionRulesResourceName}', 64)
435433
params: {
436434
name: dataCollectionRulesResourceName
@@ -503,15 +501,6 @@ module windowsVmDataCollectionRules 'br/public:avm/res/insights/data-collection-
503501
streams: [
504502
'Microsoft-WindowsEvent'
505503
]
506-
eventLogName: 'Security'
507-
eventTypes: [
508-
{
509-
eventType: 'Audit Success'
510-
}
511-
{
512-
eventType: 'Audit Failure'
513-
}
514-
]
515504
xPathQueries: [
516505
'Security!*[System[(EventID=4624 or EventID=4625)]]'
517506
]
@@ -556,7 +545,7 @@ module proximityPlacementGroup 'br/public:avm/res/compute/proximity-placement-gr
556545

557546

558547
var virtualMachineResourceName = take('vm-jumpbox-${solutionSuffix}', 15)
559-
module virtualMachine 'br/public:avm/res/compute/virtual-machine:0.20.0' = if (enablePrivateNetworking) {
548+
module virtualMachine 'br/public:avm/res/compute/virtual-machine:0.22.0' = if (enablePrivateNetworking) {
560549
name: take('avm.res.compute.virtual-machine.${virtualMachineResourceName}', 64)
561550
params: {
562551
name: virtualMachineResourceName
@@ -565,18 +554,18 @@ module virtualMachine 'br/public:avm/res/compute/virtual-machine:0.20.0' = if (e
565554
enableTelemetry: enableTelemetry
566555
computerName: take(virtualMachineResourceName, 15)
567556
osType: 'Windows'
568-
vmSize: !empty(vmSize) ? vmSize : 'Standard_D2s_v5'
557+
vmSize: !empty(vmSize) ? vmSize! : 'Standard_D2s_v5'
569558
adminUsername: !empty(vmAdminUsername) ? vmAdminUsername : 'JumpboxAdminUser'
570559
adminPassword: !empty(vmAdminPassword) ? vmAdminPassword : 'JumpboxAdminP@ssw0rd1234!'
571560
managedIdentities: {
572561
systemAssigned: true
573562
}
574563
patchMode: 'AutomaticByPlatform'
575564
bypassPlatformSafetyChecksOnUserSchedule: true
576-
maintenanceConfigurationResourceId: maintenanceConfiguration.outputs.resourceId
565+
maintenanceConfigurationResourceId: maintenanceConfiguration!.outputs.resourceId
577566
enableAutomaticUpdates: true
578567
encryptionAtHost: false
579-
proximityPlacementGroupResourceId: proximityPlacementGroup.outputs.resourceId
568+
proximityPlacementGroupResourceId: proximityPlacementGroup!.outputs.resourceId
580569
availabilityZone: enableRedundancy ? 1 : -1
581570
imageReference: {
582571
publisher: 'microsoft-dsvm'
@@ -642,7 +631,7 @@ module virtualMachine 'br/public:avm/res/compute/virtual-machine:0.20.0' = if (e
642631
? {
643632
dataCollectionRuleAssociations: [
644633
{
645-
dataCollectionRuleResourceId: windowsVmDataCollectionRules.outputs.resourceId
634+
dataCollectionRuleResourceId: windowsVmDataCollectionRules!.outputs.resourceId
646635
name: 'send-${logAnalyticsWorkspaceName}'
647636
}
648637
]
@@ -673,11 +662,9 @@ module aiServices 'modules/ai-foundry/aifoundry.bicep' = {
673662
privateNetworking: null // Private endpoint is handled by the standalone aiFoundryPrivateEndpoint module
674663
existingFoundryProjectResourceId: existingFoundryProjectResourceId
675664
disableLocalAuth: true //Should be set to true for WAF aligned configuration
676-
customSubDomainName: 'aif-${solutionSuffix}'
677665
apiProperties: {
678666
//staticsEnabled: false
679667
}
680-
allowProjectManagement: true
681668
managedIdentities: {
682669
systemAssigned: true
683670
}
@@ -712,7 +699,7 @@ module aiServices 'modules/ai-foundry/aifoundry.bicep' = {
712699
var aiFoundryAiServicesResourceName = 'aif-${solutionSuffix}'
713700
var useExistingAiFoundryAiProject = !empty(existingFoundryProjectResourceId)
714701

715-
module aiFoundryPrivateEndpoint 'br/public:avm/res/network/private-endpoint:0.8.1' = if (enablePrivateNetworking && !useExistingAiFoundryAiProject) {
702+
module aiFoundryPrivateEndpoint 'br/public:avm/res/network/private-endpoint:0.12.0' = if (enablePrivateNetworking && !useExistingAiFoundryAiProject) {
716703
name: take('pep-${aiFoundryAiServicesResourceName}-deployment', 64)
717704
params: {
718705
name: 'pep-${aiFoundryAiServicesResourceName}'
@@ -788,7 +775,7 @@ module storageAccount 'modules/storageAccount.bicep' = {
788775
}
789776

790777
// Azure Container Registry for azd container deployments
791-
resource containerRegistry 'Microsoft.ContainerRegistry/registries@2023-07-01' = {
778+
resource containerRegistry 'Microsoft.ContainerRegistry/registries@2025-11-01' = {
792779
name: take('acrreg${solutionSuffix}', 50)
793780
location: location
794781
sku: {
@@ -863,7 +850,7 @@ module cosmosDb 'modules/cosmosDb.bicep' = {
863850

864851
var containerAppsEnvironmentName = 'cae-${solutionSuffix}'
865852

866-
module containerAppsEnvironment 'br/public:avm/res/app/managed-environment:0.11.3' = {
853+
module containerAppsEnvironment 'br/public:avm/res/app/managed-environment:0.13.1' = {
867854
name: take('avm.res.app.managed-environment.${solutionSuffix}', 64)
868855
#disable-next-line no-unnecessary-dependson
869856
dependsOn: [applicationInsights, logAnalyticsWorkspace, virtualNetwork] // required due to optional flags that could change dependency
@@ -879,16 +866,17 @@ module containerAppsEnvironment 'br/public:avm/res/app/managed-environment:0.11.
879866
appIdentity.outputs.resourceId
880867
]
881868
}
882-
appInsightsConnectionString: enableMonitoring ? applicationInsights.outputs.connectionString : null
869+
appInsightsConnectionString: enableMonitoring ? applicationInsights!.outputs.connectionString : null
883870
appLogsConfiguration: enableMonitoring
884871
? {
885872
destination: 'log-analytics'
886873
logAnalyticsConfiguration: {
887-
customerId: LogAnalyticsWorkspaceId
888-
sharedKey: LogAnalyticsPrimarySharedKey
874+
customerId: useExistingLogAnalytics ? existingLogAnalyticsWorkspace.properties.customerId : logAnalyticsWorkspace.outputs.logAnalyticsWorkspaceId
875+
sharedKey: useExistingLogAnalytics ? existingLogAnalyticsWorkspace.listKeys().primarySharedKey : logAnalyticsWorkspace.outputs.primarySharedKey
889876
}
877+
logAnalyticsWorkspaceResourceId: logAnalyticsWorkspaceResourceId
890878
}
891-
: {}
879+
: null
892880
workloadProfiles: enablePrivateNetworking
893881
? [
894882
// NOTE: workload profiles are required for private networking
@@ -903,7 +891,7 @@ module containerAppsEnvironment 'br/public:avm/res/app/managed-environment:0.11.
903891
}
904892
}
905893

906-
module containerAppBackend 'br/public:avm/res/app/container-app:0.19.0' = {
894+
module containerAppBackend 'br/public:avm/res/app/container-app:0.22.0' = {
907895
name: take('avm.res.app.container-app.backend.${solutionSuffix}', 64)
908896
#disable-next-line no-unnecessary-dependson
909897
dependsOn: [applicationInsights] // required due to optional flags that could change dependency
@@ -1034,11 +1022,11 @@ module containerAppBackend 'br/public:avm/res/app/container-app:0.19.0' = {
10341022
? [
10351023
{
10361024
name: 'APPLICATIONINSIGHTS_INSTRUMENTATION_KEY'
1037-
value: applicationInsights.outputs.instrumentationKey
1025+
value: applicationInsights!.outputs.instrumentationKey
10381026
}
10391027
{
10401028
name: 'APPLICATIONINSIGHTS_CONNECTION_STRING'
1041-
value: applicationInsights.outputs.connectionString
1029+
value: applicationInsights!.outputs.connectionString
10421030
}
10431031
]
10441032
: []
@@ -1088,7 +1076,7 @@ module containerAppBackend 'br/public:avm/res/app/container-app:0.19.0' = {
10881076
}
10891077
}
10901078

1091-
module containerAppFrontend 'br/public:avm/res/app/container-app:0.19.0' = {
1079+
module containerAppFrontend 'br/public:avm/res/app/container-app:0.22.0' = {
10921080
name: take('avm.res.app.container-app.frontend.${solutionSuffix}', 64)
10931081
params: {
10941082
name: take('ca-frontend-${solutionSuffix}', 32)
@@ -1155,7 +1143,7 @@ output resourceGroupName string = resourceGroup().name
11551143
output WEB_APP_URL string = 'https://${containerAppFrontend.outputs.fqdn}'
11561144
output COSMOSDB_ENDPOINT string = cosmosDb.outputs.endpoint
11571145
output AZURE_BLOB_ACCOUNT_NAME string = storageAccount.outputs.name
1158-
output AZURE_BLOB_ENDPOINT string = 'https://${storageAccount.outputs.name}.blob.core.windows.net/'
1146+
output AZURE_BLOB_ENDPOINT string = 'https://${storageAccount.outputs.name}.blob.${environment().suffixes.storage}/'
11591147
output AZURE_CONTAINER_REGISTRY_ENDPOINT string = containerRegistry.properties.loginServer
11601148
output AZURE_AI_AGENT_PROJECT_NAME string = aiServices.outputs.aiProjectInfo.name
11611149
output AZURE_AI_AGENT_ENDPOINT string = aiServices.outputs.aiProjectInfo.apiEndpoint
@@ -1169,7 +1157,7 @@ output COSMOSDB_DATABASE string = cosmosDb.outputs.databaseName
11691157
output COSMOSDB_BATCH_CONTAINER string = cosmosDb.outputs.containerNames.batch
11701158
output COSMOSDB_FILE_CONTAINER string = cosmosDb.outputs.containerNames.file
11711159
output COSMOSDB_LOG_CONTAINER string = cosmosDb.outputs.containerNames.log
1172-
output APPLICATIONINSIGHTS_CONNECTION_STRING string = enableMonitoring ? applicationInsights.outputs.connectionString : ''
1160+
output APPLICATIONINSIGHTS_CONNECTION_STRING string = enableMonitoring ? applicationInsights!.outputs.connectionString : ''
11731161
output MIGRATOR_AGENT_MODEL_DEPLOY string = modelDeployment.name
11741162
output PICKER_AGENT_MODEL_DEPLOY string = modelDeployment.name
11751163
output FIXER_AGENT_MODEL_DEPLOY string = modelDeployment.name

infra/modules/ai-foundry/ai-services.bicep

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// This module is here solely to provide network injection for Cognitive Services.
2-
// The AVM Module 'br/public:avm/res/cognitive-services/account:0.11.0' does not support that feature as of version 0.11.0
2+
// The AVM Module 'br/public:avm/res/cognitive-services/account:0.14.2' does not support that feature as of version 0.14.2
33
metadata name = 'Cognitive Services'
44
metadata description = 'This module deploys a Cognitive Service.'
55

@@ -60,7 +60,7 @@ param sku string = 'S0'
6060
@description('Optional. Location for all Resources.')
6161
param location string = resourceGroup().location
6262

63-
import { diagnosticSettingFullType } from 'br/public:avm/utl/types/avm-common-types:0.5.1'
63+
import { diagnosticSettingFullType } from 'br/public:avm/utl/types/avm-common-types:0.7.0'
6464
@description('Optional. The diagnostic settings of the service.')
6565
param diagnosticSettings diagnosticSettingFullType[]?
6666

@@ -80,11 +80,11 @@ param networkAcls object?
8080
@description('Optional. The network injection subnet resource Id for the Cognitive Services account. This allows to use the AI Services account with a virtual network.')
8181
param networkInjectionSubnetResourceId string?
8282

83-
import { privateEndpointSingleServiceType } from 'br/public:avm/utl/types/avm-common-types:0.5.1'
83+
import { privateEndpointSingleServiceType } from 'br/public:avm/utl/types/avm-common-types:0.7.0'
8484
@description('Optional. Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible.')
8585
param privateEndpoints privateEndpointSingleServiceType[]?
8686

87-
import { roleAssignmentType } from 'br/public:avm/utl/types/avm-common-types:0.5.1'
87+
import { roleAssignmentType } from 'br/public:avm/utl/types/avm-common-types:0.7.0'
8888
@description('Optional. Array of role assignments to create.')
8989
param roleAssignments roleAssignmentType[]?
9090

@@ -116,7 +116,7 @@ param restrictOutboundNetworkAccess bool = true
116116
@description('Optional. The storage accounts for this resource.')
117117
param userOwnedStorage array?
118118

119-
import { managedIdentityAllType } from 'br/public:avm/utl/types/avm-common-types:0.5.1'
119+
import { managedIdentityAllType } from 'br/public:avm/utl/types/avm-common-types:0.7.0'
120120
@description('Optional. The managed identity definition for this resource.')
121121
param managedIdentities managedIdentityAllType?
122122

@@ -260,7 +260,7 @@ var formattedRoleAssignments = [
260260
})
261261
]
262262

263-
resource cognitiveService 'Microsoft.CognitiveServices/accounts@2025-07-01-preview' = {
263+
resource cognitiveService 'Microsoft.CognitiveServices/accounts@2026-03-01' = {
264264
name: name
265265
kind: kind
266266
identity: identity
@@ -306,7 +306,7 @@ resource cognitiveService 'Microsoft.CognitiveServices/accounts@2025-07-01-previ
306306
}
307307

308308
@batchSize(1)
309-
resource cognitiveService_deployments 'Microsoft.CognitiveServices/accounts/deployments@2024-10-01' = [
309+
resource cognitiveService_deployments 'Microsoft.CognitiveServices/accounts/deployments@2026-03-01' = [
310310
for (deployment, index) in (deployments ?? []): {
311311
parent: cognitiveService
312312
name: deployment.?name ?? '${name}-deployments'
@@ -355,7 +355,7 @@ resource cognitiveService_diagnosticSettings 'Microsoft.Insights/diagnosticSetti
355355
}
356356
]
357357

358-
module cognitiveService_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.11.1' = [
358+
module cognitiveService_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.12.0' = [
359359
for (privateEndpoint, index) in (privateEndpoints ?? []): {
360360
name: take('${uniqueString(deployment().name, location)}-cognitiveService-PrivateEndpoint-${index}', 64)
361361
scope: resourceGroup(

0 commit comments

Comments
 (0)