Microsoft.DocumentDB cassandraClusters
- Latest
- 2024-12-01-preview
- 2024-11-15
- 2024-09-01-preview
- 2024-08-15
- 2024-05-15
- 2024-05-15-preview
- 2024-02-15-preview
- 2023-11-15
- 2023-11-15-preview
- 2023-09-15
- 2023-09-15-preview
- 2023-04-15
- 2023-03-15
- 2023-03-15-preview
- 2023-03-01-preview
- 2022-11-15
- 2022-11-15-preview
- 2022-08-15
- 2022-08-15-preview
- 2022-05-15
- 2022-05-15-preview
- 2022-02-15-preview
- 2021-11-15-preview
- 2021-10-15
- 2021-10-15-preview
- 2021-07-01-preview
- 2021-04-01-preview
- 2021-03-01-preview
Bicep resource definition
The cassandraClusters 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.
Resource format
To create a Microsoft.DocumentDB/cassandraClusters resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DocumentDB/cassandraClusters@2024-12-01-preview' = {
identity: {
type: 'string'
}
location: 'string'
name: 'string'
properties: {
authenticationMethod: 'string'
autoReplicate: 'string'
azureConnectionMethod: 'string'
backupSchedules: [
{
cronExpression: 'string'
retentionInHours: int
scheduleName: 'string'
}
]
cassandraAuditLoggingEnabled: bool
cassandraVersion: 'string'
clientCertificates: [
{
pem: 'string'
}
]
clusterNameOverride: 'string'
clusterType: 'string'
deallocated: bool
delegatedManagementSubnetId: 'string'
extensions: [
'string'
]
externalDataCenters: [
'string'
]
externalGossipCertificates: [
{
pem: 'string'
}
]
externalSeedNodes: [
{
ipAddress: 'string'
}
]
hoursBetweenBackups: int
initialCassandraAdminPassword: 'string'
prometheusEndpoint: {
ipAddress: 'string'
}
provisionError: {
additionalErrorInfo: 'string'
code: 'string'
message: 'string'
target: 'string'
}
provisioningState: 'string'
repairEnabled: bool
restoreFromBackupId: 'string'
scheduledEventStrategy: 'string'
}
tags: {
{customized property}: 'string'
}
}
Property values
BackupSchedule
Name | Description | Value |
---|---|---|
cronExpression | The cron expression that defines when you want to back up your data. | string |
retentionInHours | The retention period (hours) of the backups. If you want to retain data forever, set retention to 0. | int |
scheduleName | The unique identifier of backup schedule. | string |
CassandraError
Name | Description | Value |
---|---|---|
additionalErrorInfo | Additional information about the error. | string |
code | The code of error that occurred. | string |
message | The message of the error. | string |
target | The target resource of the error. | string |
Certificate
Name | Description | Value |
---|---|---|
pem | PEM formatted public key. | string |
ClusterResourceProperties
Name | Description | Value |
---|---|---|
authenticationMethod | Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'. | 'Cassandra' 'Ldap' 'None' |
autoReplicate | The form of AutoReplicate that is being used by this cluster. | 'AllKeyspaces' 'None' 'SystemKeyspaces' |
azureConnectionMethod | How to connect to the azure services needed for running the cluster | 'None' 'VPN' |
backupSchedules | List of backup schedules that define when you want to back up your data. | BackupSchedule[] |
cassandraAuditLoggingEnabled | Whether Cassandra audit logging is enabled | bool |
cassandraVersion | Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version. | string |
clientCertificates | List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property. | Certificate[] |
clusterNameOverride | If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property. | string |
clusterType | Type of the cluster. If set to Production, some operations might not be permitted on cluster. | 'NonProduction' 'Production' |
deallocated | Whether the cluster and associated data centers has been deallocated. | bool |
delegatedManagementSubnetId | Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<virtual network>/subnets/<subnet>' | string |
extensions | Extensions to be added or updated on cluster. | string[] |
externalDataCenters | List of the data center names for unmanaged data centers in this cluster to be included in auto-replication. | string[] |
externalGossipCertificates | List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property. | Certificate[] |
externalSeedNodes | List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes. | SeedNode[] |
hoursBetweenBackups | (Deprecated) Number of hours to wait between taking a backup of the cluster. | int |
initialCassandraAdminPassword | Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'. | string Constraints: Sensitive value. Pass in as a secure parameter. |
prometheusEndpoint | Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached. | SeedNode |
provisionError | Error related to resource provisioning. | CassandraError |
provisioningState | The status of the resource at the time the operation was called. | 'Canceled' 'Creating' 'Deleting' 'Failed' 'Succeeded' 'Updating' |
repairEnabled | Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs. | bool |
restoreFromBackupId | To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup. | string |
scheduledEventStrategy | How the nodes in the cluster react to scheduled events | 'Ignore' 'StopAny' 'StopByRack' |
ManagedCassandraManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | The type of the resource. | 'None' 'SystemAssigned' |
Microsoft.DocumentDB/cassandraClusters
Name | Description | Value |
---|---|---|
identity | Identity for the resource. | ManagedCassandraManagedServiceIdentity |
location | The location of the resource group to which the resource belongs. | string |
name | The resource name | string Constraints: Min length = 1 Max length = 1 Pattern = ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$ (required) |
properties | Properties of a managed Cassandra cluster. | ClusterResourceProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
SeedNode
Name | Description | Value |
---|---|---|
ipAddress | IP address of this seed node. | string |
Tags
Name | Description | Value |
---|
ARM template resource definition
The cassandraClusters 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.
Resource format
To create a Microsoft.DocumentDB/cassandraClusters resource, add the following JSON to your template.
{
"type": "Microsoft.DocumentDB/cassandraClusters",
"apiVersion": "2024-12-01-preview",
"name": "string",
"identity": {
"type": "string"
},
"location": "string",
"properties": {
"authenticationMethod": "string",
"autoReplicate": "string",
"azureConnectionMethod": "string",
"backupSchedules": [
{
"cronExpression": "string",
"retentionInHours": "int",
"scheduleName": "string"
}
],
"cassandraAuditLoggingEnabled": "bool",
"cassandraVersion": "string",
"clientCertificates": [
{
"pem": "string"
}
],
"clusterNameOverride": "string",
"clusterType": "string",
"deallocated": "bool",
"delegatedManagementSubnetId": "string",
"extensions": [ "string" ],
"externalDataCenters": [ "string" ],
"externalGossipCertificates": [
{
"pem": "string"
}
],
"externalSeedNodes": [
{
"ipAddress": "string"
}
],
"hoursBetweenBackups": "int",
"initialCassandraAdminPassword": "string",
"prometheusEndpoint": {
"ipAddress": "string"
},
"provisionError": {
"additionalErrorInfo": "string",
"code": "string",
"message": "string",
"target": "string"
},
"provisioningState": "string",
"repairEnabled": "bool",
"restoreFromBackupId": "string",
"scheduledEventStrategy": "string"
},
"tags": {
"{customized property}": "string"
}
}
Property values
BackupSchedule
Name | Description | Value |
---|---|---|
cronExpression | The cron expression that defines when you want to back up your data. | string |
retentionInHours | The retention period (hours) of the backups. If you want to retain data forever, set retention to 0. | int |
scheduleName | The unique identifier of backup schedule. | string |
CassandraError
Name | Description | Value |
---|---|---|
additionalErrorInfo | Additional information about the error. | string |
code | The code of error that occurred. | string |
message | The message of the error. | string |
target | The target resource of the error. | string |
Certificate
Name | Description | Value |
---|---|---|
pem | PEM formatted public key. | string |
ClusterResourceProperties
Name | Description | Value |
---|---|---|
authenticationMethod | Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'. | 'Cassandra' 'Ldap' 'None' |
autoReplicate | The form of AutoReplicate that is being used by this cluster. | 'AllKeyspaces' 'None' 'SystemKeyspaces' |
azureConnectionMethod | How to connect to the azure services needed for running the cluster | 'None' 'VPN' |
backupSchedules | List of backup schedules that define when you want to back up your data. | BackupSchedule[] |
cassandraAuditLoggingEnabled | Whether Cassandra audit logging is enabled | bool |
cassandraVersion | Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version. | string |
clientCertificates | List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property. | Certificate[] |
clusterNameOverride | If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property. | string |
clusterType | Type of the cluster. If set to Production, some operations might not be permitted on cluster. | 'NonProduction' 'Production' |
deallocated | Whether the cluster and associated data centers has been deallocated. | bool |
delegatedManagementSubnetId | Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<virtual network>/subnets/<subnet>' | string |
extensions | Extensions to be added or updated on cluster. | string[] |
externalDataCenters | List of the data center names for unmanaged data centers in this cluster to be included in auto-replication. | string[] |
externalGossipCertificates | List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property. | Certificate[] |
externalSeedNodes | List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes. | SeedNode[] |
hoursBetweenBackups | (Deprecated) Number of hours to wait between taking a backup of the cluster. | int |
initialCassandraAdminPassword | Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'. | string Constraints: Sensitive value. Pass in as a secure parameter. |
prometheusEndpoint | Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached. | SeedNode |
provisionError | Error related to resource provisioning. | CassandraError |
provisioningState | The status of the resource at the time the operation was called. | 'Canceled' 'Creating' 'Deleting' 'Failed' 'Succeeded' 'Updating' |
repairEnabled | Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs. | bool |
restoreFromBackupId | To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup. | string |
scheduledEventStrategy | How the nodes in the cluster react to scheduled events | 'Ignore' 'StopAny' 'StopByRack' |
ManagedCassandraManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | The type of the resource. | 'None' 'SystemAssigned' |
Microsoft.DocumentDB/cassandraClusters
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2024-12-01-preview' |
identity | Identity for the resource. | ManagedCassandraManagedServiceIdentity |
location | The location of the resource group to which the resource belongs. | string |
name | The resource name | string Constraints: Min length = 1 Max length = 1 Pattern = ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$ (required) |
properties | Properties of a managed Cassandra cluster. | ClusterResourceProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
type | The resource type | 'Microsoft.DocumentDB/cassandraClusters' |
SeedNode
Name | Description | Value |
---|---|---|
ipAddress | IP address of this seed node. | string |
Tags
Name | Description | Value |
---|
Terraform (AzAPI provider) resource definition
The cassandraClusters resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DocumentDB/cassandraClusters resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DocumentDB/cassandraClusters@2024-12-01-preview"
name = "string"
identity = {
type = "string"
}
location = "string"
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
authenticationMethod = "string"
autoReplicate = "string"
azureConnectionMethod = "string"
backupSchedules = [
{
cronExpression = "string"
retentionInHours = int
scheduleName = "string"
}
]
cassandraAuditLoggingEnabled = bool
cassandraVersion = "string"
clientCertificates = [
{
pem = "string"
}
]
clusterNameOverride = "string"
clusterType = "string"
deallocated = bool
delegatedManagementSubnetId = "string"
extensions = [
"string"
]
externalDataCenters = [
"string"
]
externalGossipCertificates = [
{
pem = "string"
}
]
externalSeedNodes = [
{
ipAddress = "string"
}
]
hoursBetweenBackups = int
initialCassandraAdminPassword = "string"
prometheusEndpoint = {
ipAddress = "string"
}
provisionError = {
additionalErrorInfo = "string"
code = "string"
message = "string"
target = "string"
}
provisioningState = "string"
repairEnabled = bool
restoreFromBackupId = "string"
scheduledEventStrategy = "string"
}
})
}
Property values
BackupSchedule
Name | Description | Value |
---|---|---|
cronExpression | The cron expression that defines when you want to back up your data. | string |
retentionInHours | The retention period (hours) of the backups. If you want to retain data forever, set retention to 0. | int |
scheduleName | The unique identifier of backup schedule. | string |
CassandraError
Name | Description | Value |
---|---|---|
additionalErrorInfo | Additional information about the error. | string |
code | The code of error that occurred. | string |
message | The message of the error. | string |
target | The target resource of the error. | string |
Certificate
Name | Description | Value |
---|---|---|
pem | PEM formatted public key. | string |
ClusterResourceProperties
Name | Description | Value |
---|---|---|
authenticationMethod | Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'. | 'Cassandra' 'Ldap' 'None' |
autoReplicate | The form of AutoReplicate that is being used by this cluster. | 'AllKeyspaces' 'None' 'SystemKeyspaces' |
azureConnectionMethod | How to connect to the azure services needed for running the cluster | 'None' 'VPN' |
backupSchedules | List of backup schedules that define when you want to back up your data. | BackupSchedule[] |
cassandraAuditLoggingEnabled | Whether Cassandra audit logging is enabled | bool |
cassandraVersion | Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version. | string |
clientCertificates | List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property. | Certificate[] |
clusterNameOverride | If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property. | string |
clusterType | Type of the cluster. If set to Production, some operations might not be permitted on cluster. | 'NonProduction' 'Production' |
deallocated | Whether the cluster and associated data centers has been deallocated. | bool |
delegatedManagementSubnetId | Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<virtual network>/subnets/<subnet>' | string |
extensions | Extensions to be added or updated on cluster. | string[] |
externalDataCenters | List of the data center names for unmanaged data centers in this cluster to be included in auto-replication. | string[] |
externalGossipCertificates | List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property. | Certificate[] |
externalSeedNodes | List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes. | SeedNode[] |
hoursBetweenBackups | (Deprecated) Number of hours to wait between taking a backup of the cluster. | int |
initialCassandraAdminPassword | Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'. | string Constraints: Sensitive value. Pass in as a secure parameter. |
prometheusEndpoint | Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached. | SeedNode |
provisionError | Error related to resource provisioning. | CassandraError |
provisioningState | The status of the resource at the time the operation was called. | 'Canceled' 'Creating' 'Deleting' 'Failed' 'Succeeded' 'Updating' |
repairEnabled | Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs. | bool |
restoreFromBackupId | To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup. | string |
scheduledEventStrategy | How the nodes in the cluster react to scheduled events | 'Ignore' 'StopAny' 'StopByRack' |
ManagedCassandraManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | The type of the resource. | 'None' 'SystemAssigned' |
Microsoft.DocumentDB/cassandraClusters
Name | Description | Value |
---|---|---|
identity | Identity for the resource. | ManagedCassandraManagedServiceIdentity |
location | The location of the resource group to which the resource belongs. | string |
name | The resource name | string Constraints: Min length = 1 Max length = 1 Pattern = ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$ (required) |
properties | Properties of a managed Cassandra cluster. | ClusterResourceProperties |
tags | Resource tags | Dictionary of tag names and values. |
type | The resource type | "Microsoft.DocumentDB/cassandraClusters@2024-12-01-preview" |
SeedNode
Name | Description | Value |
---|---|---|
ipAddress | IP address of this seed node. | string |
Tags
Name | Description | Value |
---|