mirror of
https://github.com/bartvdbraak/keyweave.git
synced 2025-04-27 23:01:20 +00:00
85 lines
1.3 KiB
Bicep
85 lines
1.3 KiB
Bicep
targetScope = 'subscription'
|
|
|
|
/*
|
|
Parameters
|
|
*/
|
|
|
|
@allowed([
|
|
'D' // Development
|
|
'T' // Test
|
|
'A' // Acceptance
|
|
'P' // Production
|
|
])
|
|
param environment string = 'T'
|
|
param location string = 'westeurope'
|
|
param name object = {
|
|
tenantId: 'BVDB'
|
|
projectId: 'KEYWEAVE'
|
|
region: 'WEU'
|
|
}
|
|
|
|
/*
|
|
Variables
|
|
*/
|
|
|
|
var tags = {
|
|
project: 'keyweave'
|
|
}
|
|
var nameFormat = '${name.tenantId}-${name.projectId}-${environment}-${name.region}-{0}-{1:N0}'
|
|
|
|
/*
|
|
Resource Group
|
|
*/
|
|
|
|
resource ResourceGroup 'Microsoft.Resources/resourceGroups@2024-03-01' = {
|
|
name: format(nameFormat, 'RG', 1)
|
|
location: location
|
|
tags: tags
|
|
}
|
|
|
|
/*
|
|
Module for Log Analytics Workspace
|
|
*/
|
|
|
|
module LogAnalyticsWorkspace 'modules/law.bicep' = {
|
|
name: 'LogAnalyticsWorkspace'
|
|
scope: ResourceGroup
|
|
params: {
|
|
nameFormat: nameFormat
|
|
location: location
|
|
tags: tags
|
|
}
|
|
}
|
|
|
|
/*
|
|
Module for Managed Identities
|
|
*/
|
|
|
|
module ManagedIdentities 'modules/id.bicep' = {
|
|
name: 'ManagedIdentities'
|
|
scope: ResourceGroup
|
|
params: {
|
|
nameFormat: nameFormat
|
|
location: location
|
|
tags: tags
|
|
}
|
|
}
|
|
|
|
/*
|
|
Module for KeyVault
|
|
*/
|
|
|
|
module KeyVault 'modules/kv.bicep' = {
|
|
name: 'KeyVault'
|
|
scope: ResourceGroup
|
|
dependsOn: [
|
|
LogAnalyticsWorkspace
|
|
]
|
|
params: {
|
|
nameFormat: nameFormat
|
|
location: location
|
|
tags: tags
|
|
|
|
identities: ManagedIdentities.outputs.identities
|
|
}
|
|
}
|