-
Notifications
You must be signed in to change notification settings - Fork 241
Expand file tree
/
Copy pathdb.bicep
More file actions
55 lines (51 loc) · 1.36 KB
/
db.bicep
File metadata and controls
55 lines (51 loc) · 1.36 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
52
53
54
55
@allowed([
'MongoDB'
'GlobalDocumentDB'
])
param kind string
param resourceToken string
param location string
param keyVaultName string
param tags object = {}
param cosmosDatabaseName string = 'orderdb'
@description('The collections to create in the database')
param collections array = [
{
id: 'orders'
name: 'orders'
shardKey: 'Hash'
indexKey: '_id'
throughput: 400
}
]
// the application database
module cosmosMongo '../core/database/cosmos/mongo/cosmos-mongo-db.bicep' = if(kind == 'MongoDB') {
name: 'cosmos-mongo'
params: {
accountName: 'cosmos-${resourceToken}'
databaseName: cosmosDatabaseName
location: location
collections: collections
tags: tags
keyVaultName: keyVaultName
}
}
module cosmosSql '../core/database/cosmos/sql/cosmos-sql-db.bicep' = if(kind == 'GlobalDocumentDB') {
name: 'cosmos-sql'
params: {
accountName: 'cosmos-${resourceToken}'
databaseName: cosmosDatabaseName
location: location
containers: [
{
name: 'orders'
id: 'orders'
partitionKey: '/storeId'
}
]
tags: tags
keyVaultName: keyVaultName
}
}
output name string = 'cosmos-${resourceToken}'
output endpoint string = kind == 'MongoDB' ? 'mongodb://cosmos-${resourceToken}.mongo.cosmos.azure.com:10255/?retryWrites=false' : 'https://cosmos-${resourceToken}.documents.azure.com:443/'