Skip to content

Commit 7d9f912

Browse files
main json file updated
1 parent 671e12d commit 7d9f912

File tree

2 files changed

+121
-14
lines changed

2 files changed

+121
-14
lines changed

infra/deploy_cosmos_db.bicep

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
param solutionLocation string
2+
3+
@description('Name')
4+
param cosmosDBName string
5+
param kvName string
6+
param databaseName string = 'db_conversation_history'
7+
param collectionName string = 'conversations'
8+
9+
param containers array = [
10+
{
11+
name: collectionName
12+
id: collectionName
13+
partitionKey: '/userId'
14+
}
15+
]
16+
17+
@allowed([ 'GlobalDocumentDB', 'MongoDB', 'Parse' ])
18+
param kind string = 'GlobalDocumentDB'
19+
20+
param tags object = {}
21+
22+
resource cosmos 'Microsoft.DocumentDB/databaseAccounts@2022-08-15' = {
23+
name: cosmosDBName
24+
kind: kind
25+
location: solutionLocation
26+
tags: tags
27+
properties: {
28+
consistencyPolicy: { defaultConsistencyLevel: 'Session' }
29+
locations: [
30+
{
31+
locationName: solutionLocation
32+
failoverPriority: 0
33+
isZoneRedundant: false
34+
}
35+
]
36+
databaseAccountOfferType: 'Standard'
37+
enableAutomaticFailover: false
38+
enableMultipleWriteLocations: false
39+
disableLocalAuth: true
40+
apiProperties: (kind == 'MongoDB') ? { serverVersion: '4.0' } : {}
41+
capabilities: [ { name: 'EnableServerless' } ]
42+
}
43+
}
44+
45+
46+
resource database 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2022-05-15' = {
47+
name: '${cosmosDBName}/${databaseName}'
48+
properties: {
49+
resource: { id: databaseName }
50+
}
51+
52+
resource list 'containers' = [for container in containers: {
53+
name: container.name
54+
properties: {
55+
resource: {
56+
id: container.id
57+
partitionKey: { paths: [ container.partitionKey ] }
58+
}
59+
options: {}
60+
}
61+
}]
62+
63+
dependsOn: [
64+
cosmos
65+
]
66+
}
67+
68+
resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' existing = {
69+
name: kvName
70+
}
71+
72+
resource AZURE_COSMOSDB_ACCOUNT 'Microsoft.KeyVault/vaults/secrets@2021-11-01-preview' = {
73+
parent: keyVault
74+
name: 'AZURE-COSMOSDB-ACCOUNT'
75+
properties: {
76+
value: cosmos.name
77+
}
78+
}
79+
80+
resource AZURE_COSMOSDB_ACCOUNT_KEY 'Microsoft.KeyVault/vaults/secrets@2021-11-01-preview' = {
81+
parent: keyVault
82+
name: 'AZURE-COSMOSDB-ACCOUNT-KEY'
83+
properties: {
84+
value: cosmos.listKeys().primaryMasterKey
85+
}
86+
}
87+
88+
resource AZURE_COSMOSDB_DATABASE 'Microsoft.KeyVault/vaults/secrets@2021-11-01-preview' = {
89+
parent: keyVault
90+
name: 'AZURE-COSMOSDB-DATABASE'
91+
properties: {
92+
value: databaseName
93+
}
94+
}
95+
96+
resource AZURE_COSMOSDB_CONVERSATIONS_CONTAINER 'Microsoft.KeyVault/vaults/secrets@2021-11-01-preview' = {
97+
parent: keyVault
98+
name: 'AZURE-COSMOSDB-CONVERSATIONS-CONTAINER'
99+
properties: {
100+
value: collectionName
101+
}
102+
}
103+
104+
resource AZURE_COSMOSDB_ENABLE_FEEDBACK 'Microsoft.KeyVault/vaults/secrets@2021-11-01-preview' = {
105+
parent: keyVault
106+
name: 'AZURE-COSMOSDB-ENABLE-FEEDBACK'
107+
properties: {
108+
value: 'True'
109+
}
110+
}
111+
112+
output cosmosAccountName string = cosmos.name
113+
output cosmosDatabaseName string = databaseName
114+
output cosmosContainerName string = collectionName

infra/main.json

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"_generator": {
66
"name": "bicep",
77
"version": "0.34.44.8038",
8-
"templateHash": "6807899313442022071"
8+
"templateHash": "1797657337218629559"
99
}
1010
},
1111
"parameters": {
@@ -39,8 +39,7 @@
3939
"type": "string",
4040
"defaultValue": "gpt-4o-mini",
4141
"allowedValues": [
42-
"gpt-4o-mini",
43-
"gpt-4o"
42+
"gpt-4o-mini"
4443
],
4544
"minLength": 1,
4645
"metadata": {
@@ -91,8 +90,6 @@
9190
"eastus2",
9291
"francecentral",
9392
"japaneast",
94-
"norwayeast",
95-
"southindia",
9693
"swedencentral",
9794
"uksouth",
9895
"westus",
@@ -1933,7 +1930,7 @@
19331930
"_generator": {
19341931
"name": "bicep",
19351932
"version": "0.34.44.8038",
1936-
"templateHash": "1848692139029312246"
1933+
"templateHash": "4179944107717925300"
19371934
}
19381935
},
19391936
"parameters": {
@@ -2086,15 +2083,11 @@
20862083
"outputs": {
20872084
"sqlServerName": {
20882085
"type": "string",
2089-
"value": "[format('{0}.database.windows.net', parameters('serverName'))]"
2086+
"value": "[parameters('serverName')]"
20902087
},
20912088
"sqlDbName": {
20922089
"type": "string",
20932090
"value": "[parameters('sqlDBName')]"
2094-
},
2095-
"sqlDbUser": {
2096-
"type": "string",
2097-
"value": "[parameters('administratorLogin')]"
20982091
}
20992092
}
21002093
}
@@ -2233,13 +2226,13 @@
22332226
"value": "True"
22342227
},
22352228
"SQLDB_SERVER": {
2236-
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, resourceGroup().name), 'Microsoft.Resources/deployments', 'deploy_sql_db'), '2022-09-01').outputs.sqlServerName.value]"
2229+
"value": "[format('{0}.database.windows.net', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, resourceGroup().name), 'Microsoft.Resources/deployments', 'deploy_sql_db'), '2022-09-01').outputs.sqlServerName.value)]"
22372230
},
22382231
"SQLDB_DATABASE": {
22392232
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, resourceGroup().name), 'Microsoft.Resources/deployments', 'deploy_sql_db'), '2022-09-01').outputs.sqlDbName.value]"
22402233
},
22412234
"SQLDB_USERNAME": {
2242-
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, resourceGroup().name), 'Microsoft.Resources/deployments', 'deploy_sql_db'), '2022-09-01').outputs.sqlDbUser.value]"
2235+
"value": "sqladmin"
22432236
},
22442237
"SQLDB_PASSWORD": {
22452238
"reference": {
@@ -3085,7 +3078,7 @@
30853078
},
30863079
"SQLDB_SERVER": {
30873080
"type": "string",
3088-
"value": "[replace(reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, resourceGroup().name), 'Microsoft.Resources/deployments', 'deploy_sql_db'), '2022-09-01').outputs.sqlServerName.value, '.database.windows.net', '')]"
3081+
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, resourceGroup().name), 'Microsoft.Resources/deployments', 'deploy_sql_db'), '2022-09-01').outputs.sqlServerName.value]"
30893082
},
30903083
"SQLDB_DATABASE": {
30913084
"type": "string",

0 commit comments

Comments
 (0)