Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The databaseAccounts/gremlinDatabases resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Usage Examples
Bicep Samples
A basic example of deploying Gremlin Database within a Cosmos DB Account.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
resource databaseAccount 'Microsoft.DocumentDB/databaseAccounts@2021-10-15' = {
name: resourceName
location: location
kind: 'GlobalDocumentDB'
properties: {
capabilities: [
{
name: 'EnableGremlin'
}
]
consistencyPolicy: {
defaultConsistencyLevel: 'Strong'
maxIntervalInSeconds: 5
maxStalenessPrefix: 100
}
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: []
}
}
resource gremlinDatabase 'Microsoft.DocumentDB/databaseAccounts/gremlinDatabases@2023-04-15' = {
name: resourceName
parent: databaseAccount
properties: {
options: {}
resource: {
id: resourceName
}
}
}
Azure Verified Modules
The following Azure Verified Modules can be used to deploy this resource type.
| Module | Description |
|---|---|
| Cosmos DB Database Account - Gremlin Database | AVM Child Module for Cosmos DB Database Account - Gremlin Database |
Azure Quickstart Samples
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
| Bicep File | Description |
|---|---|
| Create an Azure Cosmos DB account for Gremlin API | This template creates an Azure Cosmos DB account for Gremlin API in two regions with one database and one graph using dedicated throughput. |
| Create an Azure Cosmos DB account for Gremlin API autoscale | This template creates an Azure Cosmos DB account for Gremlin API in two regions with one database and one graph using autoscale throughput. |
Resource format
To create a Microsoft.DocumentDB/databaseAccounts/gremlinDatabases resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DocumentDB/databaseAccounts/gremlinDatabases@2026-04-01-preview' = {
parent: resourceSymbolicName
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: 'string'
}
}
location: 'string'
name: 'string'
properties: {
options: {
autoscaleSettings: {
maxThroughput: int
}
throughput: int
}
resource: {
createMode: 'string'
id: 'string'
restoreParameters: {
restoreSource: 'string'
restoreTimestampInUtc: 'string'
restoreWithTtlDisabled: bool
}
}
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/gremlinDatabases
| Name | Description | Value |
|---|---|---|
| identity | Identity for the resource. | ManagedServiceIdentity |
| 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 | The properties of an Azure Cosmos DB SQL database | GremlinDatabaseGetProperties |
| 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 |
GremlinDatabaseGetProperties
| Name | Description | Value |
|---|---|---|
| options | GremlinDatabaseGetPropertiesOptions | |
| resource | GremlinDatabaseGetPropertiesResource |
GremlinDatabaseGetPropertiesOptions
| Name | Description | Value |
|---|---|---|
| autoscaleSettings | Specifies the Autoscale settings. | AutoscaleSettings |
| throughput | Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. | int |
GremlinDatabaseGetPropertiesResource
| Name | Description | Value |
|---|---|---|
| createMode | Enum to indicate the mode of resource creation. | 'Default' 'Restore' |
| id | Name of the Cosmos DB Gremlin database | string (required) |
| restoreParameters | Parameters to indicate the information about the restore | ResourceRestoreParameters |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' |
| userAssignedIdentities | The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | Record |
Record
| Name | Description | Value |
|---|
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 |
| restoreWithTtlDisabled | Specifies whether the restored account will have Time-To-Live disabled upon the successful restore. | bool |
ARM template resource definition
The databaseAccounts/gremlinDatabases resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands For a list of changed properties in each API version, see change log.
Usage Examples
Azure Quickstart Templates
The following Azure Quickstart templates deploy this resource type.
| Template | Description |
|---|---|
| Create an Azure Cosmos DB account for Gremlin API |
This template creates an Azure Cosmos DB account for Gremlin API in two regions with one database and one graph using dedicated throughput. |
| Create an Azure Cosmos DB account for Gremlin API autoscale |
This template creates an Azure Cosmos DB account for Gremlin API in two regions with one database and one graph using autoscale throughput. |
Resource format
To create a Microsoft.DocumentDB/databaseAccounts/gremlinDatabases resource, add the following JSON to your template.
{
"type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
"apiVersion": "2026-04-01-preview",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": "string"
}
},
"location": "string",
"properties": {
"options": {
"autoscaleSettings": {
"maxThroughput": "int"
},
"throughput": "int"
},
"resource": {
"createMode": "string",
"id": "string",
"restoreParameters": {
"restoreSource": "string",
"restoreTimestampInUtc": "string",
"restoreWithTtlDisabled": "bool"
}
}
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/gremlinDatabases
| Name | Description | Value |
|---|---|---|
| apiVersion | The api version | '2026-04-01-preview' |
| identity | Identity for the resource. | ManagedServiceIdentity |
| location | The location of the resource group to which the resource belongs. | string |
| name | The resource name | string (required) |
| properties | The properties of an Azure Cosmos DB SQL database | GremlinDatabaseGetProperties |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
| type | The resource type | 'Microsoft.DocumentDB/databaseAccounts/gremlinDatabases' |
AutoscaleSettings
| Name | Description | Value |
|---|---|---|
| maxThroughput | Represents maximum throughput, the resource can scale up to. | int |
GremlinDatabaseGetProperties
| Name | Description | Value |
|---|---|---|
| options | GremlinDatabaseGetPropertiesOptions | |
| resource | GremlinDatabaseGetPropertiesResource |
GremlinDatabaseGetPropertiesOptions
| Name | Description | Value |
|---|---|---|
| autoscaleSettings | Specifies the Autoscale settings. | AutoscaleSettings |
| throughput | Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. | int |
GremlinDatabaseGetPropertiesResource
| Name | Description | Value |
|---|---|---|
| createMode | Enum to indicate the mode of resource creation. | 'Default' 'Restore' |
| id | Name of the Cosmos DB Gremlin database | string (required) |
| restoreParameters | Parameters to indicate the information about the restore | ResourceRestoreParameters |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' |
| userAssignedIdentities | The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | Record |
Record
| Name | Description | Value |
|---|
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 |
| restoreWithTtlDisabled | Specifies whether the restored account will have Time-To-Live disabled upon the successful restore. | bool |
Terraform (AzAPI provider) resource definition
The databaseAccounts/gremlinDatabases resource type can be deployed with operations that target:
- Resource groups For a list of changed properties in each API version, see change log.
Usage Examples
Terraform Samples
A basic example of deploying Gremlin 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 = [
{
name = "EnableGremlin"
},
]
consistencyPolicy = {
defaultConsistencyLevel = "Strong"
maxIntervalInSeconds = 5
maxStalenessPrefix = 100
}
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" "gremlinDatabase" {
type = "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases@2023-04-15"
parent_id = azapi_resource.databaseAccount.id
name = var.resource_name
body = {
properties = {
options = {
}
resource = {
id = var.resource_name
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Resource format
To create a Microsoft.DocumentDB/databaseAccounts/gremlinDatabases resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases@2026-04-01-preview"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"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"
restoreWithTtlDisabled = bool
}
}
}
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/gremlinDatabases
| Name | Description | Value |
|---|---|---|
| identity | Identity for the resource. | ManagedServiceIdentity |
| 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 | The properties of an Azure Cosmos DB SQL database | GremlinDatabaseGetProperties |
| tags | Resource tags | Dictionary of tag names and values. |
| type | The resource type | "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases@2026-04-01-preview" |
AutoscaleSettings
| Name | Description | Value |
|---|---|---|
| maxThroughput | Represents maximum throughput, the resource can scale up to. | int |
GremlinDatabaseGetProperties
| Name | Description | Value |
|---|---|---|
| options | GremlinDatabaseGetPropertiesOptions | |
| resource | GremlinDatabaseGetPropertiesResource |
GremlinDatabaseGetPropertiesOptions
| Name | Description | Value |
|---|---|---|
| autoscaleSettings | Specifies the Autoscale settings. | AutoscaleSettings |
| throughput | Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. | int |
GremlinDatabaseGetPropertiesResource
| Name | Description | Value |
|---|---|---|
| createMode | Enum to indicate the mode of resource creation. | 'Default' 'Restore' |
| id | Name of the Cosmos DB Gremlin database | string (required) |
| restoreParameters | Parameters to indicate the information about the restore | ResourceRestoreParameters |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' |
| userAssignedIdentities | The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | Record |
Record
| Name | Description | Value |
|---|
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 |
| restoreWithTtlDisabled | Specifies whether the restored account will have Time-To-Live disabled upon the successful restore. | bool |