Skip to content

Commit d8d1bbd

Browse files
Refactor Bicep modules for improved configuration and output handling
1 parent 549917d commit d8d1bbd

1 file changed

Lines changed: 15 additions & 25 deletions

File tree

infra/main_custom.bicep

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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,8 +278,6 @@ 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

285283
module applicationInsights 'br/public:avm/res/insights/component:0.7.1' = if (enableMonitoring) {
@@ -383,7 +381,7 @@ module bastionHost 'br/public:avm/res/network/bastion-host:0.8.2' = if (enablePr
383381
enableTelemetry: enableTelemetry
384382
publicIPAddressObject: {
385383
name: 'pip-${bastionHostName}'
386-
zones: []
384+
availabilityZones: []
387385
}
388386
}
389387
}
@@ -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
]
@@ -565,18 +554,18 @@ module virtualMachine 'br/public:avm/res/compute/virtual-machine:0.22.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.22.0' = if (e
642631
? {
643632
dataCollectionRuleAssociations: [
644633
{
645-
dataCollectionRuleResourceId: windowsVmDataCollectionRules.outputs.resourceId
634+
dataCollectionRuleResourceId: windowsVmDataCollectionRules!.outputs.resourceId
646635
name: 'send-${logAnalyticsWorkspaceName}'
647636
}
648637
]
@@ -877,16 +866,17 @@ module containerAppsEnvironment 'br/public:avm/res/app/managed-environment:0.13.
877866
appIdentity.outputs.resourceId
878867
]
879868
}
880-
appInsightsConnectionString: enableMonitoring ? applicationInsights.outputs.connectionString : null
869+
appInsightsConnectionString: enableMonitoring ? applicationInsights!.outputs.connectionString : null
881870
appLogsConfiguration: enableMonitoring
882871
? {
883872
destination: 'log-analytics'
884873
logAnalyticsConfiguration: {
885-
customerId: LogAnalyticsWorkspaceId
886-
sharedKey: LogAnalyticsPrimarySharedKey
874+
customerId: useExistingLogAnalytics ? existingLogAnalyticsWorkspace.properties.customerId : logAnalyticsWorkspace.outputs.logAnalyticsWorkspaceId
875+
sharedKey: useExistingLogAnalytics ? existingLogAnalyticsWorkspace.listKeys().primarySharedKey : logAnalyticsWorkspace.outputs.primarySharedKey
887876
}
877+
logAnalyticsWorkspaceResourceId: logAnalyticsWorkspaceResourceId
888878
}
889-
: {}
879+
: null
890880
workloadProfiles: enablePrivateNetworking
891881
? [
892882
// NOTE: workload profiles are required for private networking
@@ -1032,11 +1022,11 @@ module containerAppBackend 'br/public:avm/res/app/container-app:0.22.0' = {
10321022
? [
10331023
{
10341024
name: 'APPLICATIONINSIGHTS_INSTRUMENTATION_KEY'
1035-
value: applicationInsights.outputs.instrumentationKey
1025+
value: applicationInsights!.outputs.instrumentationKey
10361026
}
10371027
{
10381028
name: 'APPLICATIONINSIGHTS_CONNECTION_STRING'
1039-
value: applicationInsights.outputs.connectionString
1029+
value: applicationInsights!.outputs.connectionString
10401030
}
10411031
]
10421032
: []
@@ -1153,7 +1143,7 @@ output resourceGroupName string = resourceGroup().name
11531143
output WEB_APP_URL string = 'https://${containerAppFrontend.outputs.fqdn}'
11541144
output COSMOSDB_ENDPOINT string = cosmosDb.outputs.endpoint
11551145
output AZURE_BLOB_ACCOUNT_NAME string = storageAccount.outputs.name
1156-
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}/'
11571147
output AZURE_CONTAINER_REGISTRY_ENDPOINT string = containerRegistry.properties.loginServer
11581148
output AZURE_AI_AGENT_PROJECT_NAME string = aiServices.outputs.aiProjectInfo.name
11591149
output AZURE_AI_AGENT_ENDPOINT string = aiServices.outputs.aiProjectInfo.apiEndpoint
@@ -1167,7 +1157,7 @@ output COSMOSDB_DATABASE string = cosmosDb.outputs.databaseName
11671157
output COSMOSDB_BATCH_CONTAINER string = cosmosDb.outputs.containerNames.batch
11681158
output COSMOSDB_FILE_CONTAINER string = cosmosDb.outputs.containerNames.file
11691159
output COSMOSDB_LOG_CONTAINER string = cosmosDb.outputs.containerNames.log
1170-
output APPLICATIONINSIGHTS_CONNECTION_STRING string = enableMonitoring ? applicationInsights.outputs.connectionString : ''
1160+
output APPLICATIONINSIGHTS_CONNECTION_STRING string = enableMonitoring ? applicationInsights!.outputs.connectionString : ''
11711161
output MIGRATOR_AGENT_MODEL_DEPLOY string = modelDeployment.name
11721162
output PICKER_AGENT_MODEL_DEPLOY string = modelDeployment.name
11731163
output FIXER_AGENT_MODEL_DEPLOY string = modelDeployment.name

0 commit comments

Comments
 (0)