-
Notifications
You must be signed in to change notification settings - Fork 83
Expand file tree
/
Copy pathkeyvault.bicep
More file actions
51 lines (44 loc) · 1.54 KB
/
keyvault.bicep
File metadata and controls
51 lines (44 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
param location string
param keyVaultName string
param tags object
@secure()
param acsConnectionString string
@secure()
param twilioAuthToken string = ''
var sanitizedKeyVaultName = take(toLower(replace(replace(replace(replace(keyVaultName, '--', '-'), '_', '-'), '[^a-zA-Z0-9-]', ''), '-$', '')), 24)
resource keyVault 'Microsoft.KeyVault/vaults@2023-02-01' = {
name: sanitizedKeyVaultName
location: location
tags: tags
properties: {
sku: {
family: 'A'
name: 'standard'
}
tenantId: subscription().tenantId
accessPolicies: []
enableRbacAuthorization: true
enableSoftDelete: true
enablePurgeProtection: true
publicNetworkAccess: 'Enabled'
}
}
resource acsConnectionStringSecret 'Microsoft.KeyVault/vaults/secrets@2023-07-01' = if (!empty(acsConnectionString)) {
parent: keyVault
name: 'ACS-CONNECTION-STRING'
properties: {
value: acsConnectionString
}
}
var keyVaultDnsSuffix = environment().suffixes.keyvaultDns
resource twilioAuthTokenSecret 'Microsoft.KeyVault/vaults/secrets@2023-07-01' = if (!empty(twilioAuthToken)) {
parent: keyVault
name: 'TWILIO-AUTH-TOKEN'
properties: {
value: twilioAuthToken
}
}
output acsConnectionStringUri string = !empty(acsConnectionString) ? 'https://${keyVault.name}${keyVaultDnsSuffix}/secrets/${acsConnectionStringSecret.name}' : ''
output twilioAuthTokenUri string = !empty(twilioAuthToken) ? 'https://${keyVault.name}${keyVaultDnsSuffix}/secrets/TWILIO-AUTH-TOKEN' : ''
output keyVaultId string = keyVault.id
output keyVaultName string = keyVault.name