Bicep resource definition
The databaseAccounts/sqlDatabases resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2023-11-15' = {
parent: resourceSymbolicName
location: 'string'
name: 'string'
properties: {
options: {
autoscaleSettings: {
maxThroughput: int
}
throughput: int
}
resource: {
createMode: 'string'
id: 'string'
restoreParameters: {
restoreSource: 'string'
restoreTimestampInUtc: 'string'
}
}
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/sqlDatabases
| Name |
Description |
Value |
| location |
The location of the resource group to which the resource belongs. |
string |
| name |
The resource name |
string (required) |
| parent |
In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.
For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: databaseAccounts |
| properties |
Properties to create and update Azure Cosmos DB SQL database. |
SqlDatabaseCreateUpdatePropertiesOrSqlDatabaseGetProperties (required) |
| tags |
Resource tags |
Dictionary of tag names and values. See Tags in templates |
AutoscaleSettings
| Name |
Description |
Value |
| maxThroughput |
Represents maximum throughput, the resource can scale up to. |
int |
CreateUpdateOptionsOrSqlDatabaseGetPropertiesOptions
| Name |
Description |
Value |
| autoscaleSettings |
Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not both. |
AutoscaleSettings |
| throughput |
Request Units per second. For example, "throughput": 10000. |
int |
ResourceRestoreParameters
| Name |
Description |
Value |
| restoreSource |
The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} |
string |
| restoreTimestampInUtc |
Time to which the account has to be restored (ISO-8601 format). |
string |
SqlDatabaseCreateUpdatePropertiesOrSqlDatabaseGetProperties
SqlDatabaseResourceOrSqlDatabaseGetPropertiesResource
| Name |
Description |
Value |
| createMode |
Enum to indicate the mode of resource creation. |
'Default' 'Restore' |
| id |
Name of the Cosmos DB SQL database |
string (required) |
| restoreParameters |
Parameters to indicate the information about the restore |
ResourceRestoreParameters |
Usage Examples
Azure Quickstart Samples
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
ARM template resource definition
The databaseAccounts/sqlDatabases resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases resource, add the following JSON to your template.
{
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
"apiVersion": "2023-11-15",
"name": "string",
"location": "string",
"properties": {
"options": {
"autoscaleSettings": {
"maxThroughput": "int"
},
"throughput": "int"
},
"resource": {
"createMode": "string",
"id": "string",
"restoreParameters": {
"restoreSource": "string",
"restoreTimestampInUtc": "string"
}
}
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/sqlDatabases
| Name |
Description |
Value |
| apiVersion |
The api version |
'2023-11-15' |
| location |
The location of the resource group to which the resource belongs. |
string |
| name |
The resource name |
string (required) |
| properties |
Properties to create and update Azure Cosmos DB SQL database. |
SqlDatabaseCreateUpdatePropertiesOrSqlDatabaseGetProperties (required) |
| tags |
Resource tags |
Dictionary of tag names and values. See Tags in templates |
| type |
The resource type |
'Microsoft.DocumentDB/databaseAccounts/sqlDatabases' |
AutoscaleSettings
| Name |
Description |
Value |
| maxThroughput |
Represents maximum throughput, the resource can scale up to. |
int |
CreateUpdateOptionsOrSqlDatabaseGetPropertiesOptions
| Name |
Description |
Value |
| autoscaleSettings |
Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not both. |
AutoscaleSettings |
| throughput |
Request Units per second. For example, "throughput": 10000. |
int |
ResourceRestoreParameters
| Name |
Description |
Value |
| restoreSource |
The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} |
string |
| restoreTimestampInUtc |
Time to which the account has to be restored (ISO-8601 format). |
string |
SqlDatabaseCreateUpdatePropertiesOrSqlDatabaseGetProperties
SqlDatabaseResourceOrSqlDatabaseGetPropertiesResource
| Name |
Description |
Value |
| createMode |
Enum to indicate the mode of resource creation. |
'Default' 'Restore' |
| id |
Name of the Cosmos DB SQL database |
string (required) |
| restoreParameters |
Parameters to indicate the information about the restore |
ResourceRestoreParameters |
Usage Examples
Azure Quickstart Templates
The following Azure Quickstart templates deploy this resource type.
The databaseAccounts/sqlDatabases resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2023-11-15"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
options = {
autoscaleSettings = {
maxThroughput = int
}
throughput = int
}
resource = {
createMode = "string"
id = "string"
restoreParameters = {
restoreSource = "string"
restoreTimestampInUtc = "string"
}
}
}
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/sqlDatabases
| Name |
Description |
Value |
| location |
The location of the resource group to which the resource belongs. |
string |
| name |
The resource name |
string (required) |
| parent_id |
The ID of the resource that is the parent for this resource. |
ID for resource of type: databaseAccounts |
| properties |
Properties to create and update Azure Cosmos DB SQL database. |
SqlDatabaseCreateUpdatePropertiesOrSqlDatabaseGetProperties (required) |
| tags |
Resource tags |
Dictionary of tag names and values. |
| type |
The resource type |
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2023-11-15" |
AutoscaleSettings
| Name |
Description |
Value |
| maxThroughput |
Represents maximum throughput, the resource can scale up to. |
int |
CreateUpdateOptionsOrSqlDatabaseGetPropertiesOptions
| Name |
Description |
Value |
| autoscaleSettings |
Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not both. |
AutoscaleSettings |
| throughput |
Request Units per second. For example, "throughput": 10000. |
int |
ResourceRestoreParameters
| Name |
Description |
Value |
| restoreSource |
The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} |
string |
| restoreTimestampInUtc |
Time to which the account has to be restored (ISO-8601 format). |
string |
SqlDatabaseCreateUpdatePropertiesOrSqlDatabaseGetProperties
SqlDatabaseResourceOrSqlDatabaseGetPropertiesResource
| Name |
Description |
Value |
| createMode |
Enum to indicate the mode of resource creation. |
'Default' 'Restore' |
| id |
Name of the Cosmos DB SQL database |
string (required) |
| restoreParameters |
Parameters to indicate the information about the restore |
ResourceRestoreParameters |
Usage Examples
A basic example of deploying SQL Database within a Cosmos DB Account.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "databaseAccount" {
type = "Microsoft.DocumentDB/databaseAccounts@2021-10-15"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
kind = "GlobalDocumentDB"
properties = {
capabilities = [
]
consistencyPolicy = {
defaultConsistencyLevel = "BoundedStaleness"
maxIntervalInSeconds = 10
maxStalenessPrefix = 200
}
databaseAccountOfferType = "Standard"
defaultIdentity = "FirstPartyIdentity"
disableKeyBasedMetadataWriteAccess = false
disableLocalAuth = false
enableAnalyticalStorage = false
enableAutomaticFailover = false
enableFreeTier = false
enableMultipleWriteLocations = false
ipRules = [
]
isVirtualNetworkFilterEnabled = false
locations = [
{
failoverPriority = 0
isZoneRedundant = false
locationName = "West Europe"
},
]
networkAclBypass = "None"
networkAclBypassResourceIds = [
]
publicNetworkAccess = "Enabled"
virtualNetworkRules = [
]
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "sqlDatabase" {
type = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2021-10-15"
parent_id = azapi_resource.databaseAccount.id
name = var.resource_name
body = {
properties = {
options = {
throughput = 400
}
resource = {
id = var.resource_name
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}