param accountName string param databaseName string param location string = resourceGroup().location param tags object = {} param collections array = [] param connectionStringKey string = 'AZURE-COSMOS-CONNECTION-STRING' param keyVaultName string module cosmos 'cosmos-mongo-account.bicep' = { name: 'cosmos-mongo-account' params: { name: accountName location: location keyVaultName: keyVaultName tags: tags connectionStringKey: connectionStringKey } } resource database 'Microsoft.DocumentDB/databaseAccounts/mongodbDatabases@2022-08-15' = { name: '${accountName}/${databaseName}' tags: tags properties: { resource: { id: databaseName } } resource list 'collections' = [for collection in collections: { name: collection.name properties: { resource: { id: collection.id shardKey: { _id: collection.shardKey } indexes: [ { key: { keys: [ collection.indexKey ] } } ] } } }] dependsOn: [ cosmos ] } output connectionStringKey string = connectionStringKey output databaseName string = databaseName output endpoint string = cosmos.outputs.endpoint