# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import datetime
from typing import Any, Dict, List, Optional, Union
from azure.core.exceptions import HttpResponseError
import msrest.serialization
from ._cosmos_db_management_client_enums import *
[docs]class AnalyticalStorageConfiguration(msrest.serialization.Model):
"""Analytical storage specific properties.
:param schema_type: Describes the types of schema for analytical storage. Possible values
include: "WellDefined", "FullFidelity".
:type schema_type: str or ~azure.mgmt.cosmosdb.models.AnalyticalStorageSchemaType
"""
_attribute_map = {
'schema_type': {'key': 'schemaType', 'type': 'str'},
}
def __init__(
self,
*,
schema_type: Optional[Union[str, "AnalyticalStorageSchemaType"]] = None,
**kwargs
):
super(AnalyticalStorageConfiguration, self).__init__(**kwargs)
self.schema_type = schema_type
[docs]class ApiProperties(msrest.serialization.Model):
"""ApiProperties.
:param server_version: Describes the ServerVersion of an a MongoDB account. Possible values
include: "3.2", "3.6", "4.0".
:type server_version: str or ~azure.mgmt.cosmosdb.models.ServerVersion
"""
_attribute_map = {
'server_version': {'key': 'serverVersion', 'type': 'str'},
}
def __init__(
self,
*,
server_version: Optional[Union[str, "ServerVersion"]] = None,
**kwargs
):
super(ApiProperties, self).__init__(**kwargs)
self.server_version = server_version
[docs]class ARMProxyResource(msrest.serialization.Model):
"""The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the database account.
:vartype id: str
:ivar name: The name of the database account.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(ARMProxyResource, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
[docs]class ARMResourceProperties(msrest.serialization.Model):
"""The core properties of ARM resources.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
**kwargs
):
super(ARMResourceProperties, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.location = location
self.tags = tags
self.identity = identity
[docs]class AutoscaleSettings(msrest.serialization.Model):
"""AutoscaleSettings.
:param max_throughput: Represents maximum throughput, the resource can scale up to.
:type max_throughput: int
"""
_attribute_map = {
'max_throughput': {'key': 'maxThroughput', 'type': 'int'},
}
def __init__(
self,
*,
max_throughput: Optional[int] = None,
**kwargs
):
super(AutoscaleSettings, self).__init__(**kwargs)
self.max_throughput = max_throughput
[docs]class AutoscaleSettingsResource(msrest.serialization.Model):
"""Cosmos DB provisioned throughput settings object.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param max_throughput: Required. Represents maximum throughput container can scale up to.
:type max_throughput: int
:param auto_upgrade_policy: Cosmos DB resource auto-upgrade policy.
:type auto_upgrade_policy: ~azure.mgmt.cosmosdb.models.AutoUpgradePolicyResource
:ivar target_max_throughput: Represents target maximum throughput container can scale up to
once offer is no longer in pending state.
:vartype target_max_throughput: int
"""
_validation = {
'max_throughput': {'required': True},
'target_max_throughput': {'readonly': True},
}
_attribute_map = {
'max_throughput': {'key': 'maxThroughput', 'type': 'int'},
'auto_upgrade_policy': {'key': 'autoUpgradePolicy', 'type': 'AutoUpgradePolicyResource'},
'target_max_throughput': {'key': 'targetMaxThroughput', 'type': 'int'},
}
def __init__(
self,
*,
max_throughput: int,
auto_upgrade_policy: Optional["AutoUpgradePolicyResource"] = None,
**kwargs
):
super(AutoscaleSettingsResource, self).__init__(**kwargs)
self.max_throughput = max_throughput
self.auto_upgrade_policy = auto_upgrade_policy
self.target_max_throughput = None
[docs]class AutoUpgradePolicyResource(msrest.serialization.Model):
"""Cosmos DB resource auto-upgrade policy.
:param throughput_policy: Represents throughput policy which service must adhere to for
auto-upgrade.
:type throughput_policy: ~azure.mgmt.cosmosdb.models.ThroughputPolicyResource
"""
_attribute_map = {
'throughput_policy': {'key': 'throughputPolicy', 'type': 'ThroughputPolicyResource'},
}
def __init__(
self,
*,
throughput_policy: Optional["ThroughputPolicyResource"] = None,
**kwargs
):
super(AutoUpgradePolicyResource, self).__init__(**kwargs)
self.throughput_policy = throughput_policy
[docs]class BackupPolicy(msrest.serialization.Model):
"""The object representing the policy for taking backups on an account.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: ContinuousModeBackupPolicy, PeriodicModeBackupPolicy.
All required parameters must be populated in order to send to Azure.
:param type: Required. Describes the mode of backups.Constant filled by server. Possible
values include: "Periodic", "Continuous".
:type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType
:param migration_state: The object representing the state of the migration between the backup
policies.
:type migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState
"""
_validation = {
'type': {'required': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'migration_state': {'key': 'migrationState', 'type': 'BackupPolicyMigrationState'},
}
_subtype_map = {
'type': {'Continuous': 'ContinuousModeBackupPolicy', 'Periodic': 'PeriodicModeBackupPolicy'}
}
def __init__(
self,
*,
migration_state: Optional["BackupPolicyMigrationState"] = None,
**kwargs
):
super(BackupPolicy, self).__init__(**kwargs)
self.type = None # type: Optional[str]
self.migration_state = migration_state
[docs]class BackupPolicyMigrationState(msrest.serialization.Model):
"""The object representing the state of the migration between the backup policies.
:param status: Describes the status of migration between backup policy types. Possible values
include: "Invalid", "InProgress", "Completed", "Failed".
:type status: str or ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationStatus
:param target_type: Describes the target backup policy type of the backup policy migration.
Possible values include: "Periodic", "Continuous".
:type target_type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType
:param start_time: Time at which the backup policy migration started (ISO-8601 format).
:type start_time: ~datetime.datetime
"""
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
'target_type': {'key': 'targetType', 'type': 'str'},
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
}
def __init__(
self,
*,
status: Optional[Union[str, "BackupPolicyMigrationStatus"]] = None,
target_type: Optional[Union[str, "BackupPolicyType"]] = None,
start_time: Optional[datetime.datetime] = None,
**kwargs
):
super(BackupPolicyMigrationState, self).__init__(**kwargs)
self.status = status
self.target_type = target_type
self.start_time = start_time
[docs]class BackupResource(ARMProxyResource):
"""A restorable backup of a Cassandra cluster.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the database account.
:vartype id: str
:ivar name: The name of the database account.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param properties:
:type properties: ~azure.mgmt.cosmosdb.models.BackupResourceProperties
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'BackupResourceProperties'},
}
def __init__(
self,
*,
properties: Optional["BackupResourceProperties"] = None,
**kwargs
):
super(BackupResource, self).__init__(**kwargs)
self.properties = properties
[docs]class BackupResourceProperties(msrest.serialization.Model):
"""BackupResourceProperties.
:param timestamp: The time this backup was taken, formatted like 2021-01-21T17:35:21.
:type timestamp: ~datetime.datetime
"""
_attribute_map = {
'timestamp': {'key': 'timestamp', 'type': 'iso-8601'},
}
def __init__(
self,
*,
timestamp: Optional[datetime.datetime] = None,
**kwargs
):
super(BackupResourceProperties, self).__init__(**kwargs)
self.timestamp = timestamp
[docs]class Capability(msrest.serialization.Model):
"""Cosmos DB capability object.
:param name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current
values also include "EnableTable" and "EnableGremlin".
:type name: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
}
def __init__(
self,
*,
name: Optional[str] = None,
**kwargs
):
super(Capability, self).__init__(**kwargs)
self.name = name
[docs]class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB Cassandra keyspace.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a Cassandra keyspace.
:type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'CassandraKeyspaceResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "CassandraKeyspaceResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(CassandraKeyspaceCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class OptionsResource(msrest.serialization.Model):
"""Cosmos DB options resource object.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(OptionsResource, self).__init__(**kwargs)
self.throughput = throughput
self.autoscale_settings = autoscale_settings
[docs]class CassandraKeyspaceGetPropertiesOptions(OptionsResource):
"""CassandraKeyspaceGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(CassandraKeyspaceGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class CassandraKeyspaceResource(msrest.serialization.Model):
"""Cosmos DB Cassandra keyspace resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Cassandra keyspace.
:type id: str
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(CassandraKeyspaceResource, self).__init__(**kwargs)
self.id = id
[docs]class ExtendedResourceProperties(msrest.serialization.Model):
"""The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(ExtendedResourceProperties, self).__init__(**kwargs)
self.rid = None
self.ts = None
self.etag = None
[docs]class CassandraKeyspaceGetPropertiesResource(ExtendedResourceProperties, CassandraKeyspaceResource):
"""CassandraKeyspaceGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Cassandra keyspace.
:type id: str
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(CassandraKeyspaceGetPropertiesResource, self).__init__(id=id, **kwargs)
self.id = id
self.rid = None
self.ts = None
self.etag = None
[docs]class CassandraKeyspaceGetResults(ARMResourceProperties):
"""An Azure Cosmos DB Cassandra keyspace.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'CassandraKeyspaceGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'CassandraKeyspaceGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["CassandraKeyspaceGetPropertiesResource"] = None,
options: Optional["CassandraKeyspaceGetPropertiesOptions"] = None,
**kwargs
):
super(CassandraKeyspaceGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class CassandraKeyspaceListResult(msrest.serialization.Model):
"""The List operation response, that contains the Cassandra keyspaces and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of Cassandra keyspaces and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[CassandraKeyspaceGetResults]'},
}
def __init__(
self,
**kwargs
):
super(CassandraKeyspaceListResult, self).__init__(**kwargs)
self.value = None
[docs]class CassandraPartitionKey(msrest.serialization.Model):
"""Cosmos DB Cassandra table partition key.
:param name: Name of the Cosmos DB Cassandra table partition key.
:type name: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
}
def __init__(
self,
*,
name: Optional[str] = None,
**kwargs
):
super(CassandraPartitionKey, self).__init__(**kwargs)
self.name = name
[docs]class CassandraSchema(msrest.serialization.Model):
"""Cosmos DB Cassandra table schema.
:param columns: List of Cassandra table columns.
:type columns: list[~azure.mgmt.cosmosdb.models.Column]
:param partition_keys: List of partition key.
:type partition_keys: list[~azure.mgmt.cosmosdb.models.CassandraPartitionKey]
:param cluster_keys: List of cluster key.
:type cluster_keys: list[~azure.mgmt.cosmosdb.models.ClusterKey]
"""
_attribute_map = {
'columns': {'key': 'columns', 'type': '[Column]'},
'partition_keys': {'key': 'partitionKeys', 'type': '[CassandraPartitionKey]'},
'cluster_keys': {'key': 'clusterKeys', 'type': '[ClusterKey]'},
}
def __init__(
self,
*,
columns: Optional[List["Column"]] = None,
partition_keys: Optional[List["CassandraPartitionKey"]] = None,
cluster_keys: Optional[List["ClusterKey"]] = None,
**kwargs
):
super(CassandraSchema, self).__init__(**kwargs)
self.columns = columns
self.partition_keys = partition_keys
self.cluster_keys = cluster_keys
[docs]class CassandraTableCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB Cassandra table.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a Cassandra table.
:type resource: ~azure.mgmt.cosmosdb.models.CassandraTableResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'CassandraTableResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "CassandraTableResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(CassandraTableCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class CassandraTableGetPropertiesOptions(OptionsResource):
"""CassandraTableGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(CassandraTableGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class CassandraTableResource(msrest.serialization.Model):
"""Cosmos DB Cassandra table resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Cassandra table.
:type id: str
:param default_ttl: Time to live of the Cosmos DB Cassandra table.
:type default_ttl: int
:param schema: Schema of the Cosmos DB Cassandra table.
:type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema
:param analytical_storage_ttl: Analytical TTL.
:type analytical_storage_ttl: int
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'default_ttl': {'key': 'defaultTtl', 'type': 'int'},
'schema': {'key': 'schema', 'type': 'CassandraSchema'},
'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'},
}
def __init__(
self,
*,
id: str,
default_ttl: Optional[int] = None,
schema: Optional["CassandraSchema"] = None,
analytical_storage_ttl: Optional[int] = None,
**kwargs
):
super(CassandraTableResource, self).__init__(**kwargs)
self.id = id
self.default_ttl = default_ttl
self.schema = schema
self.analytical_storage_ttl = analytical_storage_ttl
[docs]class CassandraTableGetPropertiesResource(ExtendedResourceProperties, CassandraTableResource):
"""CassandraTableGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Cassandra table.
:type id: str
:param default_ttl: Time to live of the Cosmos DB Cassandra table.
:type default_ttl: int
:param schema: Schema of the Cosmos DB Cassandra table.
:type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema
:param analytical_storage_ttl: Analytical TTL.
:type analytical_storage_ttl: int
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'default_ttl': {'key': 'defaultTtl', 'type': 'int'},
'schema': {'key': 'schema', 'type': 'CassandraSchema'},
'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
default_ttl: Optional[int] = None,
schema: Optional["CassandraSchema"] = None,
analytical_storage_ttl: Optional[int] = None,
**kwargs
):
super(CassandraTableGetPropertiesResource, self).__init__(id=id, default_ttl=default_ttl, schema=schema, analytical_storage_ttl=analytical_storage_ttl, **kwargs)
self.id = id
self.default_ttl = default_ttl
self.schema = schema
self.analytical_storage_ttl = analytical_storage_ttl
self.rid = None
self.ts = None
self.etag = None
[docs]class CassandraTableGetResults(ARMResourceProperties):
"""An Azure Cosmos DB Cassandra table.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'CassandraTableGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'CassandraTableGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["CassandraTableGetPropertiesResource"] = None,
options: Optional["CassandraTableGetPropertiesOptions"] = None,
**kwargs
):
super(CassandraTableGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class CassandraTableListResult(msrest.serialization.Model):
"""The List operation response, that contains the Cassandra tables and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of Cassandra tables and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.CassandraTableGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[CassandraTableGetResults]'},
}
def __init__(
self,
**kwargs
):
super(CassandraTableListResult, self).__init__(**kwargs)
self.value = None
[docs]class CassandraViewCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB Cassandra view.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a Cassandra view.
:type resource: ~azure.mgmt.cosmosdb.models.CassandraViewResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'CassandraViewResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "CassandraViewResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(CassandraViewCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class CassandraViewGetPropertiesOptions(OptionsResource):
"""CassandraViewGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(CassandraViewGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class CassandraViewResource(msrest.serialization.Model):
"""Cosmos DB Cassandra view resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Cassandra view.
:type id: str
:param view_definition: Required. View Definition of the Cosmos DB Cassandra view.
:type view_definition: str
"""
_validation = {
'id': {'required': True},
'view_definition': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'view_definition': {'key': 'viewDefinition', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
view_definition: str,
**kwargs
):
super(CassandraViewResource, self).__init__(**kwargs)
self.id = id
self.view_definition = view_definition
[docs]class CassandraViewGetPropertiesResource(ExtendedResourceProperties, CassandraViewResource):
"""CassandraViewGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Cassandra view.
:type id: str
:param view_definition: Required. View Definition of the Cosmos DB Cassandra view.
:type view_definition: str
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'view_definition': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'view_definition': {'key': 'viewDefinition', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
view_definition: str,
**kwargs
):
super(CassandraViewGetPropertiesResource, self).__init__(id=id, view_definition=view_definition, **kwargs)
self.id = id
self.view_definition = view_definition
self.rid = None
self.ts = None
self.etag = None
[docs]class CassandraViewGetResults(ARMResourceProperties):
"""An Azure Cosmos DB Cassandra view.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.CassandraViewGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.CassandraViewGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'CassandraViewGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'CassandraViewGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["CassandraViewGetPropertiesResource"] = None,
options: Optional["CassandraViewGetPropertiesOptions"] = None,
**kwargs
):
super(CassandraViewGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class CassandraViewListResult(msrest.serialization.Model):
"""The List operation response, that contains the Cassandra views and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of Cassandra views and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.CassandraViewGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[CassandraViewGetResults]'},
}
def __init__(
self,
**kwargs
):
super(CassandraViewListResult, self).__init__(**kwargs)
self.value = None
[docs]class Certificate(msrest.serialization.Model):
"""Certificate.
:param pem: PEM formatted public key.
:type pem: str
"""
_attribute_map = {
'pem': {'key': 'pem', 'type': 'str'},
}
def __init__(
self,
*,
pem: Optional[str] = None,
**kwargs
):
super(Certificate, self).__init__(**kwargs)
self.pem = pem
[docs]class ClusterKey(msrest.serialization.Model):
"""Cosmos DB Cassandra table cluster key.
:param name: Name of the Cosmos DB Cassandra table cluster key.
:type name: str
:param order_by: Order of the Cosmos DB Cassandra table cluster key, only support "Asc" and
"Desc".
:type order_by: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'order_by': {'key': 'orderBy', 'type': 'str'},
}
def __init__(
self,
*,
name: Optional[str] = None,
order_by: Optional[str] = None,
**kwargs
):
super(ClusterKey, self).__init__(**kwargs)
self.name = name
self.order_by = order_by
[docs]class ClusterNodeStatus(msrest.serialization.Model):
"""The status of all nodes in the cluster (as returned by 'nodetool status').
:param nodes: Information about nodes in the cluster (corresponds to what is returned from
nodetool info).
:type nodes: list[~azure.mgmt.cosmosdb.models.ClusterNodeStatusNodesItem]
"""
_attribute_map = {
'nodes': {'key': 'nodes', 'type': '[ClusterNodeStatusNodesItem]'},
}
def __init__(
self,
*,
nodes: Optional[List["ClusterNodeStatusNodesItem"]] = None,
**kwargs
):
super(ClusterNodeStatus, self).__init__(**kwargs)
self.nodes = nodes
[docs]class ClusterNodeStatusNodesItem(msrest.serialization.Model):
"""ClusterNodeStatusNodesItem.
:param datacenter: The Cassandra data center this node resides in.
:type datacenter: str
:param status: Indicates whether the node is functioning or not. Possible values include: "Up",
"Down".
:type status: str or ~azure.mgmt.cosmosdb.models.NodeStatus
:param state: The state of the node in relation to the cluster. Possible values include:
"Normal", "Leaving", "Joining", "Moving", "Stopped".
:type state: str or ~azure.mgmt.cosmosdb.models.NodeState
:param address: The node's URL.
:type address: str
:param load: The amount of file system data in the data directory (e.g., 47.66 KB), excluding
all content in the snapshots subdirectories. Because all SSTable data files are included, any
data that is not cleaned up (such as TTL-expired cell or tombstoned data) is counted.
:type load: str
:param tokens: List of tokens.
:type tokens: list[str]
:param owns: The percentage of the data owned by the node per datacenter times the replication
factor (e.g., 33.3, or null if the data is not available). For example, a node can own 33% of
the ring, but shows 100% if the replication factor is 3. For non-system keyspaces, the endpoint
percentage ownership information is shown.
:type owns: float
:param host_id: The network ID of the node.
:type host_id: str
:param rack: The rack this node is part of.
:type rack: str
"""
_attribute_map = {
'datacenter': {'key': 'datacenter', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'state': {'key': 'state', 'type': 'str'},
'address': {'key': 'address', 'type': 'str'},
'load': {'key': 'load', 'type': 'str'},
'tokens': {'key': 'tokens', 'type': '[str]'},
'owns': {'key': 'owns', 'type': 'float'},
'host_id': {'key': 'hostId', 'type': 'str'},
'rack': {'key': 'rack', 'type': 'str'},
}
def __init__(
self,
*,
datacenter: Optional[str] = None,
status: Optional[Union[str, "NodeStatus"]] = None,
state: Optional[Union[str, "NodeState"]] = None,
address: Optional[str] = None,
load: Optional[str] = None,
tokens: Optional[List[str]] = None,
owns: Optional[float] = None,
host_id: Optional[str] = None,
rack: Optional[str] = None,
**kwargs
):
super(ClusterNodeStatusNodesItem, self).__init__(**kwargs)
self.datacenter = datacenter
self.status = status
self.state = state
self.address = address
self.load = load
self.tokens = tokens
self.owns = owns
self.host_id = host_id
self.rack = rack
[docs]class ClusterResource(ARMResourceProperties):
"""Representation of a managed Cassandra cluster.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param properties: Properties of a managed Cassandra cluster.
:type properties: ~azure.mgmt.cosmosdb.models.ClusterResourceProperties
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
properties: Optional["ClusterResourceProperties"] = None,
**kwargs
):
super(ClusterResource, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.properties = properties
[docs]class ClusterResourceProperties(msrest.serialization.Model):
"""Properties of a managed Cassandra cluster.
Variables are only populated by the server, and will be ignored when sending a request.
:param provisioning_state: The status of the resource at the time the operation was called.
Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled".
:type provisioning_state: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState
:param restore_from_backup_id: 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.
:type restore_from_backup_id: str
:param delegated_management_subnet_id: 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/:code:`<subscription id>`/resourceGroups/:code:`<resource
group>`/providers/Microsoft.Network/virtualNetworks/:code:`<virtual
network>`/subnets/:code:`<subnet>`'.
:type delegated_management_subnet_id: str
:param cassandra_version: 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.
:type cassandra_version: str
:param cluster_name_override: 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.
:type cluster_name_override: str
:param authentication_method: 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'. Possible
values include: "None", "Cassandra".
:type authentication_method: str or ~azure.mgmt.cosmosdb.models.AuthenticationMethod
:param initial_cassandra_admin_password: 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'.
:type initial_cassandra_admin_password: str
:param hours_between_backups: Number of hours to wait between taking a backup of the cluster.
To disable backups, set this property to 0.
:type hours_between_backups: int
:param prometheus_endpoint: Hostname or IP address where the Prometheus endpoint containing
data about the managed Cassandra nodes can be reached.
:type prometheus_endpoint: ~azure.mgmt.cosmosdb.models.SeedNode
:param repair_enabled: 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.
:type repair_enabled: bool
:param client_certificates: 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.
:type client_certificates: list[~azure.mgmt.cosmosdb.models.Certificate]
:param external_gossip_certificates: 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.
:type external_gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate]
:ivar gossip_certificates: List of TLS certificates that unmanaged nodes must trust for gossip
with managed nodes. All managed nodes will present TLS client certificates that are verifiable
using one of the certificates provided in this property.
:vartype gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate]
:param external_seed_nodes: List of IP addresses of seed nodes in unmanaged data centers. These
will be added to the seed node lists of all managed nodes.
:type external_seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode]
:ivar seed_nodes: List of IP addresses of seed nodes in the managed data centers. These should
be added to the seed node lists of all unmanaged nodes.
:vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode]
"""
_validation = {
'gossip_certificates': {'readonly': True},
'seed_nodes': {'readonly': True},
}
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'restore_from_backup_id': {'key': 'restoreFromBackupId', 'type': 'str'},
'delegated_management_subnet_id': {'key': 'delegatedManagementSubnetId', 'type': 'str'},
'cassandra_version': {'key': 'cassandraVersion', 'type': 'str'},
'cluster_name_override': {'key': 'clusterNameOverride', 'type': 'str'},
'authentication_method': {'key': 'authenticationMethod', 'type': 'str'},
'initial_cassandra_admin_password': {'key': 'initialCassandraAdminPassword', 'type': 'str'},
'hours_between_backups': {'key': 'hoursBetweenBackups', 'type': 'int'},
'prometheus_endpoint': {'key': 'prometheusEndpoint', 'type': 'SeedNode'},
'repair_enabled': {'key': 'repairEnabled', 'type': 'bool'},
'client_certificates': {'key': 'clientCertificates', 'type': '[Certificate]'},
'external_gossip_certificates': {'key': 'externalGossipCertificates', 'type': '[Certificate]'},
'gossip_certificates': {'key': 'gossipCertificates', 'type': '[Certificate]'},
'external_seed_nodes': {'key': 'externalSeedNodes', 'type': '[SeedNode]'},
'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'},
}
def __init__(
self,
*,
provisioning_state: Optional[Union[str, "ManagedCassandraProvisioningState"]] = None,
restore_from_backup_id: Optional[str] = None,
delegated_management_subnet_id: Optional[str] = None,
cassandra_version: Optional[str] = None,
cluster_name_override: Optional[str] = None,
authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None,
initial_cassandra_admin_password: Optional[str] = None,
hours_between_backups: Optional[int] = None,
prometheus_endpoint: Optional["SeedNode"] = None,
repair_enabled: Optional[bool] = None,
client_certificates: Optional[List["Certificate"]] = None,
external_gossip_certificates: Optional[List["Certificate"]] = None,
external_seed_nodes: Optional[List["SeedNode"]] = None,
**kwargs
):
super(ClusterResourceProperties, self).__init__(**kwargs)
self.provisioning_state = provisioning_state
self.restore_from_backup_id = restore_from_backup_id
self.delegated_management_subnet_id = delegated_management_subnet_id
self.cassandra_version = cassandra_version
self.cluster_name_override = cluster_name_override
self.authentication_method = authentication_method
self.initial_cassandra_admin_password = initial_cassandra_admin_password
self.hours_between_backups = hours_between_backups
self.prometheus_endpoint = prometheus_endpoint
self.repair_enabled = repair_enabled
self.client_certificates = client_certificates
self.external_gossip_certificates = external_gossip_certificates
self.gossip_certificates = None
self.external_seed_nodes = external_seed_nodes
self.seed_nodes = None
[docs]class Column(msrest.serialization.Model):
"""Cosmos DB Cassandra table column.
:param name: Name of the Cosmos DB Cassandra table column.
:type name: str
:param type: Type of the Cosmos DB Cassandra table column.
:type type: str
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(
self,
*,
name: Optional[str] = None,
type: Optional[str] = None,
**kwargs
):
super(Column, self).__init__(**kwargs)
self.name = name
self.type = type
[docs]class Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model):
"""Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar principal_id: The principal id of user assigned identity.
:vartype principal_id: str
:ivar client_id: The client id of user assigned identity.
:vartype client_id: str
"""
_validation = {
'principal_id': {'readonly': True},
'client_id': {'readonly': True},
}
_attribute_map = {
'principal_id': {'key': 'principalId', 'type': 'str'},
'client_id': {'key': 'clientId', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs)
self.principal_id = None
self.client_id = None
[docs]class CompositePath(msrest.serialization.Model):
"""CompositePath.
:param path: The path for which the indexing behavior applies to. Index paths typically start
with root and end with wildcard (/path/*).
:type path: str
:param order: Sort order for composite paths. Possible values include: "ascending",
"descending".
:type order: str or ~azure.mgmt.cosmosdb.models.CompositePathSortOrder
"""
_attribute_map = {
'path': {'key': 'path', 'type': 'str'},
'order': {'key': 'order', 'type': 'str'},
}
def __init__(
self,
*,
path: Optional[str] = None,
order: Optional[Union[str, "CompositePathSortOrder"]] = None,
**kwargs
):
super(CompositePath, self).__init__(**kwargs)
self.path = path
self.order = order
[docs]class ConflictResolutionPolicy(msrest.serialization.Model):
"""The conflict resolution policy for the container.
:param mode: Indicates the conflict resolution mode. Possible values include: "LastWriterWins",
"Custom". Default value: "LastWriterWins".
:type mode: str or ~azure.mgmt.cosmosdb.models.ConflictResolutionMode
:param conflict_resolution_path: The conflict resolution path in the case of LastWriterWins
mode.
:type conflict_resolution_path: str
:param conflict_resolution_procedure: The procedure to resolve conflicts in the case of custom
mode.
:type conflict_resolution_procedure: str
"""
_attribute_map = {
'mode': {'key': 'mode', 'type': 'str'},
'conflict_resolution_path': {'key': 'conflictResolutionPath', 'type': 'str'},
'conflict_resolution_procedure': {'key': 'conflictResolutionProcedure', 'type': 'str'},
}
def __init__(
self,
*,
mode: Optional[Union[str, "ConflictResolutionMode"]] = "LastWriterWins",
conflict_resolution_path: Optional[str] = None,
conflict_resolution_procedure: Optional[str] = None,
**kwargs
):
super(ConflictResolutionPolicy, self).__init__(**kwargs)
self.mode = mode
self.conflict_resolution_path = conflict_resolution_path
self.conflict_resolution_procedure = conflict_resolution_procedure
[docs]class ConsistencyPolicy(msrest.serialization.Model):
"""The consistency policy for the Cosmos DB database account.
All required parameters must be populated in order to send to Azure.
:param default_consistency_level: Required. The default consistency level and configuration
settings of the Cosmos DB account. Possible values include: "Eventual", "Session",
"BoundedStaleness", "Strong", "ConsistentPrefix".
:type default_consistency_level: str or ~azure.mgmt.cosmosdb.models.DefaultConsistencyLevel
:param max_staleness_prefix: When used with the Bounded Staleness consistency level, this value
represents the number of stale requests tolerated. Accepted range for this value is 1 –
2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.
:type max_staleness_prefix: long
:param max_interval_in_seconds: When used with the Bounded Staleness consistency level, this
value represents the time amount of staleness (in seconds) tolerated. Accepted range for this
value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.
:type max_interval_in_seconds: int
"""
_validation = {
'default_consistency_level': {'required': True},
'max_staleness_prefix': {'maximum': 2147483647, 'minimum': 1},
'max_interval_in_seconds': {'maximum': 86400, 'minimum': 5},
}
_attribute_map = {
'default_consistency_level': {'key': 'defaultConsistencyLevel', 'type': 'str'},
'max_staleness_prefix': {'key': 'maxStalenessPrefix', 'type': 'long'},
'max_interval_in_seconds': {'key': 'maxIntervalInSeconds', 'type': 'int'},
}
def __init__(
self,
*,
default_consistency_level: Union[str, "DefaultConsistencyLevel"],
max_staleness_prefix: Optional[int] = None,
max_interval_in_seconds: Optional[int] = None,
**kwargs
):
super(ConsistencyPolicy, self).__init__(**kwargs)
self.default_consistency_level = default_consistency_level
self.max_staleness_prefix = max_staleness_prefix
self.max_interval_in_seconds = max_interval_in_seconds
[docs]class ContainerPartitionKey(msrest.serialization.Model):
"""The configuration of the partition key to be used for partitioning data into multiple partitions.
Variables are only populated by the server, and will be ignored when sending a request.
:param paths: List of paths using which data within the container can be partitioned.
:type paths: list[str]
:param kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple
partition keys (upto three maximum) are supported for container create. Possible values
include: "Hash", "Range", "MultiHash". Default value: "Hash".
:type kind: str or ~azure.mgmt.cosmosdb.models.PartitionKind
:param version: Indicates the version of the partition key definition.
:type version: int
:ivar system_key: Indicates if the container is using a system generated partition key.
:vartype system_key: bool
"""
_validation = {
'version': {'maximum': 2, 'minimum': 1},
'system_key': {'readonly': True},
}
_attribute_map = {
'paths': {'key': 'paths', 'type': '[str]'},
'kind': {'key': 'kind', 'type': 'str'},
'version': {'key': 'version', 'type': 'int'},
'system_key': {'key': 'systemKey', 'type': 'bool'},
}
def __init__(
self,
*,
paths: Optional[List[str]] = None,
kind: Optional[Union[str, "PartitionKind"]] = "Hash",
version: Optional[int] = None,
**kwargs
):
super(ContainerPartitionKey, self).__init__(**kwargs)
self.paths = paths
self.kind = kind
self.version = version
self.system_key = None
[docs]class ContinuousBackupRestoreLocation(msrest.serialization.Model):
"""Properties of the regional restorable account.
:param location: The name of the continuous backup restore location.
:type location: str
"""
_attribute_map = {
'location': {'key': 'location', 'type': 'str'},
}
def __init__(
self,
*,
location: Optional[str] = None,
**kwargs
):
super(ContinuousBackupRestoreLocation, self).__init__(**kwargs)
self.location = location
[docs]class ContinuousModeBackupPolicy(BackupPolicy):
"""The object representing continuous mode backup policy.
All required parameters must be populated in order to send to Azure.
:param type: Required. Describes the mode of backups.Constant filled by server. Possible
values include: "Periodic", "Continuous".
:type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType
:param migration_state: The object representing the state of the migration between the backup
policies.
:type migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState
"""
_validation = {
'type': {'required': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'migration_state': {'key': 'migrationState', 'type': 'BackupPolicyMigrationState'},
}
def __init__(
self,
*,
migration_state: Optional["BackupPolicyMigrationState"] = None,
**kwargs
):
super(ContinuousModeBackupPolicy, self).__init__(migration_state=migration_state, **kwargs)
self.type = 'Continuous' # type: str
[docs]class CorsPolicy(msrest.serialization.Model):
"""The CORS policy for the Cosmos DB database account.
All required parameters must be populated in order to send to Azure.
:param allowed_origins: Required. The origin domains that are permitted to make a request
against the service via CORS.
:type allowed_origins: str
:param allowed_methods: The methods (HTTP request verbs) that the origin domain may use for a
CORS request.
:type allowed_methods: str
:param allowed_headers: The request headers that the origin domain may specify on the CORS
request.
:type allowed_headers: str
:param exposed_headers: The response headers that may be sent in the response to the CORS
request and exposed by the browser to the request issuer.
:type exposed_headers: str
:param max_age_in_seconds: The maximum amount time that a browser should cache the preflight
OPTIONS request.
:type max_age_in_seconds: long
"""
_validation = {
'allowed_origins': {'required': True},
'max_age_in_seconds': {'maximum': 2147483647, 'minimum': 1},
}
_attribute_map = {
'allowed_origins': {'key': 'allowedOrigins', 'type': 'str'},
'allowed_methods': {'key': 'allowedMethods', 'type': 'str'},
'allowed_headers': {'key': 'allowedHeaders', 'type': 'str'},
'exposed_headers': {'key': 'exposedHeaders', 'type': 'str'},
'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'long'},
}
def __init__(
self,
*,
allowed_origins: str,
allowed_methods: Optional[str] = None,
allowed_headers: Optional[str] = None,
exposed_headers: Optional[str] = None,
max_age_in_seconds: Optional[int] = None,
**kwargs
):
super(CorsPolicy, self).__init__(**kwargs)
self.allowed_origins = allowed_origins
self.allowed_methods = allowed_methods
self.allowed_headers = allowed_headers
self.exposed_headers = exposed_headers
self.max_age_in_seconds = max_age_in_seconds
[docs]class CreateUpdateOptions(msrest.serialization.Model):
"""CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput".
:param throughput: Request Units per second. For example, "throughput": 10000.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(CreateUpdateOptions, self).__init__(**kwargs)
self.throughput = throughput
self.autoscale_settings = autoscale_settings
[docs]class DatabaseAccountConnectionString(msrest.serialization.Model):
"""Connection string for the Cosmos DB account.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar connection_string: Value of the connection string.
:vartype connection_string: str
:ivar description: Description of the connection string.
:vartype description: str
"""
_validation = {
'connection_string': {'readonly': True},
'description': {'readonly': True},
}
_attribute_map = {
'connection_string': {'key': 'connectionString', 'type': 'str'},
'description': {'key': 'description', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(DatabaseAccountConnectionString, self).__init__(**kwargs)
self.connection_string = None
self.description = None
[docs]class DatabaseAccountCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB database accounts.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param kind: Indicates the type of database account. This can only be set at database account
creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse".
:type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind
:param consistency_policy: The consistency policy for the Cosmos DB account.
:type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy
:param locations: Required. An array that contains the georeplication locations enabled for the
Cosmos DB account.
:type locations: list[~azure.mgmt.cosmosdb.models.Location]
:ivar database_account_offer_type: The offer type for the database. Has constant value:
"Standard".
:vartype database_account_offer_type: str
:param ip_rules: List of IpRules.
:type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange]
:param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual
Network ACL rules.
:type is_virtual_network_filter_enabled: bool
:param enable_automatic_failover: Enables automatic failover of the write region in the rare
event that the region is unavailable due to an outage. Automatic failover will result in a new
write region for the account and is chosen based on the failover priorities configured for the
account.
:type enable_automatic_failover: bool
:param capabilities: List of Cosmos DB capabilities for the account.
:type capabilities: list[~azure.mgmt.cosmosdb.models.Capability]
:param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB
account.
:type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule]
:param enable_multiple_write_locations: Enables the account to write in multiple locations.
:type enable_multiple_write_locations: bool
:param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account.
:type enable_cassandra_connector: bool
:param connector_offer: The cassandra connector offer type for the Cosmos DB database C*
account. Possible values include: "Small".
:type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer
:param disable_key_based_metadata_write_access: Disable write operations on metadata resources
(databases, containers, throughput) via account keys.
:type disable_key_based_metadata_write_access: bool
:param key_vault_key_uri: The URI of the key vault.
:type key_vault_key_uri: str
:param default_identity: The default identity for accessing key vault used in features like
customer managed keys. The default identity needs to be explicitly set by the users. It can be
"FirstPartyIdentity", "SystemAssignedIdentity" and more.
:type default_identity: str
:param public_network_access: Whether requests from Public Network are allowed. Possible values
include: "Enabled", "Disabled".
:type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess
:param enable_free_tier: Flag to indicate whether Free Tier is enabled.
:type enable_free_tier: bool
:param api_properties: API specific properties. Currently, supported only for MongoDB API.
:type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties
:param enable_analytical_storage: Flag to indicate whether to enable storage analytics.
:type enable_analytical_storage: bool
:param analytical_storage_configuration: Analytical storage specific properties.
:type analytical_storage_configuration:
~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration
:param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by
server. Possible values include: "Default", "Restore". Default value: "Default".
:type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode
:param backup_policy: The object representing the policy for taking backups on an account.
:type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy
:param cors: The CORS policy for the Cosmos DB database account.
:type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy]
:param network_acl_bypass: Indicates what services are allowed to bypass firewall checks.
Possible values include: "None", "AzureServices".
:type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass
:param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl
Bypass for the Cosmos DB account.
:type network_acl_bypass_resource_ids: list[str]
:param diagnostic_log_settings: The Object representing the different Diagnostic log settings
for the Cosmos DB Account.
:type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings
:param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be
used exclusively for authentication.
:type disable_local_auth: bool
:param restore_parameters: Parameters to indicate the information about the restore.
:type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'locations': {'required': True},
'database_account_offer_type': {'required': True, 'constant': True},
'create_mode': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'kind': {'key': 'kind', 'type': 'str'},
'consistency_policy': {'key': 'properties.consistencyPolicy', 'type': 'ConsistencyPolicy'},
'locations': {'key': 'properties.locations', 'type': '[Location]'},
'database_account_offer_type': {'key': 'properties.databaseAccountOfferType', 'type': 'str'},
'ip_rules': {'key': 'properties.ipRules', 'type': '[IpAddressOrRange]'},
'is_virtual_network_filter_enabled': {'key': 'properties.isVirtualNetworkFilterEnabled', 'type': 'bool'},
'enable_automatic_failover': {'key': 'properties.enableAutomaticFailover', 'type': 'bool'},
'capabilities': {'key': 'properties.capabilities', 'type': '[Capability]'},
'virtual_network_rules': {'key': 'properties.virtualNetworkRules', 'type': '[VirtualNetworkRule]'},
'enable_multiple_write_locations': {'key': 'properties.enableMultipleWriteLocations', 'type': 'bool'},
'enable_cassandra_connector': {'key': 'properties.enableCassandraConnector', 'type': 'bool'},
'connector_offer': {'key': 'properties.connectorOffer', 'type': 'str'},
'disable_key_based_metadata_write_access': {'key': 'properties.disableKeyBasedMetadataWriteAccess', 'type': 'bool'},
'key_vault_key_uri': {'key': 'properties.keyVaultKeyUri', 'type': 'str'},
'default_identity': {'key': 'properties.defaultIdentity', 'type': 'str'},
'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'},
'enable_free_tier': {'key': 'properties.enableFreeTier', 'type': 'bool'},
'api_properties': {'key': 'properties.apiProperties', 'type': 'ApiProperties'},
'enable_analytical_storage': {'key': 'properties.enableAnalyticalStorage', 'type': 'bool'},
'analytical_storage_configuration': {'key': 'properties.analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'},
'create_mode': {'key': 'properties.createMode', 'type': 'str'},
'backup_policy': {'key': 'properties.backupPolicy', 'type': 'BackupPolicy'},
'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'},
'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'},
'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'},
'diagnostic_log_settings': {'key': 'properties.diagnosticLogSettings', 'type': 'DiagnosticLogSettings'},
'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'},
'restore_parameters': {'key': 'properties.restoreParameters', 'type': 'RestoreParameters'},
}
database_account_offer_type = "Standard"
def __init__(
self,
*,
locations: List["Location"],
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
kind: Optional[Union[str, "DatabaseAccountKind"]] = None,
consistency_policy: Optional["ConsistencyPolicy"] = None,
ip_rules: Optional[List["IpAddressOrRange"]] = None,
is_virtual_network_filter_enabled: Optional[bool] = None,
enable_automatic_failover: Optional[bool] = None,
capabilities: Optional[List["Capability"]] = None,
virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None,
enable_multiple_write_locations: Optional[bool] = None,
enable_cassandra_connector: Optional[bool] = None,
connector_offer: Optional[Union[str, "ConnectorOffer"]] = None,
disable_key_based_metadata_write_access: Optional[bool] = None,
key_vault_key_uri: Optional[str] = None,
default_identity: Optional[str] = None,
public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None,
enable_free_tier: Optional[bool] = None,
api_properties: Optional["ApiProperties"] = None,
enable_analytical_storage: Optional[bool] = None,
analytical_storage_configuration: Optional["AnalyticalStorageConfiguration"] = None,
backup_policy: Optional["BackupPolicy"] = None,
cors: Optional[List["CorsPolicy"]] = None,
network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None,
network_acl_bypass_resource_ids: Optional[List[str]] = None,
diagnostic_log_settings: Optional["DiagnosticLogSettings"] = None,
disable_local_auth: Optional[bool] = None,
restore_parameters: Optional["RestoreParameters"] = None,
**kwargs
):
super(DatabaseAccountCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.kind = kind
self.consistency_policy = consistency_policy
self.locations = locations
self.ip_rules = ip_rules
self.is_virtual_network_filter_enabled = is_virtual_network_filter_enabled
self.enable_automatic_failover = enable_automatic_failover
self.capabilities = capabilities
self.virtual_network_rules = virtual_network_rules
self.enable_multiple_write_locations = enable_multiple_write_locations
self.enable_cassandra_connector = enable_cassandra_connector
self.connector_offer = connector_offer
self.disable_key_based_metadata_write_access = disable_key_based_metadata_write_access
self.key_vault_key_uri = key_vault_key_uri
self.default_identity = default_identity
self.public_network_access = public_network_access
self.enable_free_tier = enable_free_tier
self.api_properties = api_properties
self.enable_analytical_storage = enable_analytical_storage
self.analytical_storage_configuration = analytical_storage_configuration
self.create_mode = None # type: Optional[str]
self.backup_policy = backup_policy
self.cors = cors
self.network_acl_bypass = network_acl_bypass
self.network_acl_bypass_resource_ids = network_acl_bypass_resource_ids
self.diagnostic_log_settings = diagnostic_log_settings
self.disable_local_auth = disable_local_auth
self.restore_parameters = restore_parameters
[docs]class DatabaseAccountCreateUpdateProperties(msrest.serialization.Model):
"""Properties to create and update Azure Cosmos DB database accounts.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: DefaultRequestDatabaseAccountCreateUpdateProperties.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param consistency_policy: The consistency policy for the Cosmos DB account.
:type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy
:param locations: Required. An array that contains the georeplication locations enabled for the
Cosmos DB account.
:type locations: list[~azure.mgmt.cosmosdb.models.Location]
:ivar database_account_offer_type: The offer type for the database. Has constant value:
"Standard".
:vartype database_account_offer_type: str
:param ip_rules: List of IpRules.
:type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange]
:param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual
Network ACL rules.
:type is_virtual_network_filter_enabled: bool
:param enable_automatic_failover: Enables automatic failover of the write region in the rare
event that the region is unavailable due to an outage. Automatic failover will result in a new
write region for the account and is chosen based on the failover priorities configured for the
account.
:type enable_automatic_failover: bool
:param capabilities: List of Cosmos DB capabilities for the account.
:type capabilities: list[~azure.mgmt.cosmosdb.models.Capability]
:param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB
account.
:type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule]
:param enable_multiple_write_locations: Enables the account to write in multiple locations.
:type enable_multiple_write_locations: bool
:param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account.
:type enable_cassandra_connector: bool
:param connector_offer: The cassandra connector offer type for the Cosmos DB database C*
account. Possible values include: "Small".
:type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer
:param disable_key_based_metadata_write_access: Disable write operations on metadata resources
(databases, containers, throughput) via account keys.
:type disable_key_based_metadata_write_access: bool
:param key_vault_key_uri: The URI of the key vault.
:type key_vault_key_uri: str
:param default_identity: The default identity for accessing key vault used in features like
customer managed keys. The default identity needs to be explicitly set by the users. It can be
"FirstPartyIdentity", "SystemAssignedIdentity" and more.
:type default_identity: str
:param public_network_access: Whether requests from Public Network are allowed. Possible values
include: "Enabled", "Disabled".
:type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess
:param enable_free_tier: Flag to indicate whether Free Tier is enabled.
:type enable_free_tier: bool
:param api_properties: API specific properties. Currently, supported only for MongoDB API.
:type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties
:param enable_analytical_storage: Flag to indicate whether to enable storage analytics.
:type enable_analytical_storage: bool
:param analytical_storage_configuration: Analytical storage specific properties.
:type analytical_storage_configuration:
~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration
:param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by
server. Possible values include: "Default", "Restore". Default value: "Default".
:type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode
:param backup_policy: The object representing the policy for taking backups on an account.
:type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy
:param cors: The CORS policy for the Cosmos DB database account.
:type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy]
:param network_acl_bypass: Indicates what services are allowed to bypass firewall checks.
Possible values include: "None", "AzureServices".
:type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass
:param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl
Bypass for the Cosmos DB account.
:type network_acl_bypass_resource_ids: list[str]
:param diagnostic_log_settings: The Object representing the different Diagnostic log settings
for the Cosmos DB Account.
:type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings
:param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be
used exclusively for authentication.
:type disable_local_auth: bool
:param restore_parameters: Parameters to indicate the information about the restore.
:type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters
"""
_validation = {
'locations': {'required': True},
'database_account_offer_type': {'required': True, 'constant': True},
'create_mode': {'required': True},
}
_attribute_map = {
'consistency_policy': {'key': 'consistencyPolicy', 'type': 'ConsistencyPolicy'},
'locations': {'key': 'locations', 'type': '[Location]'},
'database_account_offer_type': {'key': 'databaseAccountOfferType', 'type': 'str'},
'ip_rules': {'key': 'ipRules', 'type': '[IpAddressOrRange]'},
'is_virtual_network_filter_enabled': {'key': 'isVirtualNetworkFilterEnabled', 'type': 'bool'},
'enable_automatic_failover': {'key': 'enableAutomaticFailover', 'type': 'bool'},
'capabilities': {'key': 'capabilities', 'type': '[Capability]'},
'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'},
'enable_multiple_write_locations': {'key': 'enableMultipleWriteLocations', 'type': 'bool'},
'enable_cassandra_connector': {'key': 'enableCassandraConnector', 'type': 'bool'},
'connector_offer': {'key': 'connectorOffer', 'type': 'str'},
'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'},
'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'},
'default_identity': {'key': 'defaultIdentity', 'type': 'str'},
'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'},
'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'},
'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'},
'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'},
'analytical_storage_configuration': {'key': 'analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'},
'cors': {'key': 'cors', 'type': '[CorsPolicy]'},
'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'},
'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'},
'diagnostic_log_settings': {'key': 'diagnosticLogSettings', 'type': 'DiagnosticLogSettings'},
'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
'restore_parameters': {'key': 'restoreParameters', 'type': 'RestoreParameters'},
}
_subtype_map = {
'create_mode': {'Default': 'DefaultRequestDatabaseAccountCreateUpdateProperties'}
}
database_account_offer_type = "Standard"
def __init__(
self,
*,
locations: List["Location"],
consistency_policy: Optional["ConsistencyPolicy"] = None,
ip_rules: Optional[List["IpAddressOrRange"]] = None,
is_virtual_network_filter_enabled: Optional[bool] = None,
enable_automatic_failover: Optional[bool] = None,
capabilities: Optional[List["Capability"]] = None,
virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None,
enable_multiple_write_locations: Optional[bool] = None,
enable_cassandra_connector: Optional[bool] = None,
connector_offer: Optional[Union[str, "ConnectorOffer"]] = None,
disable_key_based_metadata_write_access: Optional[bool] = None,
key_vault_key_uri: Optional[str] = None,
default_identity: Optional[str] = None,
public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None,
enable_free_tier: Optional[bool] = None,
api_properties: Optional["ApiProperties"] = None,
enable_analytical_storage: Optional[bool] = None,
analytical_storage_configuration: Optional["AnalyticalStorageConfiguration"] = None,
backup_policy: Optional["BackupPolicy"] = None,
cors: Optional[List["CorsPolicy"]] = None,
network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None,
network_acl_bypass_resource_ids: Optional[List[str]] = None,
diagnostic_log_settings: Optional["DiagnosticLogSettings"] = None,
disable_local_auth: Optional[bool] = None,
restore_parameters: Optional["RestoreParameters"] = None,
**kwargs
):
super(DatabaseAccountCreateUpdateProperties, self).__init__(**kwargs)
self.consistency_policy = consistency_policy
self.locations = locations
self.ip_rules = ip_rules
self.is_virtual_network_filter_enabled = is_virtual_network_filter_enabled
self.enable_automatic_failover = enable_automatic_failover
self.capabilities = capabilities
self.virtual_network_rules = virtual_network_rules
self.enable_multiple_write_locations = enable_multiple_write_locations
self.enable_cassandra_connector = enable_cassandra_connector
self.connector_offer = connector_offer
self.disable_key_based_metadata_write_access = disable_key_based_metadata_write_access
self.key_vault_key_uri = key_vault_key_uri
self.default_identity = default_identity
self.public_network_access = public_network_access
self.enable_free_tier = enable_free_tier
self.api_properties = api_properties
self.enable_analytical_storage = enable_analytical_storage
self.analytical_storage_configuration = analytical_storage_configuration
self.create_mode = None # type: Optional[str]
self.backup_policy = backup_policy
self.cors = cors
self.network_acl_bypass = network_acl_bypass
self.network_acl_bypass_resource_ids = network_acl_bypass_resource_ids
self.diagnostic_log_settings = diagnostic_log_settings
self.disable_local_auth = disable_local_auth
self.restore_parameters = restore_parameters
[docs]class DatabaseAccountGetResults(ARMResourceProperties):
"""An Azure Cosmos DB database account.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param kind: Indicates the type of database account. This can only be set at database account
creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse".
:type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind
:ivar system_data: The system meta data relating to this resource.
:vartype system_data: ~azure.mgmt.cosmosdb.models.SystemData
:ivar provisioning_state: The status of the Cosmos DB account at the time the operation was
called. The status can be one of following. 'Creating' – the Cosmos DB account is being
created. When an account is in Creating state, only properties that are specified as input for
the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is
active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB
account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' –
the Cosmos DB account deletion failed.
:vartype provisioning_state: str
:ivar document_endpoint: The connection endpoint for the Cosmos DB database account.
:vartype document_endpoint: str
:ivar database_account_offer_type: The offer type for the Cosmos DB database account. Default
value: Standard. The only acceptable values to pass in are None and "Standard". The default
value is None.
:vartype database_account_offer_type: str
:param ip_rules: List of IpRules.
:type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange]
:param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual
Network ACL rules.
:type is_virtual_network_filter_enabled: bool
:param enable_automatic_failover: Enables automatic failover of the write region in the rare
event that the region is unavailable due to an outage. Automatic failover will result in a new
write region for the account and is chosen based on the failover priorities configured for the
account.
:type enable_automatic_failover: bool
:param consistency_policy: The consistency policy for the Cosmos DB database account.
:type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy
:param capabilities: List of Cosmos DB capabilities for the account.
:type capabilities: list[~azure.mgmt.cosmosdb.models.Capability]
:ivar write_locations: An array that contains the write location for the Cosmos DB account.
:vartype write_locations: list[~azure.mgmt.cosmosdb.models.Location]
:ivar read_locations: An array that contains of the read locations enabled for the Cosmos DB
account.
:vartype read_locations: list[~azure.mgmt.cosmosdb.models.Location]
:ivar locations: An array that contains all of the locations enabled for the Cosmos DB account.
:vartype locations: list[~azure.mgmt.cosmosdb.models.Location]
:ivar failover_policies: An array that contains the regions ordered by their failover
priorities.
:vartype failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy]
:param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB
account.
:type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule]
:ivar private_endpoint_connections: List of Private Endpoint Connections configured for the
Cosmos DB account.
:vartype private_endpoint_connections:
list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection]
:param enable_multiple_write_locations: Enables the account to write in multiple locations.
:type enable_multiple_write_locations: bool
:param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account.
:type enable_cassandra_connector: bool
:param connector_offer: The cassandra connector offer type for the Cosmos DB database C*
account. Possible values include: "Small".
:type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer
:param disable_key_based_metadata_write_access: Disable write operations on metadata resources
(databases, containers, throughput) via account keys.
:type disable_key_based_metadata_write_access: bool
:param key_vault_key_uri: The URI of the key vault.
:type key_vault_key_uri: str
:param default_identity: The default identity for accessing key vault used in features like
customer managed keys. The default identity needs to be explicitly set by the users. It can be
"FirstPartyIdentity", "SystemAssignedIdentity" and more.
:type default_identity: str
:param public_network_access: Whether requests from Public Network are allowed. Possible values
include: "Enabled", "Disabled".
:type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess
:param enable_free_tier: Flag to indicate whether Free Tier is enabled.
:type enable_free_tier: bool
:param api_properties: API specific properties.
:type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties
:param enable_analytical_storage: Flag to indicate whether to enable storage analytics.
:type enable_analytical_storage: bool
:param analytical_storage_configuration: Analytical storage specific properties.
:type analytical_storage_configuration:
~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration
:ivar instance_id: A unique identifier assigned to the database account.
:vartype instance_id: str
:param create_mode: Enum to indicate the mode of account creation. Possible values include:
"Default", "Restore". Default value: "Default".
:type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode
:param restore_parameters: Parameters to indicate the information about the restore.
:type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters
:param backup_policy: The object representing the policy for taking backups on an account.
:type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy
:param cors: The CORS policy for the Cosmos DB database account.
:type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy]
:param network_acl_bypass: Indicates what services are allowed to bypass firewall checks.
Possible values include: "None", "AzureServices".
:type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass
:param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl
Bypass for the Cosmos DB account.
:type network_acl_bypass_resource_ids: list[str]
:param diagnostic_log_settings: The Object representing the different Diagnostic log settings
for the Cosmos DB Account.
:type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings
:param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be
used exclusively for authentication.
:type disable_local_auth: bool
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'system_data': {'readonly': True},
'provisioning_state': {'readonly': True},
'document_endpoint': {'readonly': True},
'database_account_offer_type': {'readonly': True},
'write_locations': {'readonly': True},
'read_locations': {'readonly': True},
'locations': {'readonly': True},
'failover_policies': {'readonly': True},
'private_endpoint_connections': {'readonly': True},
'instance_id': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'kind': {'key': 'kind', 'type': 'str'},
'system_data': {'key': 'systemData', 'type': 'SystemData'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'document_endpoint': {'key': 'properties.documentEndpoint', 'type': 'str'},
'database_account_offer_type': {'key': 'properties.databaseAccountOfferType', 'type': 'str'},
'ip_rules': {'key': 'properties.ipRules', 'type': '[IpAddressOrRange]'},
'is_virtual_network_filter_enabled': {'key': 'properties.isVirtualNetworkFilterEnabled', 'type': 'bool'},
'enable_automatic_failover': {'key': 'properties.enableAutomaticFailover', 'type': 'bool'},
'consistency_policy': {'key': 'properties.consistencyPolicy', 'type': 'ConsistencyPolicy'},
'capabilities': {'key': 'properties.capabilities', 'type': '[Capability]'},
'write_locations': {'key': 'properties.writeLocations', 'type': '[Location]'},
'read_locations': {'key': 'properties.readLocations', 'type': '[Location]'},
'locations': {'key': 'properties.locations', 'type': '[Location]'},
'failover_policies': {'key': 'properties.failoverPolicies', 'type': '[FailoverPolicy]'},
'virtual_network_rules': {'key': 'properties.virtualNetworkRules', 'type': '[VirtualNetworkRule]'},
'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'},
'enable_multiple_write_locations': {'key': 'properties.enableMultipleWriteLocations', 'type': 'bool'},
'enable_cassandra_connector': {'key': 'properties.enableCassandraConnector', 'type': 'bool'},
'connector_offer': {'key': 'properties.connectorOffer', 'type': 'str'},
'disable_key_based_metadata_write_access': {'key': 'properties.disableKeyBasedMetadataWriteAccess', 'type': 'bool'},
'key_vault_key_uri': {'key': 'properties.keyVaultKeyUri', 'type': 'str'},
'default_identity': {'key': 'properties.defaultIdentity', 'type': 'str'},
'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'},
'enable_free_tier': {'key': 'properties.enableFreeTier', 'type': 'bool'},
'api_properties': {'key': 'properties.apiProperties', 'type': 'ApiProperties'},
'enable_analytical_storage': {'key': 'properties.enableAnalyticalStorage', 'type': 'bool'},
'analytical_storage_configuration': {'key': 'properties.analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'},
'instance_id': {'key': 'properties.instanceId', 'type': 'str'},
'create_mode': {'key': 'properties.createMode', 'type': 'str'},
'restore_parameters': {'key': 'properties.restoreParameters', 'type': 'RestoreParameters'},
'backup_policy': {'key': 'properties.backupPolicy', 'type': 'BackupPolicy'},
'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'},
'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'},
'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'},
'diagnostic_log_settings': {'key': 'properties.diagnosticLogSettings', 'type': 'DiagnosticLogSettings'},
'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
kind: Optional[Union[str, "DatabaseAccountKind"]] = None,
ip_rules: Optional[List["IpAddressOrRange"]] = None,
is_virtual_network_filter_enabled: Optional[bool] = None,
enable_automatic_failover: Optional[bool] = None,
consistency_policy: Optional["ConsistencyPolicy"] = None,
capabilities: Optional[List["Capability"]] = None,
virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None,
enable_multiple_write_locations: Optional[bool] = None,
enable_cassandra_connector: Optional[bool] = None,
connector_offer: Optional[Union[str, "ConnectorOffer"]] = None,
disable_key_based_metadata_write_access: Optional[bool] = None,
key_vault_key_uri: Optional[str] = None,
default_identity: Optional[str] = None,
public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None,
enable_free_tier: Optional[bool] = None,
api_properties: Optional["ApiProperties"] = None,
enable_analytical_storage: Optional[bool] = None,
analytical_storage_configuration: Optional["AnalyticalStorageConfiguration"] = None,
create_mode: Optional[Union[str, "CreateMode"]] = "Default",
restore_parameters: Optional["RestoreParameters"] = None,
backup_policy: Optional["BackupPolicy"] = None,
cors: Optional[List["CorsPolicy"]] = None,
network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None,
network_acl_bypass_resource_ids: Optional[List[str]] = None,
diagnostic_log_settings: Optional["DiagnosticLogSettings"] = None,
disable_local_auth: Optional[bool] = None,
**kwargs
):
super(DatabaseAccountGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.kind = kind
self.system_data = None
self.provisioning_state = None
self.document_endpoint = None
self.database_account_offer_type = None
self.ip_rules = ip_rules
self.is_virtual_network_filter_enabled = is_virtual_network_filter_enabled
self.enable_automatic_failover = enable_automatic_failover
self.consistency_policy = consistency_policy
self.capabilities = capabilities
self.write_locations = None
self.read_locations = None
self.locations = None
self.failover_policies = None
self.virtual_network_rules = virtual_network_rules
self.private_endpoint_connections = None
self.enable_multiple_write_locations = enable_multiple_write_locations
self.enable_cassandra_connector = enable_cassandra_connector
self.connector_offer = connector_offer
self.disable_key_based_metadata_write_access = disable_key_based_metadata_write_access
self.key_vault_key_uri = key_vault_key_uri
self.default_identity = default_identity
self.public_network_access = public_network_access
self.enable_free_tier = enable_free_tier
self.api_properties = api_properties
self.enable_analytical_storage = enable_analytical_storage
self.analytical_storage_configuration = analytical_storage_configuration
self.instance_id = None
self.create_mode = create_mode
self.restore_parameters = restore_parameters
self.backup_policy = backup_policy
self.cors = cors
self.network_acl_bypass = network_acl_bypass
self.network_acl_bypass_resource_ids = network_acl_bypass_resource_ids
self.diagnostic_log_settings = diagnostic_log_settings
self.disable_local_auth = disable_local_auth
[docs]class DatabaseAccountListConnectionStringsResult(msrest.serialization.Model):
"""The connection strings for the given database account.
:param connection_strings: An array that contains the connection strings for the Cosmos DB
account.
:type connection_strings: list[~azure.mgmt.cosmosdb.models.DatabaseAccountConnectionString]
"""
_attribute_map = {
'connection_strings': {'key': 'connectionStrings', 'type': '[DatabaseAccountConnectionString]'},
}
def __init__(
self,
*,
connection_strings: Optional[List["DatabaseAccountConnectionString"]] = None,
**kwargs
):
super(DatabaseAccountListConnectionStringsResult, self).__init__(**kwargs)
self.connection_strings = connection_strings
[docs]class DatabaseAccountListReadOnlyKeysResult(msrest.serialization.Model):
"""The read-only access keys for the given database account.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar primary_readonly_master_key: Base 64 encoded value of the primary read-only key.
:vartype primary_readonly_master_key: str
:ivar secondary_readonly_master_key: Base 64 encoded value of the secondary read-only key.
:vartype secondary_readonly_master_key: str
"""
_validation = {
'primary_readonly_master_key': {'readonly': True},
'secondary_readonly_master_key': {'readonly': True},
}
_attribute_map = {
'primary_readonly_master_key': {'key': 'primaryReadonlyMasterKey', 'type': 'str'},
'secondary_readonly_master_key': {'key': 'secondaryReadonlyMasterKey', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(DatabaseAccountListReadOnlyKeysResult, self).__init__(**kwargs)
self.primary_readonly_master_key = None
self.secondary_readonly_master_key = None
[docs]class DatabaseAccountListKeysResult(DatabaseAccountListReadOnlyKeysResult):
"""The access keys for the given database account.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar primary_readonly_master_key: Base 64 encoded value of the primary read-only key.
:vartype primary_readonly_master_key: str
:ivar secondary_readonly_master_key: Base 64 encoded value of the secondary read-only key.
:vartype secondary_readonly_master_key: str
:ivar primary_master_key: Base 64 encoded value of the primary read-write key.
:vartype primary_master_key: str
:ivar secondary_master_key: Base 64 encoded value of the secondary read-write key.
:vartype secondary_master_key: str
"""
_validation = {
'primary_readonly_master_key': {'readonly': True},
'secondary_readonly_master_key': {'readonly': True},
'primary_master_key': {'readonly': True},
'secondary_master_key': {'readonly': True},
}
_attribute_map = {
'primary_readonly_master_key': {'key': 'primaryReadonlyMasterKey', 'type': 'str'},
'secondary_readonly_master_key': {'key': 'secondaryReadonlyMasterKey', 'type': 'str'},
'primary_master_key': {'key': 'primaryMasterKey', 'type': 'str'},
'secondary_master_key': {'key': 'secondaryMasterKey', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(DatabaseAccountListKeysResult, self).__init__(**kwargs)
self.primary_master_key = None
self.secondary_master_key = None
[docs]class DatabaseAccountRegenerateKeyParameters(msrest.serialization.Model):
"""Parameters to regenerate the keys within the database account.
All required parameters must be populated in order to send to Azure.
:param key_kind: Required. The access key to regenerate. Possible values include: "primary",
"secondary", "primaryReadonly", "secondaryReadonly".
:type key_kind: str or ~azure.mgmt.cosmosdb.models.KeyKind
"""
_validation = {
'key_kind': {'required': True},
}
_attribute_map = {
'key_kind': {'key': 'keyKind', 'type': 'str'},
}
def __init__(
self,
*,
key_kind: Union[str, "KeyKind"],
**kwargs
):
super(DatabaseAccountRegenerateKeyParameters, self).__init__(**kwargs)
self.key_kind = key_kind
[docs]class DatabaseAccountsListResult(msrest.serialization.Model):
"""The List operation response, that contains the database accounts and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of database account and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[DatabaseAccountGetResults]'},
}
def __init__(
self,
**kwargs
):
super(DatabaseAccountsListResult, self).__init__(**kwargs)
self.value = None
[docs]class DatabaseAccountUpdateParameters(msrest.serialization.Model):
"""Parameters for patching Azure Cosmos DB database account properties.
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param consistency_policy: The consistency policy for the Cosmos DB account.
:type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy
:param locations: An array that contains the georeplication locations enabled for the Cosmos DB
account.
:type locations: list[~azure.mgmt.cosmosdb.models.Location]
:param ip_rules: List of IpRules.
:type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange]
:param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual
Network ACL rules.
:type is_virtual_network_filter_enabled: bool
:param enable_automatic_failover: Enables automatic failover of the write region in the rare
event that the region is unavailable due to an outage. Automatic failover will result in a new
write region for the account and is chosen based on the failover priorities configured for the
account.
:type enable_automatic_failover: bool
:param capabilities: List of Cosmos DB capabilities for the account.
:type capabilities: list[~azure.mgmt.cosmosdb.models.Capability]
:param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB
account.
:type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule]
:param enable_multiple_write_locations: Enables the account to write in multiple locations.
:type enable_multiple_write_locations: bool
:param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account.
:type enable_cassandra_connector: bool
:param connector_offer: The cassandra connector offer type for the Cosmos DB database C*
account. Possible values include: "Small".
:type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer
:param disable_key_based_metadata_write_access: Disable write operations on metadata resources
(databases, containers, throughput) via account keys.
:type disable_key_based_metadata_write_access: bool
:param key_vault_key_uri: The URI of the key vault.
:type key_vault_key_uri: str
:param default_identity: The default identity for accessing key vault used in features like
customer managed keys. The default identity needs to be explicitly set by the users. It can be
"FirstPartyIdentity", "SystemAssignedIdentity" and more.
:type default_identity: str
:param public_network_access: Whether requests from Public Network are allowed. Possible values
include: "Enabled", "Disabled".
:type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess
:param enable_free_tier: Flag to indicate whether Free Tier is enabled.
:type enable_free_tier: bool
:param api_properties: API specific properties. Currently, supported only for MongoDB API.
:type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties
:param enable_analytical_storage: Flag to indicate whether to enable storage analytics.
:type enable_analytical_storage: bool
:param analytical_storage_configuration: Analytical storage specific properties.
:type analytical_storage_configuration:
~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration
:param backup_policy: The object representing the policy for taking backups on an account.
:type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy
:param cors: The CORS policy for the Cosmos DB database account.
:type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy]
:param network_acl_bypass: Indicates what services are allowed to bypass firewall checks.
Possible values include: "None", "AzureServices".
:type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass
:param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl
Bypass for the Cosmos DB account.
:type network_acl_bypass_resource_ids: list[str]
:param diagnostic_log_settings: The Object representing the different Diagnostic log settings
for the Cosmos DB Account.
:type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings
:param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be
used exclusively for authentication.
:type disable_local_auth: bool
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
'location': {'key': 'location', 'type': 'str'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'consistency_policy': {'key': 'properties.consistencyPolicy', 'type': 'ConsistencyPolicy'},
'locations': {'key': 'properties.locations', 'type': '[Location]'},
'ip_rules': {'key': 'properties.ipRules', 'type': '[IpAddressOrRange]'},
'is_virtual_network_filter_enabled': {'key': 'properties.isVirtualNetworkFilterEnabled', 'type': 'bool'},
'enable_automatic_failover': {'key': 'properties.enableAutomaticFailover', 'type': 'bool'},
'capabilities': {'key': 'properties.capabilities', 'type': '[Capability]'},
'virtual_network_rules': {'key': 'properties.virtualNetworkRules', 'type': '[VirtualNetworkRule]'},
'enable_multiple_write_locations': {'key': 'properties.enableMultipleWriteLocations', 'type': 'bool'},
'enable_cassandra_connector': {'key': 'properties.enableCassandraConnector', 'type': 'bool'},
'connector_offer': {'key': 'properties.connectorOffer', 'type': 'str'},
'disable_key_based_metadata_write_access': {'key': 'properties.disableKeyBasedMetadataWriteAccess', 'type': 'bool'},
'key_vault_key_uri': {'key': 'properties.keyVaultKeyUri', 'type': 'str'},
'default_identity': {'key': 'properties.defaultIdentity', 'type': 'str'},
'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'},
'enable_free_tier': {'key': 'properties.enableFreeTier', 'type': 'bool'},
'api_properties': {'key': 'properties.apiProperties', 'type': 'ApiProperties'},
'enable_analytical_storage': {'key': 'properties.enableAnalyticalStorage', 'type': 'bool'},
'analytical_storage_configuration': {'key': 'properties.analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'},
'backup_policy': {'key': 'properties.backupPolicy', 'type': 'BackupPolicy'},
'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'},
'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'},
'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'},
'diagnostic_log_settings': {'key': 'properties.diagnosticLogSettings', 'type': 'DiagnosticLogSettings'},
'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'},
}
def __init__(
self,
*,
tags: Optional[Dict[str, str]] = None,
location: Optional[str] = None,
identity: Optional["ManagedServiceIdentity"] = None,
consistency_policy: Optional["ConsistencyPolicy"] = None,
locations: Optional[List["Location"]] = None,
ip_rules: Optional[List["IpAddressOrRange"]] = None,
is_virtual_network_filter_enabled: Optional[bool] = None,
enable_automatic_failover: Optional[bool] = None,
capabilities: Optional[List["Capability"]] = None,
virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None,
enable_multiple_write_locations: Optional[bool] = None,
enable_cassandra_connector: Optional[bool] = None,
connector_offer: Optional[Union[str, "ConnectorOffer"]] = None,
disable_key_based_metadata_write_access: Optional[bool] = None,
key_vault_key_uri: Optional[str] = None,
default_identity: Optional[str] = None,
public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None,
enable_free_tier: Optional[bool] = None,
api_properties: Optional["ApiProperties"] = None,
enable_analytical_storage: Optional[bool] = None,
analytical_storage_configuration: Optional["AnalyticalStorageConfiguration"] = None,
backup_policy: Optional["BackupPolicy"] = None,
cors: Optional[List["CorsPolicy"]] = None,
network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None,
network_acl_bypass_resource_ids: Optional[List[str]] = None,
diagnostic_log_settings: Optional["DiagnosticLogSettings"] = None,
disable_local_auth: Optional[bool] = None,
**kwargs
):
super(DatabaseAccountUpdateParameters, self).__init__(**kwargs)
self.tags = tags
self.location = location
self.identity = identity
self.consistency_policy = consistency_policy
self.locations = locations
self.ip_rules = ip_rules
self.is_virtual_network_filter_enabled = is_virtual_network_filter_enabled
self.enable_automatic_failover = enable_automatic_failover
self.capabilities = capabilities
self.virtual_network_rules = virtual_network_rules
self.enable_multiple_write_locations = enable_multiple_write_locations
self.enable_cassandra_connector = enable_cassandra_connector
self.connector_offer = connector_offer
self.disable_key_based_metadata_write_access = disable_key_based_metadata_write_access
self.key_vault_key_uri = key_vault_key_uri
self.default_identity = default_identity
self.public_network_access = public_network_access
self.enable_free_tier = enable_free_tier
self.api_properties = api_properties
self.enable_analytical_storage = enable_analytical_storage
self.analytical_storage_configuration = analytical_storage_configuration
self.backup_policy = backup_policy
self.cors = cors
self.network_acl_bypass = network_acl_bypass
self.network_acl_bypass_resource_ids = network_acl_bypass_resource_ids
self.diagnostic_log_settings = diagnostic_log_settings
self.disable_local_auth = disable_local_auth
[docs]class DatabaseRestoreResource(msrest.serialization.Model):
"""Specific Databases to restore.
:param database_name: The name of the database available for restore.
:type database_name: str
:param collection_names: The names of the collections available for restore.
:type collection_names: list[str]
"""
_attribute_map = {
'database_name': {'key': 'databaseName', 'type': 'str'},
'collection_names': {'key': 'collectionNames', 'type': '[str]'},
}
def __init__(
self,
*,
database_name: Optional[str] = None,
collection_names: Optional[List[str]] = None,
**kwargs
):
super(DatabaseRestoreResource, self).__init__(**kwargs)
self.database_name = database_name
self.collection_names = collection_names
[docs]class DataCenterResource(ARMProxyResource):
"""A managed Cassandra data center.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the database account.
:vartype id: str
:ivar name: The name of the database account.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param properties: Properties of a managed Cassandra data center.
:type properties: ~azure.mgmt.cosmosdb.models.DataCenterResourceProperties
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'DataCenterResourceProperties'},
}
def __init__(
self,
*,
properties: Optional["DataCenterResourceProperties"] = None,
**kwargs
):
super(DataCenterResource, self).__init__(**kwargs)
self.properties = properties
[docs]class DataCenterResourceProperties(msrest.serialization.Model):
"""Properties of a managed Cassandra data center.
Variables are only populated by the server, and will be ignored when sending a request.
:param provisioning_state: The status of the resource at the time the operation was called.
Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled".
:type provisioning_state: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState
:param data_center_location: The region this data center should be created in.
:type data_center_location: str
:param delegated_subnet_id: Resource id of a subnet the nodes in this data center should have
their network interfaces connected to. The subnet must be in the same region specified in
'dataCenterLocation' and must be able to route to the subnet specified in the cluster's
'delegatedManagementSubnetId' property. This resource id will be of the form
'/subscriptions/:code:`<subscription id>`/resourceGroups/:code:`<resource
group>`/providers/Microsoft.Network/virtualNetworks/:code:`<virtual
network>`/subnets/:code:`<subnet>`'.
:type delegated_subnet_id: str
:param node_count: The number of nodes the data center should have. This is the desired number.
After it is set, it may take some time for the data center to be scaled to match. To monitor
the number of nodes and their status, use the fetchNodeStatus method on the cluster.
:type node_count: int
:ivar seed_nodes: IP addresses for seed nodes in this data center. This is for reference.
Generally you will want to use the seedNodes property on the cluster, which aggregates the seed
nodes from all data centers in the cluster.
:vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode]
:param base64_encoded_cassandra_yaml_fragment: A fragment of a cassandra.yaml configuration
file to be included in the cassandra.yaml for all nodes in this data center. The fragment
should be Base64 encoded, and only a subset of keys are allowed.
:type base64_encoded_cassandra_yaml_fragment: str
"""
_validation = {
'seed_nodes': {'readonly': True},
}
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'data_center_location': {'key': 'dataCenterLocation', 'type': 'str'},
'delegated_subnet_id': {'key': 'delegatedSubnetId', 'type': 'str'},
'node_count': {'key': 'nodeCount', 'type': 'int'},
'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'},
'base64_encoded_cassandra_yaml_fragment': {'key': 'base64EncodedCassandraYamlFragment', 'type': 'str'},
}
def __init__(
self,
*,
provisioning_state: Optional[Union[str, "ManagedCassandraProvisioningState"]] = None,
data_center_location: Optional[str] = None,
delegated_subnet_id: Optional[str] = None,
node_count: Optional[int] = None,
base64_encoded_cassandra_yaml_fragment: Optional[str] = None,
**kwargs
):
super(DataCenterResourceProperties, self).__init__(**kwargs)
self.provisioning_state = provisioning_state
self.data_center_location = data_center_location
self.delegated_subnet_id = delegated_subnet_id
self.node_count = node_count
self.seed_nodes = None
self.base64_encoded_cassandra_yaml_fragment = base64_encoded_cassandra_yaml_fragment
[docs]class RegionalServiceResource(msrest.serialization.Model):
"""Resource for a regional service location.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar name: The regional service name.
:vartype name: str
:ivar location: The location name.
:vartype location: str
:ivar status: Describes the status of a service. Possible values include: "Creating",
"Running", "Updating", "Deleting", "Error", "Stopped".
:vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus
"""
_validation = {
'name': {'readonly': True},
'location': {'readonly': True},
'status': {'readonly': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(RegionalServiceResource, self).__init__(**kwargs)
self.name = None
self.location = None
self.status = None
[docs]class DataTransferRegionalServiceResource(RegionalServiceResource):
"""Resource for a regional service location.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar name: The regional service name.
:vartype name: str
:ivar location: The location name.
:vartype location: str
:ivar status: Describes the status of a service. Possible values include: "Creating",
"Running", "Updating", "Deleting", "Error", "Stopped".
:vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus
"""
_validation = {
'name': {'readonly': True},
'location': {'readonly': True},
'status': {'readonly': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(DataTransferRegionalServiceResource, self).__init__(**kwargs)
[docs]class DataTransferServiceResource(msrest.serialization.Model):
"""Describes the service response property.
:param properties: Properties for DataTransferServiceResource.
:type properties: ~azure.mgmt.cosmosdb.models.DataTransferServiceResourceProperties
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'DataTransferServiceResourceProperties'},
}
def __init__(
self,
*,
properties: Optional["DataTransferServiceResourceProperties"] = None,
**kwargs
):
super(DataTransferServiceResource, self).__init__(**kwargs)
self.properties = properties
[docs]class ServiceResourceProperties(msrest.serialization.Model):
"""Services response resource.
You probably want to use the sub-classes and not this class directly. Known
sub-classes are: DataTransferServiceResourceProperties, GraphAPIComputeServiceResourceProperties, SqlDedicatedGatewayServiceResourceProperties.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param additional_properties: Unmatched properties from the message are deserialized to this
collection.
:type additional_properties: dict[str, any]
:ivar creation_time: Time of the last state change (ISO-8601 format).
:vartype creation_time: ~datetime.datetime
:param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s",
"Cosmos.D8s", "Cosmos.D16s".
:type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize
:param instance_count: Instance count for the service.
:type instance_count: int
:param service_type: Required. ServiceType for the service.Constant filled by server. Possible
values include: "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute".
:type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType
:ivar status: Describes the status of a service. Possible values include: "Creating",
"Running", "Updating", "Deleting", "Error", "Stopped".
:vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus
"""
_validation = {
'creation_time': {'readonly': True},
'instance_count': {'minimum': 0},
'service_type': {'required': True},
'status': {'readonly': True},
}
_attribute_map = {
'additional_properties': {'key': '', 'type': '{object}'},
'creation_time': {'key': 'creationTime', 'type': 'iso-8601'},
'instance_size': {'key': 'instanceSize', 'type': 'str'},
'instance_count': {'key': 'instanceCount', 'type': 'int'},
'service_type': {'key': 'serviceType', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
}
_subtype_map = {
'service_type': {'DataTransfer': 'DataTransferServiceResourceProperties', 'GraphAPICompute': 'GraphAPIComputeServiceResourceProperties', 'SqlDedicatedGateway': 'SqlDedicatedGatewayServiceResourceProperties'}
}
def __init__(
self,
*,
additional_properties: Optional[Dict[str, Any]] = None,
instance_size: Optional[Union[str, "ServiceSize"]] = None,
instance_count: Optional[int] = None,
**kwargs
):
super(ServiceResourceProperties, self).__init__(**kwargs)
self.additional_properties = additional_properties
self.creation_time = None
self.instance_size = instance_size
self.instance_count = instance_count
self.service_type = 'ServiceResourceProperties' # type: str
self.status = None
[docs]class DataTransferServiceResourceProperties(ServiceResourceProperties):
"""Properties for DataTransferServiceResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param additional_properties: Unmatched properties from the message are deserialized to this
collection.
:type additional_properties: dict[str, any]
:ivar creation_time: Time of the last state change (ISO-8601 format).
:vartype creation_time: ~datetime.datetime
:param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s",
"Cosmos.D8s", "Cosmos.D16s".
:type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize
:param instance_count: Instance count for the service.
:type instance_count: int
:param service_type: Required. ServiceType for the service.Constant filled by server. Possible
values include: "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute".
:type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType
:ivar status: Describes the status of a service. Possible values include: "Creating",
"Running", "Updating", "Deleting", "Error", "Stopped".
:vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus
:ivar locations: An array that contains all of the locations for the service.
:vartype locations: list[~azure.mgmt.cosmosdb.models.DataTransferRegionalServiceResource]
"""
_validation = {
'creation_time': {'readonly': True},
'instance_count': {'minimum': 0},
'service_type': {'required': True},
'status': {'readonly': True},
'locations': {'readonly': True},
}
_attribute_map = {
'additional_properties': {'key': '', 'type': '{object}'},
'creation_time': {'key': 'creationTime', 'type': 'iso-8601'},
'instance_size': {'key': 'instanceSize', 'type': 'str'},
'instance_count': {'key': 'instanceCount', 'type': 'int'},
'service_type': {'key': 'serviceType', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'locations': {'key': 'locations', 'type': '[DataTransferRegionalServiceResource]'},
}
def __init__(
self,
*,
additional_properties: Optional[Dict[str, Any]] = None,
instance_size: Optional[Union[str, "ServiceSize"]] = None,
instance_count: Optional[int] = None,
**kwargs
):
super(DataTransferServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, **kwargs)
self.service_type = 'DataTransfer' # type: str
self.locations = None
[docs]class DefaultRequestDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateUpdateProperties):
"""Properties for non-restore Azure Cosmos DB database account requests.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param consistency_policy: The consistency policy for the Cosmos DB account.
:type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy
:param locations: Required. An array that contains the georeplication locations enabled for the
Cosmos DB account.
:type locations: list[~azure.mgmt.cosmosdb.models.Location]
:ivar database_account_offer_type: The offer type for the database. Has constant value:
"Standard".
:vartype database_account_offer_type: str
:param ip_rules: List of IpRules.
:type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange]
:param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual
Network ACL rules.
:type is_virtual_network_filter_enabled: bool
:param enable_automatic_failover: Enables automatic failover of the write region in the rare
event that the region is unavailable due to an outage. Automatic failover will result in a new
write region for the account and is chosen based on the failover priorities configured for the
account.
:type enable_automatic_failover: bool
:param capabilities: List of Cosmos DB capabilities for the account.
:type capabilities: list[~azure.mgmt.cosmosdb.models.Capability]
:param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB
account.
:type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule]
:param enable_multiple_write_locations: Enables the account to write in multiple locations.
:type enable_multiple_write_locations: bool
:param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account.
:type enable_cassandra_connector: bool
:param connector_offer: The cassandra connector offer type for the Cosmos DB database C*
account. Possible values include: "Small".
:type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer
:param disable_key_based_metadata_write_access: Disable write operations on metadata resources
(databases, containers, throughput) via account keys.
:type disable_key_based_metadata_write_access: bool
:param key_vault_key_uri: The URI of the key vault.
:type key_vault_key_uri: str
:param default_identity: The default identity for accessing key vault used in features like
customer managed keys. The default identity needs to be explicitly set by the users. It can be
"FirstPartyIdentity", "SystemAssignedIdentity" and more.
:type default_identity: str
:param public_network_access: Whether requests from Public Network are allowed. Possible values
include: "Enabled", "Disabled".
:type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess
:param enable_free_tier: Flag to indicate whether Free Tier is enabled.
:type enable_free_tier: bool
:param api_properties: API specific properties. Currently, supported only for MongoDB API.
:type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties
:param enable_analytical_storage: Flag to indicate whether to enable storage analytics.
:type enable_analytical_storage: bool
:param analytical_storage_configuration: Analytical storage specific properties.
:type analytical_storage_configuration:
~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration
:param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by
server. Possible values include: "Default", "Restore". Default value: "Default".
:type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode
:param backup_policy: The object representing the policy for taking backups on an account.
:type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy
:param cors: The CORS policy for the Cosmos DB database account.
:type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy]
:param network_acl_bypass: Indicates what services are allowed to bypass firewall checks.
Possible values include: "None", "AzureServices".
:type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass
:param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl
Bypass for the Cosmos DB account.
:type network_acl_bypass_resource_ids: list[str]
:param diagnostic_log_settings: The Object representing the different Diagnostic log settings
for the Cosmos DB Account.
:type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings
:param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be
used exclusively for authentication.
:type disable_local_auth: bool
:param restore_parameters: Parameters to indicate the information about the restore.
:type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters
"""
_validation = {
'locations': {'required': True},
'database_account_offer_type': {'required': True, 'constant': True},
'create_mode': {'required': True},
}
_attribute_map = {
'consistency_policy': {'key': 'consistencyPolicy', 'type': 'ConsistencyPolicy'},
'locations': {'key': 'locations', 'type': '[Location]'},
'database_account_offer_type': {'key': 'databaseAccountOfferType', 'type': 'str'},
'ip_rules': {'key': 'ipRules', 'type': '[IpAddressOrRange]'},
'is_virtual_network_filter_enabled': {'key': 'isVirtualNetworkFilterEnabled', 'type': 'bool'},
'enable_automatic_failover': {'key': 'enableAutomaticFailover', 'type': 'bool'},
'capabilities': {'key': 'capabilities', 'type': '[Capability]'},
'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'},
'enable_multiple_write_locations': {'key': 'enableMultipleWriteLocations', 'type': 'bool'},
'enable_cassandra_connector': {'key': 'enableCassandraConnector', 'type': 'bool'},
'connector_offer': {'key': 'connectorOffer', 'type': 'str'},
'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'},
'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'},
'default_identity': {'key': 'defaultIdentity', 'type': 'str'},
'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'},
'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'},
'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'},
'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'},
'analytical_storage_configuration': {'key': 'analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'},
'create_mode': {'key': 'createMode', 'type': 'str'},
'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'},
'cors': {'key': 'cors', 'type': '[CorsPolicy]'},
'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'},
'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'},
'diagnostic_log_settings': {'key': 'diagnosticLogSettings', 'type': 'DiagnosticLogSettings'},
'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
'restore_parameters': {'key': 'restoreParameters', 'type': 'RestoreParameters'},
}
database_account_offer_type = "Standard"
def __init__(
self,
*,
locations: List["Location"],
consistency_policy: Optional["ConsistencyPolicy"] = None,
ip_rules: Optional[List["IpAddressOrRange"]] = None,
is_virtual_network_filter_enabled: Optional[bool] = None,
enable_automatic_failover: Optional[bool] = None,
capabilities: Optional[List["Capability"]] = None,
virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None,
enable_multiple_write_locations: Optional[bool] = None,
enable_cassandra_connector: Optional[bool] = None,
connector_offer: Optional[Union[str, "ConnectorOffer"]] = None,
disable_key_based_metadata_write_access: Optional[bool] = None,
key_vault_key_uri: Optional[str] = None,
default_identity: Optional[str] = None,
public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None,
enable_free_tier: Optional[bool] = None,
api_properties: Optional["ApiProperties"] = None,
enable_analytical_storage: Optional[bool] = None,
analytical_storage_configuration: Optional["AnalyticalStorageConfiguration"] = None,
backup_policy: Optional["BackupPolicy"] = None,
cors: Optional[List["CorsPolicy"]] = None,
network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None,
network_acl_bypass_resource_ids: Optional[List[str]] = None,
diagnostic_log_settings: Optional["DiagnosticLogSettings"] = None,
disable_local_auth: Optional[bool] = None,
restore_parameters: Optional["RestoreParameters"] = None,
**kwargs
):
super(DefaultRequestDatabaseAccountCreateUpdateProperties, self).__init__(consistency_policy=consistency_policy, locations=locations, ip_rules=ip_rules, is_virtual_network_filter_enabled=is_virtual_network_filter_enabled, enable_automatic_failover=enable_automatic_failover, capabilities=capabilities, virtual_network_rules=virtual_network_rules, enable_multiple_write_locations=enable_multiple_write_locations, enable_cassandra_connector=enable_cassandra_connector, connector_offer=connector_offer, disable_key_based_metadata_write_access=disable_key_based_metadata_write_access, key_vault_key_uri=key_vault_key_uri, default_identity=default_identity, public_network_access=public_network_access, enable_free_tier=enable_free_tier, api_properties=api_properties, enable_analytical_storage=enable_analytical_storage, analytical_storage_configuration=analytical_storage_configuration, backup_policy=backup_policy, cors=cors, network_acl_bypass=network_acl_bypass, network_acl_bypass_resource_ids=network_acl_bypass_resource_ids, diagnostic_log_settings=diagnostic_log_settings, disable_local_auth=disable_local_auth, restore_parameters=restore_parameters, **kwargs)
self.create_mode = 'Default' # type: str
[docs]class DiagnosticLogSettings(msrest.serialization.Model):
"""Indicates what diagnostic log settings are to be enabled.
:param enable_full_text_query: Describe the level of detail with which queries are to be
logged. Possible values include: "None", "True", "False".
:type enable_full_text_query: str or ~azure.mgmt.cosmosdb.models.EnableFullTextQuery
"""
_attribute_map = {
'enable_full_text_query': {'key': 'enableFullTextQuery', 'type': 'str'},
}
def __init__(
self,
*,
enable_full_text_query: Optional[Union[str, "EnableFullTextQuery"]] = None,
**kwargs
):
super(DiagnosticLogSettings, self).__init__(**kwargs)
self.enable_full_text_query = enable_full_text_query
[docs]class ErrorResponse(msrest.serialization.Model):
"""Error Response.
:param code: Error code.
:type code: str
:param message: Error message indicating why the operation failed.
:type message: str
"""
_attribute_map = {
'code': {'key': 'code', 'type': 'str'},
'message': {'key': 'message', 'type': 'str'},
}
def __init__(
self,
*,
code: Optional[str] = None,
message: Optional[str] = None,
**kwargs
):
super(ErrorResponse, self).__init__(**kwargs)
self.code = code
self.message = message
[docs]class ExcludedPath(msrest.serialization.Model):
"""ExcludedPath.
:param path: The path for which the indexing behavior applies to. Index paths typically start
with root and end with wildcard (/path/*).
:type path: str
"""
_attribute_map = {
'path': {'key': 'path', 'type': 'str'},
}
def __init__(
self,
*,
path: Optional[str] = None,
**kwargs
):
super(ExcludedPath, self).__init__(**kwargs)
self.path = path
[docs]class FailoverPolicies(msrest.serialization.Model):
"""The list of new failover policies for the failover priority change.
All required parameters must be populated in order to send to Azure.
:param failover_policies: Required. List of failover policies.
:type failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy]
"""
_validation = {
'failover_policies': {'required': True},
}
_attribute_map = {
'failover_policies': {'key': 'failoverPolicies', 'type': '[FailoverPolicy]'},
}
def __init__(
self,
*,
failover_policies: List["FailoverPolicy"],
**kwargs
):
super(FailoverPolicies, self).__init__(**kwargs)
self.failover_policies = failover_policies
[docs]class FailoverPolicy(msrest.serialization.Model):
"""The failover policy for a given region of a database account.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique identifier of the region in which the database account replicates to.
Example: <accountName>-<locationName>.
:vartype id: str
:param location_name: The name of the region in which the database account exists.
:type location_name: str
:param failover_priority: The failover priority of the region. A failover priority of 0
indicates a write region. The maximum value for a failover priority = (total number of regions
- 1). Failover priority values must be unique for each of the regions in which the database
account exists.
:type failover_priority: int
"""
_validation = {
'id': {'readonly': True},
'failover_priority': {'minimum': 0},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'location_name': {'key': 'locationName', 'type': 'str'},
'failover_priority': {'key': 'failoverPriority', 'type': 'int'},
}
def __init__(
self,
*,
location_name: Optional[str] = None,
failover_priority: Optional[int] = None,
**kwargs
):
super(FailoverPolicy, self).__init__(**kwargs)
self.id = None
self.location_name = location_name
self.failover_priority = failover_priority
[docs]class GraphAPIComputeRegionalServiceResource(RegionalServiceResource):
"""Resource for a regional service location.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar name: The regional service name.
:vartype name: str
:ivar location: The location name.
:vartype location: str
:ivar status: Describes the status of a service. Possible values include: "Creating",
"Running", "Updating", "Deleting", "Error", "Stopped".
:vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus
:ivar graph_api_compute_endpoint: The regional endpoint for GraphAPICompute.
:vartype graph_api_compute_endpoint: str
"""
_validation = {
'name': {'readonly': True},
'location': {'readonly': True},
'status': {'readonly': True},
'graph_api_compute_endpoint': {'readonly': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'graph_api_compute_endpoint': {'key': 'graphApiComputeEndpoint', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(GraphAPIComputeRegionalServiceResource, self).__init__(**kwargs)
self.graph_api_compute_endpoint = None
[docs]class GraphAPIComputeServiceResource(msrest.serialization.Model):
"""Describes the service response property for GraphAPICompute.
:param properties: Properties for GraphAPIComputeServiceResource.
:type properties: ~azure.mgmt.cosmosdb.models.GraphAPIComputeServiceResourceProperties
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'GraphAPIComputeServiceResourceProperties'},
}
def __init__(
self,
*,
properties: Optional["GraphAPIComputeServiceResourceProperties"] = None,
**kwargs
):
super(GraphAPIComputeServiceResource, self).__init__(**kwargs)
self.properties = properties
[docs]class GraphAPIComputeServiceResourceProperties(ServiceResourceProperties):
"""Properties for GraphAPIComputeServiceResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param additional_properties: Unmatched properties from the message are deserialized to this
collection.
:type additional_properties: dict[str, any]
:ivar creation_time: Time of the last state change (ISO-8601 format).
:vartype creation_time: ~datetime.datetime
:param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s",
"Cosmos.D8s", "Cosmos.D16s".
:type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize
:param instance_count: Instance count for the service.
:type instance_count: int
:param service_type: Required. ServiceType for the service.Constant filled by server. Possible
values include: "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute".
:type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType
:ivar status: Describes the status of a service. Possible values include: "Creating",
"Running", "Updating", "Deleting", "Error", "Stopped".
:vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus
:param graph_api_compute_endpoint: GraphAPICompute endpoint for the service.
:type graph_api_compute_endpoint: str
:ivar locations: An array that contains all of the locations for the service.
:vartype locations: list[~azure.mgmt.cosmosdb.models.GraphAPIComputeRegionalServiceResource]
"""
_validation = {
'creation_time': {'readonly': True},
'instance_count': {'minimum': 0},
'service_type': {'required': True},
'status': {'readonly': True},
'locations': {'readonly': True},
}
_attribute_map = {
'additional_properties': {'key': '', 'type': '{object}'},
'creation_time': {'key': 'creationTime', 'type': 'iso-8601'},
'instance_size': {'key': 'instanceSize', 'type': 'str'},
'instance_count': {'key': 'instanceCount', 'type': 'int'},
'service_type': {'key': 'serviceType', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'graph_api_compute_endpoint': {'key': 'graphApiComputeEndpoint', 'type': 'str'},
'locations': {'key': 'locations', 'type': '[GraphAPIComputeRegionalServiceResource]'},
}
def __init__(
self,
*,
additional_properties: Optional[Dict[str, Any]] = None,
instance_size: Optional[Union[str, "ServiceSize"]] = None,
instance_count: Optional[int] = None,
graph_api_compute_endpoint: Optional[str] = None,
**kwargs
):
super(GraphAPIComputeServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, **kwargs)
self.service_type = 'GraphAPICompute' # type: str
self.graph_api_compute_endpoint = graph_api_compute_endpoint
self.locations = None
[docs]class GraphResource(msrest.serialization.Model):
"""Cosmos DB Graph resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Graph.
:type id: str
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(GraphResource, self).__init__(**kwargs)
self.id = id
[docs]class GraphResourceCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB Graph resource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a Graph resource.
:type resource: ~azure.mgmt.cosmosdb.models.GraphResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'GraphResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "GraphResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(GraphResourceCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class GraphResourceGetPropertiesOptions(OptionsResource):
"""GraphResourceGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(GraphResourceGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class GraphResourceGetPropertiesResource(GraphResource, ExtendedResourceProperties):
"""GraphResourceGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
:param id: Required. Name of the Cosmos DB Graph.
:type id: str
"""
_validation = {
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
'id': {'required': True},
}
_attribute_map = {
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
'id': {'key': 'id', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(GraphResourceGetPropertiesResource, self).__init__(id=id, **kwargs)
self.rid = None
self.ts = None
self.etag = None
self.id = id
[docs]class GraphResourceGetResults(ARMResourceProperties):
"""An Azure Cosmos DB Graph resource.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.GraphResourceGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.GraphResourceGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'GraphResourceGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'GraphResourceGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["GraphResourceGetPropertiesResource"] = None,
options: Optional["GraphResourceGetPropertiesOptions"] = None,
**kwargs
):
super(GraphResourceGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class GraphResourcesListResult(msrest.serialization.Model):
"""The List operation response, that contains the Graph resource and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of Graph resource and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.GraphResourceGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[GraphResourceGetResults]'},
}
def __init__(
self,
**kwargs
):
super(GraphResourcesListResult, self).__init__(**kwargs)
self.value = None
[docs]class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB Gremlin database.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a Gremlin database.
:type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'GremlinDatabaseResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "GremlinDatabaseResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(GremlinDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class GremlinDatabaseGetPropertiesOptions(OptionsResource):
"""GremlinDatabaseGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(GremlinDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class GremlinDatabaseResource(msrest.serialization.Model):
"""Cosmos DB Gremlin database resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Gremlin database.
:type id: str
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(GremlinDatabaseResource, self).__init__(**kwargs)
self.id = id
[docs]class GremlinDatabaseGetPropertiesResource(ExtendedResourceProperties, GremlinDatabaseResource):
"""GremlinDatabaseGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Gremlin database.
:type id: str
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(GremlinDatabaseGetPropertiesResource, self).__init__(id=id, **kwargs)
self.id = id
self.rid = None
self.ts = None
self.etag = None
[docs]class GremlinDatabaseGetResults(ARMResourceProperties):
"""An Azure Cosmos DB Gremlin database.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'GremlinDatabaseGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'GremlinDatabaseGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["GremlinDatabaseGetPropertiesResource"] = None,
options: Optional["GremlinDatabaseGetPropertiesOptions"] = None,
**kwargs
):
super(GremlinDatabaseGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class GremlinDatabaseListResult(msrest.serialization.Model):
"""The List operation response, that contains the Gremlin databases and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of Gremlin databases and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[GremlinDatabaseGetResults]'},
}
def __init__(
self,
**kwargs
):
super(GremlinDatabaseListResult, self).__init__(**kwargs)
self.value = None
[docs]class GremlinGraphCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB Gremlin graph.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a Gremlin graph.
:type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'GremlinGraphResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "GremlinGraphResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(GremlinGraphCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class GremlinGraphGetPropertiesOptions(OptionsResource):
"""GremlinGraphGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(GremlinGraphGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class GremlinGraphResource(msrest.serialization.Model):
"""Cosmos DB Gremlin graph resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Gremlin graph.
:type id: str
:param indexing_policy: The configuration of the indexing policy. By default, the indexing is
automatic for all document paths within the graph.
:type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy
:param partition_key: The configuration of the partition key to be used for partitioning data
into multiple partitions.
:type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey
:param default_ttl: Default time to live.
:type default_ttl: int
:param unique_key_policy: The unique key policy configuration for specifying uniqueness
constraints on documents in the collection in the Azure Cosmos DB service.
:type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy
:param conflict_resolution_policy: The conflict resolution policy for the graph.
:type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'},
'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'},
'default_ttl': {'key': 'defaultTtl', 'type': 'int'},
'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'},
'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'},
}
def __init__(
self,
*,
id: str,
indexing_policy: Optional["IndexingPolicy"] = None,
partition_key: Optional["ContainerPartitionKey"] = None,
default_ttl: Optional[int] = None,
unique_key_policy: Optional["UniqueKeyPolicy"] = None,
conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None,
**kwargs
):
super(GremlinGraphResource, self).__init__(**kwargs)
self.id = id
self.indexing_policy = indexing_policy
self.partition_key = partition_key
self.default_ttl = default_ttl
self.unique_key_policy = unique_key_policy
self.conflict_resolution_policy = conflict_resolution_policy
[docs]class GremlinGraphGetPropertiesResource(ExtendedResourceProperties, GremlinGraphResource):
"""GremlinGraphGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB Gremlin graph.
:type id: str
:param indexing_policy: The configuration of the indexing policy. By default, the indexing is
automatic for all document paths within the graph.
:type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy
:param partition_key: The configuration of the partition key to be used for partitioning data
into multiple partitions.
:type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey
:param default_ttl: Default time to live.
:type default_ttl: int
:param unique_key_policy: The unique key policy configuration for specifying uniqueness
constraints on documents in the collection in the Azure Cosmos DB service.
:type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy
:param conflict_resolution_policy: The conflict resolution policy for the graph.
:type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'},
'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'},
'default_ttl': {'key': 'defaultTtl', 'type': 'int'},
'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'},
'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
indexing_policy: Optional["IndexingPolicy"] = None,
partition_key: Optional["ContainerPartitionKey"] = None,
default_ttl: Optional[int] = None,
unique_key_policy: Optional["UniqueKeyPolicy"] = None,
conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None,
**kwargs
):
super(GremlinGraphGetPropertiesResource, self).__init__(id=id, indexing_policy=indexing_policy, partition_key=partition_key, default_ttl=default_ttl, unique_key_policy=unique_key_policy, conflict_resolution_policy=conflict_resolution_policy, **kwargs)
self.id = id
self.indexing_policy = indexing_policy
self.partition_key = partition_key
self.default_ttl = default_ttl
self.unique_key_policy = unique_key_policy
self.conflict_resolution_policy = conflict_resolution_policy
self.rid = None
self.ts = None
self.etag = None
[docs]class GremlinGraphGetResults(ARMResourceProperties):
"""An Azure Cosmos DB Gremlin graph.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'GremlinGraphGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'GremlinGraphGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["GremlinGraphGetPropertiesResource"] = None,
options: Optional["GremlinGraphGetPropertiesOptions"] = None,
**kwargs
):
super(GremlinGraphGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class GremlinGraphListResult(msrest.serialization.Model):
"""The List operation response, that contains the graphs and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of graphs and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[GremlinGraphGetResults]'},
}
def __init__(
self,
**kwargs
):
super(GremlinGraphListResult, self).__init__(**kwargs)
self.value = None
[docs]class IncludedPath(msrest.serialization.Model):
"""The paths that are included in indexing.
:param path: The path for which the indexing behavior applies to. Index paths typically start
with root and end with wildcard (/path/*).
:type path: str
:param indexes: List of indexes for this path.
:type indexes: list[~azure.mgmt.cosmosdb.models.Indexes]
"""
_attribute_map = {
'path': {'key': 'path', 'type': 'str'},
'indexes': {'key': 'indexes', 'type': '[Indexes]'},
}
def __init__(
self,
*,
path: Optional[str] = None,
indexes: Optional[List["Indexes"]] = None,
**kwargs
):
super(IncludedPath, self).__init__(**kwargs)
self.path = path
self.indexes = indexes
[docs]class Indexes(msrest.serialization.Model):
"""The indexes for the path.
:param data_type: The datatype for which the indexing behavior is applied to. Possible values
include: "String", "Number", "Point", "Polygon", "LineString", "MultiPolygon". Default value:
"String".
:type data_type: str or ~azure.mgmt.cosmosdb.models.DataType
:param precision: The precision of the index. -1 is maximum precision.
:type precision: int
:param kind: Indicates the type of index. Possible values include: "Hash", "Range", "Spatial".
Default value: "Hash".
:type kind: str or ~azure.mgmt.cosmosdb.models.IndexKind
"""
_attribute_map = {
'data_type': {'key': 'dataType', 'type': 'str'},
'precision': {'key': 'precision', 'type': 'int'},
'kind': {'key': 'kind', 'type': 'str'},
}
def __init__(
self,
*,
data_type: Optional[Union[str, "DataType"]] = "String",
precision: Optional[int] = None,
kind: Optional[Union[str, "IndexKind"]] = "Hash",
**kwargs
):
super(Indexes, self).__init__(**kwargs)
self.data_type = data_type
self.precision = precision
self.kind = kind
[docs]class IndexingPolicy(msrest.serialization.Model):
"""Cosmos DB indexing policy.
:param automatic: Indicates if the indexing policy is automatic.
:type automatic: bool
:param indexing_mode: Indicates the indexing mode. Possible values include: "consistent",
"lazy", "none". Default value: "consistent".
:type indexing_mode: str or ~azure.mgmt.cosmosdb.models.IndexingMode
:param included_paths: List of paths to include in the indexing.
:type included_paths: list[~azure.mgmt.cosmosdb.models.IncludedPath]
:param excluded_paths: List of paths to exclude from indexing.
:type excluded_paths: list[~azure.mgmt.cosmosdb.models.ExcludedPath]
:param composite_indexes: List of composite path list.
:type composite_indexes: list[list[~azure.mgmt.cosmosdb.models.CompositePath]]
:param spatial_indexes: List of spatial specifics.
:type spatial_indexes: list[~azure.mgmt.cosmosdb.models.SpatialSpec]
"""
_attribute_map = {
'automatic': {'key': 'automatic', 'type': 'bool'},
'indexing_mode': {'key': 'indexingMode', 'type': 'str'},
'included_paths': {'key': 'includedPaths', 'type': '[IncludedPath]'},
'excluded_paths': {'key': 'excludedPaths', 'type': '[ExcludedPath]'},
'composite_indexes': {'key': 'compositeIndexes', 'type': '[[CompositePath]]'},
'spatial_indexes': {'key': 'spatialIndexes', 'type': '[SpatialSpec]'},
}
def __init__(
self,
*,
automatic: Optional[bool] = None,
indexing_mode: Optional[Union[str, "IndexingMode"]] = "consistent",
included_paths: Optional[List["IncludedPath"]] = None,
excluded_paths: Optional[List["ExcludedPath"]] = None,
composite_indexes: Optional[List[List["CompositePath"]]] = None,
spatial_indexes: Optional[List["SpatialSpec"]] = None,
**kwargs
):
super(IndexingPolicy, self).__init__(**kwargs)
self.automatic = automatic
self.indexing_mode = indexing_mode
self.included_paths = included_paths
self.excluded_paths = excluded_paths
self.composite_indexes = composite_indexes
self.spatial_indexes = spatial_indexes
[docs]class IpAddressOrRange(msrest.serialization.Model):
"""IpAddressOrRange object.
:param ip_address_or_range: A single IPv4 address or a single IPv4 address range in CIDR
format. Provided IPs must be well-formatted and cannot be contained in one of the following
ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not
enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or
“23.40.210.0/8”.
:type ip_address_or_range: str
"""
_attribute_map = {
'ip_address_or_range': {'key': 'ipAddressOrRange', 'type': 'str'},
}
def __init__(
self,
*,
ip_address_or_range: Optional[str] = None,
**kwargs
):
super(IpAddressOrRange, self).__init__(**kwargs)
self.ip_address_or_range = ip_address_or_range
[docs]class ListBackups(msrest.serialization.Model):
"""List of restorable backups for a Cassandra cluster.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: Container for array of backups.
:vartype value: list[~azure.mgmt.cosmosdb.models.BackupResource]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[BackupResource]'},
}
def __init__(
self,
**kwargs
):
super(ListBackups, self).__init__(**kwargs)
self.value = None
[docs]class ListClusters(msrest.serialization.Model):
"""List of managed Cassandra clusters.
:param value: Container for the array of clusters.
:type value: list[~azure.mgmt.cosmosdb.models.ClusterResource]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[ClusterResource]'},
}
def __init__(
self,
*,
value: Optional[List["ClusterResource"]] = None,
**kwargs
):
super(ListClusters, self).__init__(**kwargs)
self.value = value
[docs]class ListDataCenters(msrest.serialization.Model):
"""List of managed Cassandra data centers and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: Container for array of data centers.
:vartype value: list[~azure.mgmt.cosmosdb.models.DataCenterResource]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[DataCenterResource]'},
}
def __init__(
self,
**kwargs
):
super(ListDataCenters, self).__init__(**kwargs)
self.value = None
[docs]class Location(msrest.serialization.Model):
"""A region in which the Azure Cosmos DB database account is deployed.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique identifier of the region within the database account. Example:
<accountName>-<locationName>.
:vartype id: str
:param location_name: The name of the region.
:type location_name: str
:ivar document_endpoint: The connection endpoint for the specific region. Example:
https://<accountName>-<locationName>.documents.azure.com:443/.
:vartype document_endpoint: str
:ivar provisioning_state: The status of the Cosmos DB account at the time the operation was
called. The status can be one of following. 'Creating' – the Cosmos DB account is being
created. When an account is in Creating state, only properties that are specified as input for
the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is
active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB
account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' –
the Cosmos DB account deletion failed.
:vartype provisioning_state: str
:param failover_priority: The failover priority of the region. A failover priority of 0
indicates a write region. The maximum value for a failover priority = (total number of regions
- 1). Failover priority values must be unique for each of the regions in which the database
account exists.
:type failover_priority: int
:param is_zone_redundant: Flag to indicate whether or not this region is an AvailabilityZone
region.
:type is_zone_redundant: bool
"""
_validation = {
'id': {'readonly': True},
'document_endpoint': {'readonly': True},
'provisioning_state': {'readonly': True},
'failover_priority': {'minimum': 0},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'location_name': {'key': 'locationName', 'type': 'str'},
'document_endpoint': {'key': 'documentEndpoint', 'type': 'str'},
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'failover_priority': {'key': 'failoverPriority', 'type': 'int'},
'is_zone_redundant': {'key': 'isZoneRedundant', 'type': 'bool'},
}
def __init__(
self,
*,
location_name: Optional[str] = None,
failover_priority: Optional[int] = None,
is_zone_redundant: Optional[bool] = None,
**kwargs
):
super(Location, self).__init__(**kwargs)
self.id = None
self.location_name = location_name
self.document_endpoint = None
self.provisioning_state = None
self.failover_priority = failover_priority
self.is_zone_redundant = is_zone_redundant
[docs]class LocationGetResult(ARMProxyResource):
"""Cosmos DB location get result.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the database account.
:vartype id: str
:ivar name: The name of the database account.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param properties: Cosmos DB location metadata.
:type properties: ~azure.mgmt.cosmosdb.models.LocationProperties
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'LocationProperties'},
}
def __init__(
self,
*,
properties: Optional["LocationProperties"] = None,
**kwargs
):
super(LocationGetResult, self).__init__(**kwargs)
self.properties = properties
[docs]class LocationListResult(msrest.serialization.Model):
"""The List operation response, that contains Cosmos DB locations and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of Cosmos DB locations and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.LocationGetResult]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[LocationGetResult]'},
}
def __init__(
self,
**kwargs
):
super(LocationListResult, self).__init__(**kwargs)
self.value = None
[docs]class LocationProperties(msrest.serialization.Model):
"""Cosmos DB location metadata.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar status: The current status of location in Azure.
:vartype status: str
:ivar supports_availability_zone: Flag indicating whether the location supports availability
zones or not.
:vartype supports_availability_zone: bool
:ivar is_residency_restricted: Flag indicating whether the location is residency sensitive.
:vartype is_residency_restricted: bool
:ivar backup_storage_redundancies: The properties of available backup storage redundancies.
:vartype backup_storage_redundancies: list[str or
~azure.mgmt.cosmosdb.models.BackupStorageRedundancy]
"""
_validation = {
'status': {'readonly': True},
'supports_availability_zone': {'readonly': True},
'is_residency_restricted': {'readonly': True},
'backup_storage_redundancies': {'readonly': True},
}
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
'supports_availability_zone': {'key': 'supportsAvailabilityZone', 'type': 'bool'},
'is_residency_restricted': {'key': 'isResidencyRestricted', 'type': 'bool'},
'backup_storage_redundancies': {'key': 'backupStorageRedundancies', 'type': '[str]'},
}
def __init__(
self,
**kwargs
):
super(LocationProperties, self).__init__(**kwargs)
self.status = None
self.supports_availability_zone = None
self.is_residency_restricted = None
self.backup_storage_redundancies = None
[docs]class ManagedServiceIdentity(msrest.serialization.Model):
"""Identity for the resource.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar principal_id: The principal id of the system assigned identity. This property will only
be provided for a system assigned identity.
:vartype principal_id: str
:ivar tenant_id: The tenant id of the system assigned identity. This property will only be
provided for a system assigned identity.
:vartype tenant_id: str
:param 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. Possible values include: "SystemAssigned",
"UserAssigned", "SystemAssigned,UserAssigned", "None".
:type type: str or ~azure.mgmt.cosmosdb.models.ResourceIdentityType
:param user_assigned_identities: 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}'.
:type user_assigned_identities: dict[str,
~azure.mgmt.cosmosdb.models.Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties]
"""
_validation = {
'principal_id': {'readonly': True},
'tenant_id': {'readonly': True},
}
_attribute_map = {
'principal_id': {'key': 'principalId', 'type': 'str'},
'tenant_id': {'key': 'tenantId', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties}'},
}
def __init__(
self,
*,
type: Optional[Union[str, "ResourceIdentityType"]] = None,
user_assigned_identities: Optional[Dict[str, "Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None,
**kwargs
):
super(ManagedServiceIdentity, self).__init__(**kwargs)
self.principal_id = None
self.tenant_id = None
self.type = type
self.user_assigned_identities = user_assigned_identities
[docs]class Metric(msrest.serialization.Model):
"""Metric data.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar start_time: The start time for the metric (ISO-8601 format).
:vartype start_time: ~datetime.datetime
:ivar end_time: The end time for the metric (ISO-8601 format).
:vartype end_time: ~datetime.datetime
:ivar time_grain: The time grain to be used to summarize the metric values.
:vartype time_grain: str
:ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds",
"Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds".
:vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType
:ivar name: The name information for the metric.
:vartype name: ~azure.mgmt.cosmosdb.models.MetricName
:ivar metric_values: The metric values for the specified time window and timestep.
:vartype metric_values: list[~azure.mgmt.cosmosdb.models.MetricValue]
"""
_validation = {
'start_time': {'readonly': True},
'end_time': {'readonly': True},
'time_grain': {'readonly': True},
'unit': {'readonly': True},
'name': {'readonly': True},
'metric_values': {'readonly': True},
}
_attribute_map = {
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'time_grain': {'key': 'timeGrain', 'type': 'str'},
'unit': {'key': 'unit', 'type': 'str'},
'name': {'key': 'name', 'type': 'MetricName'},
'metric_values': {'key': 'metricValues', 'type': '[MetricValue]'},
}
def __init__(
self,
**kwargs
):
super(Metric, self).__init__(**kwargs)
self.start_time = None
self.end_time = None
self.time_grain = None
self.unit = None
self.name = None
self.metric_values = None
[docs]class MetricAvailability(msrest.serialization.Model):
"""The availability of the metric.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar time_grain: The time grain to be used to summarize the metric values.
:vartype time_grain: str
:ivar retention: The retention for the metric values.
:vartype retention: str
"""
_validation = {
'time_grain': {'readonly': True},
'retention': {'readonly': True},
}
_attribute_map = {
'time_grain': {'key': 'timeGrain', 'type': 'str'},
'retention': {'key': 'retention', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(MetricAvailability, self).__init__(**kwargs)
self.time_grain = None
self.retention = None
[docs]class MetricDefinition(msrest.serialization.Model):
"""The definition of a metric.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar metric_availabilities: The list of metric availabilities for the account.
:vartype metric_availabilities: list[~azure.mgmt.cosmosdb.models.MetricAvailability]
:ivar primary_aggregation_type: The primary aggregation type of the metric. Possible values
include: "None", "Average", "Total", "Minimum", "Maximum", "Last".
:vartype primary_aggregation_type: str or ~azure.mgmt.cosmosdb.models.PrimaryAggregationType
:ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds",
"Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds".
:vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType
:ivar resource_uri: The resource uri of the database.
:vartype resource_uri: str
:ivar name: The name information for the metric.
:vartype name: ~azure.mgmt.cosmosdb.models.MetricName
"""
_validation = {
'metric_availabilities': {'readonly': True},
'primary_aggregation_type': {'readonly': True},
'unit': {'readonly': True},
'resource_uri': {'readonly': True},
'name': {'readonly': True},
}
_attribute_map = {
'metric_availabilities': {'key': 'metricAvailabilities', 'type': '[MetricAvailability]'},
'primary_aggregation_type': {'key': 'primaryAggregationType', 'type': 'str'},
'unit': {'key': 'unit', 'type': 'str'},
'resource_uri': {'key': 'resourceUri', 'type': 'str'},
'name': {'key': 'name', 'type': 'MetricName'},
}
def __init__(
self,
**kwargs
):
super(MetricDefinition, self).__init__(**kwargs)
self.metric_availabilities = None
self.primary_aggregation_type = None
self.unit = None
self.resource_uri = None
self.name = None
[docs]class MetricDefinitionsListResult(msrest.serialization.Model):
"""The response to a list metric definitions request.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: The list of metric definitions for the account.
:vartype value: list[~azure.mgmt.cosmosdb.models.MetricDefinition]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[MetricDefinition]'},
}
def __init__(
self,
**kwargs
):
super(MetricDefinitionsListResult, self).__init__(**kwargs)
self.value = None
[docs]class MetricListResult(msrest.serialization.Model):
"""The response to a list metrics request.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: The list of metrics for the account.
:vartype value: list[~azure.mgmt.cosmosdb.models.Metric]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[Metric]'},
}
def __init__(
self,
**kwargs
):
super(MetricListResult, self).__init__(**kwargs)
self.value = None
[docs]class MetricName(msrest.serialization.Model):
"""A metric name.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: The name of the metric.
:vartype value: str
:ivar localized_value: The friendly name of the metric.
:vartype localized_value: str
"""
_validation = {
'value': {'readonly': True},
'localized_value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': 'str'},
'localized_value': {'key': 'localizedValue', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(MetricName, self).__init__(**kwargs)
self.value = None
self.localized_value = None
[docs]class MetricValue(msrest.serialization.Model):
"""Represents metrics values.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar count: The number of values for the metric.
:vartype count: int
:ivar average: The average value of the metric.
:vartype average: float
:ivar maximum: The max value of the metric.
:vartype maximum: float
:ivar minimum: The min value of the metric.
:vartype minimum: float
:ivar timestamp: The metric timestamp (ISO-8601 format).
:vartype timestamp: ~datetime.datetime
:ivar total: The total value of the metric.
:vartype total: float
"""
_validation = {
'count': {'readonly': True},
'average': {'readonly': True},
'maximum': {'readonly': True},
'minimum': {'readonly': True},
'timestamp': {'readonly': True},
'total': {'readonly': True},
}
_attribute_map = {
'count': {'key': '_count', 'type': 'int'},
'average': {'key': 'average', 'type': 'float'},
'maximum': {'key': 'maximum', 'type': 'float'},
'minimum': {'key': 'minimum', 'type': 'float'},
'timestamp': {'key': 'timestamp', 'type': 'iso-8601'},
'total': {'key': 'total', 'type': 'float'},
}
def __init__(
self,
**kwargs
):
super(MetricValue, self).__init__(**kwargs)
self.count = None
self.average = None
self.maximum = None
self.minimum = None
self.timestamp = None
self.total = None
[docs]class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB MongoDB collection.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a MongoDB collection.
:type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'MongoDBCollectionResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "MongoDBCollectionResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(MongoDBCollectionCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class MongoDBCollectionGetPropertiesOptions(OptionsResource):
"""MongoDBCollectionGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(MongoDBCollectionGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class MongoDBCollectionResource(msrest.serialization.Model):
"""Cosmos DB MongoDB collection resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB MongoDB collection.
:type id: str
:param shard_key: A key-value pair of shard keys to be applied for the request.
:type shard_key: dict[str, str]
:param indexes: List of index keys.
:type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex]
:param analytical_storage_ttl: Analytical TTL.
:type analytical_storage_ttl: int
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'shard_key': {'key': 'shardKey', 'type': '{str}'},
'indexes': {'key': 'indexes', 'type': '[MongoIndex]'},
'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'},
}
def __init__(
self,
*,
id: str,
shard_key: Optional[Dict[str, str]] = None,
indexes: Optional[List["MongoIndex"]] = None,
analytical_storage_ttl: Optional[int] = None,
**kwargs
):
super(MongoDBCollectionResource, self).__init__(**kwargs)
self.id = id
self.shard_key = shard_key
self.indexes = indexes
self.analytical_storage_ttl = analytical_storage_ttl
[docs]class MongoDBCollectionGetPropertiesResource(ExtendedResourceProperties, MongoDBCollectionResource):
"""MongoDBCollectionGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB MongoDB collection.
:type id: str
:param shard_key: A key-value pair of shard keys to be applied for the request.
:type shard_key: dict[str, str]
:param indexes: List of index keys.
:type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex]
:param analytical_storage_ttl: Analytical TTL.
:type analytical_storage_ttl: int
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'shard_key': {'key': 'shardKey', 'type': '{str}'},
'indexes': {'key': 'indexes', 'type': '[MongoIndex]'},
'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
shard_key: Optional[Dict[str, str]] = None,
indexes: Optional[List["MongoIndex"]] = None,
analytical_storage_ttl: Optional[int] = None,
**kwargs
):
super(MongoDBCollectionGetPropertiesResource, self).__init__(id=id, shard_key=shard_key, indexes=indexes, analytical_storage_ttl=analytical_storage_ttl, **kwargs)
self.id = id
self.shard_key = shard_key
self.indexes = indexes
self.analytical_storage_ttl = analytical_storage_ttl
self.rid = None
self.ts = None
self.etag = None
[docs]class MongoDBCollectionGetResults(ARMResourceProperties):
"""An Azure Cosmos DB MongoDB collection.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'MongoDBCollectionGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'MongoDBCollectionGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["MongoDBCollectionGetPropertiesResource"] = None,
options: Optional["MongoDBCollectionGetPropertiesOptions"] = None,
**kwargs
):
super(MongoDBCollectionGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class MongoDBCollectionListResult(msrest.serialization.Model):
"""The List operation response, that contains the MongoDB collections and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of MongoDB collections and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[MongoDBCollectionGetResults]'},
}
def __init__(
self,
**kwargs
):
super(MongoDBCollectionListResult, self).__init__(**kwargs)
self.value = None
[docs]class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB MongoDB database.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a MongoDB database.
:type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'MongoDBDatabaseResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "MongoDBDatabaseResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(MongoDBDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class MongoDBDatabaseGetPropertiesOptions(OptionsResource):
"""MongoDBDatabaseGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(MongoDBDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class MongoDBDatabaseResource(msrest.serialization.Model):
"""Cosmos DB MongoDB database resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB MongoDB database.
:type id: str
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(MongoDBDatabaseResource, self).__init__(**kwargs)
self.id = id
[docs]class MongoDBDatabaseGetPropertiesResource(ExtendedResourceProperties, MongoDBDatabaseResource):
"""MongoDBDatabaseGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB MongoDB database.
:type id: str
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(MongoDBDatabaseGetPropertiesResource, self).__init__(id=id, **kwargs)
self.id = id
self.rid = None
self.ts = None
self.etag = None
[docs]class MongoDBDatabaseGetResults(ARMResourceProperties):
"""An Azure Cosmos DB MongoDB database.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'MongoDBDatabaseGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'MongoDBDatabaseGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["MongoDBDatabaseGetPropertiesResource"] = None,
options: Optional["MongoDBDatabaseGetPropertiesOptions"] = None,
**kwargs
):
super(MongoDBDatabaseGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class MongoDBDatabaseListResult(msrest.serialization.Model):
"""The List operation response, that contains the MongoDB databases and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of MongoDB databases and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[MongoDBDatabaseGetResults]'},
}
def __init__(
self,
**kwargs
):
super(MongoDBDatabaseListResult, self).__init__(**kwargs)
self.value = None
[docs]class MongoIndex(msrest.serialization.Model):
"""Cosmos DB MongoDB collection index key.
:param key: Cosmos DB MongoDB collection index keys.
:type key: ~azure.mgmt.cosmosdb.models.MongoIndexKeys
:param options: Cosmos DB MongoDB collection index key options.
:type options: ~azure.mgmt.cosmosdb.models.MongoIndexOptions
"""
_attribute_map = {
'key': {'key': 'key', 'type': 'MongoIndexKeys'},
'options': {'key': 'options', 'type': 'MongoIndexOptions'},
}
def __init__(
self,
*,
key: Optional["MongoIndexKeys"] = None,
options: Optional["MongoIndexOptions"] = None,
**kwargs
):
super(MongoIndex, self).__init__(**kwargs)
self.key = key
self.options = options
[docs]class MongoIndexKeys(msrest.serialization.Model):
"""Cosmos DB MongoDB collection resource object.
:param keys: List of keys for each MongoDB collection in the Azure Cosmos DB service.
:type keys: list[str]
"""
_attribute_map = {
'keys': {'key': 'keys', 'type': '[str]'},
}
def __init__(
self,
*,
keys: Optional[List[str]] = None,
**kwargs
):
super(MongoIndexKeys, self).__init__(**kwargs)
self.keys = keys
[docs]class MongoIndexOptions(msrest.serialization.Model):
"""Cosmos DB MongoDB collection index options.
:param expire_after_seconds: Expire after seconds.
:type expire_after_seconds: int
:param unique: Is unique or not.
:type unique: bool
"""
_attribute_map = {
'expire_after_seconds': {'key': 'expireAfterSeconds', 'type': 'int'},
'unique': {'key': 'unique', 'type': 'bool'},
}
def __init__(
self,
*,
expire_after_seconds: Optional[int] = None,
unique: Optional[bool] = None,
**kwargs
):
super(MongoIndexOptions, self).__init__(**kwargs)
self.expire_after_seconds = expire_after_seconds
self.unique = unique
[docs]class NotebookWorkspace(ARMProxyResource):
"""A notebook workspace resource.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the database account.
:vartype id: str
:ivar name: The name of the database account.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:ivar notebook_server_endpoint: Specifies the endpoint of Notebook server.
:vartype notebook_server_endpoint: str
:ivar status: Status of the notebook workspace. Possible values are: Creating, Online,
Deleting, Failed, Updating.
:vartype status: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'notebook_server_endpoint': {'readonly': True},
'status': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'notebook_server_endpoint': {'key': 'properties.notebookServerEndpoint', 'type': 'str'},
'status': {'key': 'properties.status', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(NotebookWorkspace, self).__init__(**kwargs)
self.notebook_server_endpoint = None
self.status = None
[docs]class NotebookWorkspaceConnectionInfoResult(msrest.serialization.Model):
"""The connection info for the given notebook workspace.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar auth_token: Specifies auth token used for connecting to Notebook server (uses token-based
auth).
:vartype auth_token: str
:ivar notebook_server_endpoint: Specifies the endpoint of Notebook server.
:vartype notebook_server_endpoint: str
"""
_validation = {
'auth_token': {'readonly': True},
'notebook_server_endpoint': {'readonly': True},
}
_attribute_map = {
'auth_token': {'key': 'authToken', 'type': 'str'},
'notebook_server_endpoint': {'key': 'notebookServerEndpoint', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(NotebookWorkspaceConnectionInfoResult, self).__init__(**kwargs)
self.auth_token = None
self.notebook_server_endpoint = None
[docs]class NotebookWorkspaceCreateUpdateParameters(ARMProxyResource):
"""Parameters to create a notebook workspace resource.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the database account.
:vartype id: str
:ivar name: The name of the database account.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(NotebookWorkspaceCreateUpdateParameters, self).__init__(**kwargs)
[docs]class NotebookWorkspaceListResult(msrest.serialization.Model):
"""A list of notebook workspace resources.
:param value: Array of notebook workspace resources.
:type value: list[~azure.mgmt.cosmosdb.models.NotebookWorkspace]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[NotebookWorkspace]'},
}
def __init__(
self,
*,
value: Optional[List["NotebookWorkspace"]] = None,
**kwargs
):
super(NotebookWorkspaceListResult, self).__init__(**kwargs)
self.value = value
[docs]class Operation(msrest.serialization.Model):
"""REST API operation.
:param name: Operation name: {provider}/{resource}/{operation}.
:type name: str
:param display: The object that represents the operation.
:type display: ~azure.mgmt.cosmosdb.models.OperationDisplay
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display': {'key': 'display', 'type': 'OperationDisplay'},
}
def __init__(
self,
*,
name: Optional[str] = None,
display: Optional["OperationDisplay"] = None,
**kwargs
):
super(Operation, self).__init__(**kwargs)
self.name = name
self.display = display
[docs]class OperationDisplay(msrest.serialization.Model):
"""The object that represents the operation.
:param provider: Service provider: Microsoft.ResourceProvider.
:type provider: str
:param resource: Resource on which the operation is performed: Profile, endpoint, etc.
:type resource: str
:param operation: Operation type: Read, write, delete, etc.
:type operation: str
:param description: Description of operation.
:type description: str
"""
_attribute_map = {
'provider': {'key': 'Provider', 'type': 'str'},
'resource': {'key': 'Resource', 'type': 'str'},
'operation': {'key': 'Operation', 'type': 'str'},
'description': {'key': 'Description', 'type': 'str'},
}
def __init__(
self,
*,
provider: Optional[str] = None,
resource: Optional[str] = None,
operation: Optional[str] = None,
description: Optional[str] = None,
**kwargs
):
super(OperationDisplay, self).__init__(**kwargs)
self.provider = provider
self.resource = resource
self.operation = operation
self.description = description
[docs]class OperationListResult(msrest.serialization.Model):
"""Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results.
:param value: List of operations supported by the Resource Provider.
:type value: list[~azure.mgmt.cosmosdb.models.Operation]
:param next_link: URL to get the next set of operation list results if there are any.
:type next_link: str
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[Operation]'},
'next_link': {'key': 'nextLink', 'type': 'str'},
}
def __init__(
self,
*,
value: Optional[List["Operation"]] = None,
next_link: Optional[str] = None,
**kwargs
):
super(OperationListResult, self).__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class PartitionMetric(Metric):
"""The metric values for a single partition.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar start_time: The start time for the metric (ISO-8601 format).
:vartype start_time: ~datetime.datetime
:ivar end_time: The end time for the metric (ISO-8601 format).
:vartype end_time: ~datetime.datetime
:ivar time_grain: The time grain to be used to summarize the metric values.
:vartype time_grain: str
:ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds",
"Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds".
:vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType
:ivar name: The name information for the metric.
:vartype name: ~azure.mgmt.cosmosdb.models.MetricName
:ivar metric_values: The metric values for the specified time window and timestep.
:vartype metric_values: list[~azure.mgmt.cosmosdb.models.MetricValue]
:ivar partition_id: The partition id (GUID identifier) of the metric values.
:vartype partition_id: str
:ivar partition_key_range_id: The partition key range id (integer identifier) of the metric
values.
:vartype partition_key_range_id: str
"""
_validation = {
'start_time': {'readonly': True},
'end_time': {'readonly': True},
'time_grain': {'readonly': True},
'unit': {'readonly': True},
'name': {'readonly': True},
'metric_values': {'readonly': True},
'partition_id': {'readonly': True},
'partition_key_range_id': {'readonly': True},
}
_attribute_map = {
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'time_grain': {'key': 'timeGrain', 'type': 'str'},
'unit': {'key': 'unit', 'type': 'str'},
'name': {'key': 'name', 'type': 'MetricName'},
'metric_values': {'key': 'metricValues', 'type': '[MetricValue]'},
'partition_id': {'key': 'partitionId', 'type': 'str'},
'partition_key_range_id': {'key': 'partitionKeyRangeId', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(PartitionMetric, self).__init__(**kwargs)
self.partition_id = None
self.partition_key_range_id = None
[docs]class PartitionMetricListResult(msrest.serialization.Model):
"""The response to a list partition metrics request.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: The list of partition-level metrics for the account.
:vartype value: list[~azure.mgmt.cosmosdb.models.PartitionMetric]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[PartitionMetric]'},
}
def __init__(
self,
**kwargs
):
super(PartitionMetricListResult, self).__init__(**kwargs)
self.value = None
[docs]class Usage(msrest.serialization.Model):
"""The usage data for a usage request.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds",
"Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds".
:vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType
:ivar name: The name information for the metric.
:vartype name: ~azure.mgmt.cosmosdb.models.MetricName
:ivar quota_period: The quota period used to summarize the usage values.
:vartype quota_period: str
:ivar limit: Maximum value for this metric.
:vartype limit: long
:ivar current_value: Current value for this metric.
:vartype current_value: long
"""
_validation = {
'unit': {'readonly': True},
'name': {'readonly': True},
'quota_period': {'readonly': True},
'limit': {'readonly': True},
'current_value': {'readonly': True},
}
_attribute_map = {
'unit': {'key': 'unit', 'type': 'str'},
'name': {'key': 'name', 'type': 'MetricName'},
'quota_period': {'key': 'quotaPeriod', 'type': 'str'},
'limit': {'key': 'limit', 'type': 'long'},
'current_value': {'key': 'currentValue', 'type': 'long'},
}
def __init__(
self,
**kwargs
):
super(Usage, self).__init__(**kwargs)
self.unit = None
self.name = None
self.quota_period = None
self.limit = None
self.current_value = None
[docs]class PartitionUsage(Usage):
"""The partition level usage data for a usage request.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds",
"Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds".
:vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType
:ivar name: The name information for the metric.
:vartype name: ~azure.mgmt.cosmosdb.models.MetricName
:ivar quota_period: The quota period used to summarize the usage values.
:vartype quota_period: str
:ivar limit: Maximum value for this metric.
:vartype limit: long
:ivar current_value: Current value for this metric.
:vartype current_value: long
:ivar partition_id: The partition id (GUID identifier) of the usages.
:vartype partition_id: str
:ivar partition_key_range_id: The partition key range id (integer identifier) of the usages.
:vartype partition_key_range_id: str
"""
_validation = {
'unit': {'readonly': True},
'name': {'readonly': True},
'quota_period': {'readonly': True},
'limit': {'readonly': True},
'current_value': {'readonly': True},
'partition_id': {'readonly': True},
'partition_key_range_id': {'readonly': True},
}
_attribute_map = {
'unit': {'key': 'unit', 'type': 'str'},
'name': {'key': 'name', 'type': 'MetricName'},
'quota_period': {'key': 'quotaPeriod', 'type': 'str'},
'limit': {'key': 'limit', 'type': 'long'},
'current_value': {'key': 'currentValue', 'type': 'long'},
'partition_id': {'key': 'partitionId', 'type': 'str'},
'partition_key_range_id': {'key': 'partitionKeyRangeId', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(PartitionUsage, self).__init__(**kwargs)
self.partition_id = None
self.partition_key_range_id = None
[docs]class PartitionUsagesResult(msrest.serialization.Model):
"""The response to a list partition level usage request.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: The list of partition-level usages for the database. A usage is a point in time
metric.
:vartype value: list[~azure.mgmt.cosmosdb.models.PartitionUsage]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[PartitionUsage]'},
}
def __init__(
self,
**kwargs
):
super(PartitionUsagesResult, self).__init__(**kwargs)
self.value = None
[docs]class PercentileMetric(msrest.serialization.Model):
"""Percentile Metric data.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar start_time: The start time for the metric (ISO-8601 format).
:vartype start_time: ~datetime.datetime
:ivar end_time: The end time for the metric (ISO-8601 format).
:vartype end_time: ~datetime.datetime
:ivar time_grain: The time grain to be used to summarize the metric values.
:vartype time_grain: str
:ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds",
"Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds".
:vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType
:ivar name: The name information for the metric.
:vartype name: ~azure.mgmt.cosmosdb.models.MetricName
:ivar metric_values: The percentile metric values for the specified time window and timestep.
:vartype metric_values: list[~azure.mgmt.cosmosdb.models.PercentileMetricValue]
"""
_validation = {
'start_time': {'readonly': True},
'end_time': {'readonly': True},
'time_grain': {'readonly': True},
'unit': {'readonly': True},
'name': {'readonly': True},
'metric_values': {'readonly': True},
}
_attribute_map = {
'start_time': {'key': 'startTime', 'type': 'iso-8601'},
'end_time': {'key': 'endTime', 'type': 'iso-8601'},
'time_grain': {'key': 'timeGrain', 'type': 'str'},
'unit': {'key': 'unit', 'type': 'str'},
'name': {'key': 'name', 'type': 'MetricName'},
'metric_values': {'key': 'metricValues', 'type': '[PercentileMetricValue]'},
}
def __init__(
self,
**kwargs
):
super(PercentileMetric, self).__init__(**kwargs)
self.start_time = None
self.end_time = None
self.time_grain = None
self.unit = None
self.name = None
self.metric_values = None
[docs]class PercentileMetricListResult(msrest.serialization.Model):
"""The response to a list percentile metrics request.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: The list of percentile metrics for the account.
:vartype value: list[~azure.mgmt.cosmosdb.models.PercentileMetric]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[PercentileMetric]'},
}
def __init__(
self,
**kwargs
):
super(PercentileMetricListResult, self).__init__(**kwargs)
self.value = None
[docs]class PercentileMetricValue(MetricValue):
"""Represents percentile metrics values.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar count: The number of values for the metric.
:vartype count: int
:ivar average: The average value of the metric.
:vartype average: float
:ivar maximum: The max value of the metric.
:vartype maximum: float
:ivar minimum: The min value of the metric.
:vartype minimum: float
:ivar timestamp: The metric timestamp (ISO-8601 format).
:vartype timestamp: ~datetime.datetime
:ivar total: The total value of the metric.
:vartype total: float
:ivar p10: The 10th percentile value for the metric.
:vartype p10: float
:ivar p25: The 25th percentile value for the metric.
:vartype p25: float
:ivar p50: The 50th percentile value for the metric.
:vartype p50: float
:ivar p75: The 75th percentile value for the metric.
:vartype p75: float
:ivar p90: The 90th percentile value for the metric.
:vartype p90: float
:ivar p95: The 95th percentile value for the metric.
:vartype p95: float
:ivar p99: The 99th percentile value for the metric.
:vartype p99: float
"""
_validation = {
'count': {'readonly': True},
'average': {'readonly': True},
'maximum': {'readonly': True},
'minimum': {'readonly': True},
'timestamp': {'readonly': True},
'total': {'readonly': True},
'p10': {'readonly': True},
'p25': {'readonly': True},
'p50': {'readonly': True},
'p75': {'readonly': True},
'p90': {'readonly': True},
'p95': {'readonly': True},
'p99': {'readonly': True},
}
_attribute_map = {
'count': {'key': '_count', 'type': 'int'},
'average': {'key': 'average', 'type': 'float'},
'maximum': {'key': 'maximum', 'type': 'float'},
'minimum': {'key': 'minimum', 'type': 'float'},
'timestamp': {'key': 'timestamp', 'type': 'iso-8601'},
'total': {'key': 'total', 'type': 'float'},
'p10': {'key': 'P10', 'type': 'float'},
'p25': {'key': 'P25', 'type': 'float'},
'p50': {'key': 'P50', 'type': 'float'},
'p75': {'key': 'P75', 'type': 'float'},
'p90': {'key': 'P90', 'type': 'float'},
'p95': {'key': 'P95', 'type': 'float'},
'p99': {'key': 'P99', 'type': 'float'},
}
def __init__(
self,
**kwargs
):
super(PercentileMetricValue, self).__init__(**kwargs)
self.p10 = None
self.p25 = None
self.p50 = None
self.p75 = None
self.p90 = None
self.p95 = None
self.p99 = None
[docs]class PeriodicModeBackupPolicy(BackupPolicy):
"""The object representing periodic mode backup policy.
All required parameters must be populated in order to send to Azure.
:param type: Required. Describes the mode of backups.Constant filled by server. Possible
values include: "Periodic", "Continuous".
:type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType
:param migration_state: The object representing the state of the migration between the backup
policies.
:type migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState
:param periodic_mode_properties: Configuration values for periodic mode backup.
:type periodic_mode_properties: ~azure.mgmt.cosmosdb.models.PeriodicModeProperties
"""
_validation = {
'type': {'required': True},
}
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'migration_state': {'key': 'migrationState', 'type': 'BackupPolicyMigrationState'},
'periodic_mode_properties': {'key': 'periodicModeProperties', 'type': 'PeriodicModeProperties'},
}
def __init__(
self,
*,
migration_state: Optional["BackupPolicyMigrationState"] = None,
periodic_mode_properties: Optional["PeriodicModeProperties"] = None,
**kwargs
):
super(PeriodicModeBackupPolicy, self).__init__(migration_state=migration_state, **kwargs)
self.type = 'Periodic' # type: str
self.periodic_mode_properties = periodic_mode_properties
[docs]class PeriodicModeProperties(msrest.serialization.Model):
"""Configuration values for periodic mode backup.
:param backup_interval_in_minutes: An integer representing the interval in minutes between two
backups.
:type backup_interval_in_minutes: int
:param backup_retention_interval_in_hours: An integer representing the time (in hours) that
each backup is retained.
:type backup_retention_interval_in_hours: int
:param backup_storage_redundancy: Enum to indicate type of backup residency. Possible values
include: "Geo", "Local", "Zone".
:type backup_storage_redundancy: str or ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy
"""
_validation = {
'backup_interval_in_minutes': {'minimum': 0},
'backup_retention_interval_in_hours': {'minimum': 0},
}
_attribute_map = {
'backup_interval_in_minutes': {'key': 'backupIntervalInMinutes', 'type': 'int'},
'backup_retention_interval_in_hours': {'key': 'backupRetentionIntervalInHours', 'type': 'int'},
'backup_storage_redundancy': {'key': 'backupStorageRedundancy', 'type': 'str'},
}
def __init__(
self,
*,
backup_interval_in_minutes: Optional[int] = None,
backup_retention_interval_in_hours: Optional[int] = None,
backup_storage_redundancy: Optional[Union[str, "BackupStorageRedundancy"]] = None,
**kwargs
):
super(PeriodicModeProperties, self).__init__(**kwargs)
self.backup_interval_in_minutes = backup_interval_in_minutes
self.backup_retention_interval_in_hours = backup_retention_interval_in_hours
self.backup_storage_redundancy = backup_storage_redundancy
[docs]class Permission(msrest.serialization.Model):
"""The set of data plane operations permitted through this Role Definition.
:param data_actions: An array of data actions that are allowed.
:type data_actions: list[str]
:param not_data_actions: An array of data actions that are denied.
:type not_data_actions: list[str]
"""
_attribute_map = {
'data_actions': {'key': 'dataActions', 'type': '[str]'},
'not_data_actions': {'key': 'notDataActions', 'type': '[str]'},
}
def __init__(
self,
*,
data_actions: Optional[List[str]] = None,
not_data_actions: Optional[List[str]] = None,
**kwargs
):
super(Permission, self).__init__(**kwargs)
self.data_actions = data_actions
self.not_data_actions = not_data_actions
[docs]class Resource(msrest.serialization.Model):
"""Common fields that are returned in the response for all Azure Resource Manager resources.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(Resource, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
[docs]class ProxyResource(Resource):
"""The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(ProxyResource, self).__init__(**kwargs)
[docs]class PrivateEndpointConnection(ProxyResource):
"""A private endpoint connection.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified resource ID for the resource. Ex -
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
:vartype id: str
:ivar name: The name of the resource.
:vartype name: str
:ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
"Microsoft.Storage/storageAccounts".
:vartype type: str
:param private_endpoint: Private endpoint which the connection belongs to.
:type private_endpoint: ~azure.mgmt.cosmosdb.models.PrivateEndpointProperty
:param private_link_service_connection_state: Connection State of the Private Endpoint
Connection.
:type private_link_service_connection_state:
~azure.mgmt.cosmosdb.models.PrivateLinkServiceConnectionStateProperty
:param group_id: Group id of the private endpoint.
:type group_id: str
:param provisioning_state: Provisioning state of the private endpoint.
:type provisioning_state: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpointProperty'},
'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionStateProperty'},
'group_id': {'key': 'properties.groupId', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
}
def __init__(
self,
*,
private_endpoint: Optional["PrivateEndpointProperty"] = None,
private_link_service_connection_state: Optional["PrivateLinkServiceConnectionStateProperty"] = None,
group_id: Optional[str] = None,
provisioning_state: Optional[str] = None,
**kwargs
):
super(PrivateEndpointConnection, self).__init__(**kwargs)
self.private_endpoint = private_endpoint
self.private_link_service_connection_state = private_link_service_connection_state
self.group_id = group_id
self.provisioning_state = provisioning_state
[docs]class PrivateEndpointConnectionListResult(msrest.serialization.Model):
"""A list of private endpoint connections.
:param value: Array of private endpoint connections.
:type value: list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'},
}
def __init__(
self,
*,
value: Optional[List["PrivateEndpointConnection"]] = None,
**kwargs
):
super(PrivateEndpointConnectionListResult, self).__init__(**kwargs)
self.value = value
[docs]class PrivateEndpointProperty(msrest.serialization.Model):
"""Private endpoint which the connection belongs to.
:param id: Resource id of the private endpoint.
:type id: str
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(
self,
*,
id: Optional[str] = None,
**kwargs
):
super(PrivateEndpointProperty, self).__init__(**kwargs)
self.id = id
[docs]class PrivateLinkResource(ARMProxyResource):
"""A private link resource.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the database account.
:vartype id: str
:ivar name: The name of the database account.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:ivar group_id: The private link resource group id.
:vartype group_id: str
:ivar required_members: The private link resource required member names.
:vartype required_members: list[str]
:ivar required_zone_names: The private link resource required zone names.
:vartype required_zone_names: list[str]
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'group_id': {'readonly': True},
'required_members': {'readonly': True},
'required_zone_names': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'group_id': {'key': 'properties.groupId', 'type': 'str'},
'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'},
'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'},
}
def __init__(
self,
**kwargs
):
super(PrivateLinkResource, self).__init__(**kwargs)
self.group_id = None
self.required_members = None
self.required_zone_names = None
[docs]class PrivateLinkResourceListResult(msrest.serialization.Model):
"""A list of private link resources.
:param value: Array of private link resources.
:type value: list[~azure.mgmt.cosmosdb.models.PrivateLinkResource]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[PrivateLinkResource]'},
}
def __init__(
self,
*,
value: Optional[List["PrivateLinkResource"]] = None,
**kwargs
):
super(PrivateLinkResourceListResult, self).__init__(**kwargs)
self.value = value
[docs]class PrivateLinkServiceConnectionStateProperty(msrest.serialization.Model):
"""Connection State of the Private Endpoint Connection.
Variables are only populated by the server, and will be ignored when sending a request.
:param status: The private link service connection status.
:type status: str
:param description: The private link service connection description.
:type description: str
:ivar actions_required: Any action that is required beyond basic workflow (approve/ reject/
disconnect).
:vartype actions_required: str
"""
_validation = {
'actions_required': {'readonly': True},
}
_attribute_map = {
'status': {'key': 'status', 'type': 'str'},
'description': {'key': 'description', 'type': 'str'},
'actions_required': {'key': 'actionsRequired', 'type': 'str'},
}
def __init__(
self,
*,
status: Optional[str] = None,
description: Optional[str] = None,
**kwargs
):
super(PrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs)
self.status = status
self.description = description
self.actions_required = None
[docs]class RegionForOnlineOffline(msrest.serialization.Model):
"""Cosmos DB region to online or offline.
All required parameters must be populated in order to send to Azure.
:param region: Required. Cosmos DB region, with spaces between words and each word capitalized.
:type region: str
"""
_validation = {
'region': {'required': True},
}
_attribute_map = {
'region': {'key': 'region', 'type': 'str'},
}
def __init__(
self,
*,
region: str,
**kwargs
):
super(RegionForOnlineOffline, self).__init__(**kwargs)
self.region = region
[docs]class RepairPostBody(msrest.serialization.Model):
"""Specification of the keyspaces and tables to run repair on.
All required parameters must be populated in order to send to Azure.
:param keyspace: Required. The name of the keyspace that repair should be run on.
:type keyspace: str
:param tables: List of tables in the keyspace to repair. If omitted, repair all tables in the
keyspace.
:type tables: list[str]
"""
_validation = {
'keyspace': {'required': True},
}
_attribute_map = {
'keyspace': {'key': 'keyspace', 'type': 'str'},
'tables': {'key': 'tables', 'type': '[str]'},
}
def __init__(
self,
*,
keyspace: str,
tables: Optional[List[str]] = None,
**kwargs
):
super(RepairPostBody, self).__init__(**kwargs)
self.keyspace = keyspace
self.tables = tables
[docs]class RestorableDatabaseAccountGetResult(msrest.serialization.Model):
"""A Azure Cosmos DB restorable database account.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param account_name: The name of the global database account.
:type account_name: str
:param creation_time: The creation time of the restorable database account (ISO-8601 format).
:type creation_time: ~datetime.datetime
:param deletion_time: The time at which the restorable database account has been deleted
(ISO-8601 format).
:type deletion_time: ~datetime.datetime
:ivar api_type: The API type of the restorable database account. Possible values include:
"MongoDB", "Gremlin", "Cassandra", "Table", "Sql", "GremlinV2".
:vartype api_type: str or ~azure.mgmt.cosmosdb.models.ApiType
:ivar restorable_locations: List of regions where the of the database account can be restored
from.
:vartype restorable_locations: list[~azure.mgmt.cosmosdb.models.RestorableLocationResource]
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'api_type': {'readonly': True},
'restorable_locations': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'account_name': {'key': 'properties.accountName', 'type': 'str'},
'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'},
'deletion_time': {'key': 'properties.deletionTime', 'type': 'iso-8601'},
'api_type': {'key': 'properties.apiType', 'type': 'str'},
'restorable_locations': {'key': 'properties.restorableLocations', 'type': '[RestorableLocationResource]'},
}
def __init__(
self,
*,
location: Optional[str] = None,
account_name: Optional[str] = None,
creation_time: Optional[datetime.datetime] = None,
deletion_time: Optional[datetime.datetime] = None,
**kwargs
):
super(RestorableDatabaseAccountGetResult, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.location = location
self.account_name = account_name
self.creation_time = creation_time
self.deletion_time = deletion_time
self.api_type = None
self.restorable_locations = None
[docs]class RestorableDatabaseAccountsListResult(msrest.serialization.Model):
"""The List operation response, that contains the restorable database accounts and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of restorable database accounts and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResult]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[RestorableDatabaseAccountGetResult]'},
}
def __init__(
self,
**kwargs
):
super(RestorableDatabaseAccountsListResult, self).__init__(**kwargs)
self.value = None
[docs]class RestorableLocationResource(msrest.serialization.Model):
"""Properties of the regional restorable account.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar location_name: The location of the regional restorable account.
:vartype location_name: str
:ivar regional_database_account_instance_id: The instance id of the regional restorable
account.
:vartype regional_database_account_instance_id: str
:ivar creation_time: The creation time of the regional restorable database account (ISO-8601
format).
:vartype creation_time: ~datetime.datetime
:ivar deletion_time: The time at which the regional restorable database account has been
deleted (ISO-8601 format).
:vartype deletion_time: ~datetime.datetime
"""
_validation = {
'location_name': {'readonly': True},
'regional_database_account_instance_id': {'readonly': True},
'creation_time': {'readonly': True},
'deletion_time': {'readonly': True},
}
_attribute_map = {
'location_name': {'key': 'locationName', 'type': 'str'},
'regional_database_account_instance_id': {'key': 'regionalDatabaseAccountInstanceId', 'type': 'str'},
'creation_time': {'key': 'creationTime', 'type': 'iso-8601'},
'deletion_time': {'key': 'deletionTime', 'type': 'iso-8601'},
}
def __init__(
self,
**kwargs
):
super(RestorableLocationResource, self).__init__(**kwargs)
self.location_name = None
self.regional_database_account_instance_id = None
self.creation_time = None
self.deletion_time = None
[docs]class RestorableMongodbCollectionGetResult(msrest.serialization.Model):
"""An Azure Cosmos DB MongoDB collection event.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource Identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param resource: The resource of an Azure Cosmos DB MongoDB collection event.
:type resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionPropertiesResource
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbCollectionPropertiesResource'},
}
def __init__(
self,
*,
resource: Optional["RestorableMongodbCollectionPropertiesResource"] = None,
**kwargs
):
super(RestorableMongodbCollectionGetResult, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.resource = resource
[docs]class RestorableMongodbCollectionPropertiesResource(msrest.serialization.Model):
"""The resource of an Azure Cosmos DB MongoDB collection event.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar operation_type: The operation type of this collection event. Possible values include:
"Create", "Replace", "Delete", "SystemOperation".
:vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType
:ivar event_timestamp: The time when this collection event happened.
:vartype event_timestamp: str
:ivar owner_id: The name of this MongoDB collection.
:vartype owner_id: str
:ivar owner_resource_id: The resource ID of this MongoDB collection.
:vartype owner_resource_id: str
"""
_validation = {
'rid': {'readonly': True},
'operation_type': {'readonly': True},
'event_timestamp': {'readonly': True},
'owner_id': {'readonly': True},
'owner_resource_id': {'readonly': True},
}
_attribute_map = {
'rid': {'key': '_rid', 'type': 'str'},
'operation_type': {'key': 'operationType', 'type': 'str'},
'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'},
'owner_id': {'key': 'ownerId', 'type': 'str'},
'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(RestorableMongodbCollectionPropertiesResource, self).__init__(**kwargs)
self.rid = None
self.operation_type = None
self.event_timestamp = None
self.owner_id = None
self.owner_resource_id = None
[docs]class RestorableMongodbCollectionsListResult(msrest.serialization.Model):
"""The List operation response, that contains the MongoDB collection events and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of MongoDB collection events and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionGetResult]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[RestorableMongodbCollectionGetResult]'},
}
def __init__(
self,
**kwargs
):
super(RestorableMongodbCollectionsListResult, self).__init__(**kwargs)
self.value = None
[docs]class RestorableMongodbDatabaseGetResult(msrest.serialization.Model):
"""An Azure Cosmos DB MongoDB database event.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource Identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param resource: The resource of an Azure Cosmos DB MongoDB database event.
:type resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasePropertiesResource
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbDatabasePropertiesResource'},
}
def __init__(
self,
*,
resource: Optional["RestorableMongodbDatabasePropertiesResource"] = None,
**kwargs
):
super(RestorableMongodbDatabaseGetResult, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.resource = resource
[docs]class RestorableMongodbDatabasePropertiesResource(msrest.serialization.Model):
"""The resource of an Azure Cosmos DB MongoDB database event.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar operation_type: The operation type of this database event. Possible values include:
"Create", "Replace", "Delete", "SystemOperation".
:vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType
:ivar event_timestamp: The time when this database event happened.
:vartype event_timestamp: str
:ivar owner_id: The name of this MongoDB database.
:vartype owner_id: str
:ivar owner_resource_id: The resource ID of this MongoDB database.
:vartype owner_resource_id: str
"""
_validation = {
'rid': {'readonly': True},
'operation_type': {'readonly': True},
'event_timestamp': {'readonly': True},
'owner_id': {'readonly': True},
'owner_resource_id': {'readonly': True},
}
_attribute_map = {
'rid': {'key': '_rid', 'type': 'str'},
'operation_type': {'key': 'operationType', 'type': 'str'},
'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'},
'owner_id': {'key': 'ownerId', 'type': 'str'},
'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(RestorableMongodbDatabasePropertiesResource, self).__init__(**kwargs)
self.rid = None
self.operation_type = None
self.event_timestamp = None
self.owner_id = None
self.owner_resource_id = None
[docs]class RestorableMongodbDatabasesListResult(msrest.serialization.Model):
"""The List operation response, that contains the MongoDB database events and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of MongoDB database events and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabaseGetResult]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[RestorableMongodbDatabaseGetResult]'},
}
def __init__(
self,
**kwargs
):
super(RestorableMongodbDatabasesListResult, self).__init__(**kwargs)
self.value = None
[docs]class RestorableMongodbResourcesListResult(msrest.serialization.Model):
"""The List operation response, that contains the restorable MongoDB resources.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of restorable MongoDB resources, including the database and collection names.
:vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[DatabaseRestoreResource]'},
}
def __init__(
self,
**kwargs
):
super(RestorableMongodbResourcesListResult, self).__init__(**kwargs)
self.value = None
[docs]class RestorableSqlContainerGetResult(msrest.serialization.Model):
"""An Azure Cosmos DB SQL container event.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource Identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param resource: The resource of an Azure Cosmos DB SQL container event.
:type resource: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResource
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'resource': {'key': 'properties.resource', 'type': 'RestorableSqlContainerPropertiesResource'},
}
def __init__(
self,
*,
resource: Optional["RestorableSqlContainerPropertiesResource"] = None,
**kwargs
):
super(RestorableSqlContainerGetResult, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.resource = resource
[docs]class RestorableSqlContainerPropertiesResource(msrest.serialization.Model):
"""The resource of an Azure Cosmos DB SQL container event.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar operation_type: The operation type of this container event. Possible values include:
"Create", "Replace", "Delete", "SystemOperation".
:vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType
:ivar event_timestamp: The when this container event happened.
:vartype event_timestamp: str
:ivar owner_id: The name of this SQL container.
:vartype owner_id: str
:ivar owner_resource_id: The resource ID of this SQL container.
:vartype owner_resource_id: str
:param container: Cosmos DB SQL container resource object.
:type container: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResourceContainer
"""
_validation = {
'rid': {'readonly': True},
'operation_type': {'readonly': True},
'event_timestamp': {'readonly': True},
'owner_id': {'readonly': True},
'owner_resource_id': {'readonly': True},
}
_attribute_map = {
'rid': {'key': '_rid', 'type': 'str'},
'operation_type': {'key': 'operationType', 'type': 'str'},
'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'},
'owner_id': {'key': 'ownerId', 'type': 'str'},
'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'},
'container': {'key': 'container', 'type': 'RestorableSqlContainerPropertiesResourceContainer'},
}
def __init__(
self,
*,
container: Optional["RestorableSqlContainerPropertiesResourceContainer"] = None,
**kwargs
):
super(RestorableSqlContainerPropertiesResource, self).__init__(**kwargs)
self.rid = None
self.operation_type = None
self.event_timestamp = None
self.owner_id = None
self.owner_resource_id = None
self.container = container
[docs]class SqlContainerResource(msrest.serialization.Model):
"""Cosmos DB SQL container resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL container.
:type id: str
:param indexing_policy: The configuration of the indexing policy. By default, the indexing is
automatic for all document paths within the container.
:type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy
:param partition_key: The configuration of the partition key to be used for partitioning data
into multiple partitions.
:type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey
:param default_ttl: Default time to live.
:type default_ttl: int
:param unique_key_policy: The unique key policy configuration for specifying uniqueness
constraints on documents in the collection in the Azure Cosmos DB service.
:type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy
:param conflict_resolution_policy: The conflict resolution policy for the container.
:type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy
:param analytical_storage_ttl: Analytical TTL.
:type analytical_storage_ttl: long
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'},
'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'},
'default_ttl': {'key': 'defaultTtl', 'type': 'int'},
'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'},
'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'},
'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'},
}
def __init__(
self,
*,
id: str,
indexing_policy: Optional["IndexingPolicy"] = None,
partition_key: Optional["ContainerPartitionKey"] = None,
default_ttl: Optional[int] = None,
unique_key_policy: Optional["UniqueKeyPolicy"] = None,
conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None,
analytical_storage_ttl: Optional[int] = None,
**kwargs
):
super(SqlContainerResource, self).__init__(**kwargs)
self.id = id
self.indexing_policy = indexing_policy
self.partition_key = partition_key
self.default_ttl = default_ttl
self.unique_key_policy = unique_key_policy
self.conflict_resolution_policy = conflict_resolution_policy
self.analytical_storage_ttl = analytical_storage_ttl
[docs]class RestorableSqlContainerPropertiesResourceContainer(ExtendedResourceProperties, SqlContainerResource):
"""Cosmos DB SQL container resource object.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL container.
:type id: str
:param indexing_policy: The configuration of the indexing policy. By default, the indexing is
automatic for all document paths within the container.
:type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy
:param partition_key: The configuration of the partition key to be used for partitioning data
into multiple partitions.
:type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey
:param default_ttl: Default time to live.
:type default_ttl: int
:param unique_key_policy: The unique key policy configuration for specifying uniqueness
constraints on documents in the collection in the Azure Cosmos DB service.
:type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy
:param conflict_resolution_policy: The conflict resolution policy for the container.
:type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy
:param analytical_storage_ttl: Analytical TTL.
:type analytical_storage_ttl: long
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
:ivar self_property: A system generated property that specifies the addressable path of the
container resource.
:vartype self_property: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
'self_property': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'},
'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'},
'default_ttl': {'key': 'defaultTtl', 'type': 'int'},
'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'},
'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'},
'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
'self_property': {'key': '_self', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
indexing_policy: Optional["IndexingPolicy"] = None,
partition_key: Optional["ContainerPartitionKey"] = None,
default_ttl: Optional[int] = None,
unique_key_policy: Optional["UniqueKeyPolicy"] = None,
conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None,
analytical_storage_ttl: Optional[int] = None,
**kwargs
):
super(RestorableSqlContainerPropertiesResourceContainer, self).__init__(id=id, indexing_policy=indexing_policy, partition_key=partition_key, default_ttl=default_ttl, unique_key_policy=unique_key_policy, conflict_resolution_policy=conflict_resolution_policy, analytical_storage_ttl=analytical_storage_ttl, **kwargs)
self.id = id
self.indexing_policy = indexing_policy
self.partition_key = partition_key
self.default_ttl = default_ttl
self.unique_key_policy = unique_key_policy
self.conflict_resolution_policy = conflict_resolution_policy
self.analytical_storage_ttl = analytical_storage_ttl
self.self_property = None
self.rid = None
self.ts = None
self.etag = None
self.self_property = None
[docs]class RestorableSqlContainersListResult(msrest.serialization.Model):
"""The List operation response, that contains the SQL container events and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of SQL container events and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.RestorableSqlContainerGetResult]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[RestorableSqlContainerGetResult]'},
}
def __init__(
self,
**kwargs
):
super(RestorableSqlContainersListResult, self).__init__(**kwargs)
self.value = None
[docs]class RestorableSqlDatabaseGetResult(msrest.serialization.Model):
"""An Azure Cosmos DB SQL database event.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource Identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param resource: The resource of an Azure Cosmos DB SQL database event.
:type resource: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResource
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'resource': {'key': 'properties.resource', 'type': 'RestorableSqlDatabasePropertiesResource'},
}
def __init__(
self,
*,
resource: Optional["RestorableSqlDatabasePropertiesResource"] = None,
**kwargs
):
super(RestorableSqlDatabaseGetResult, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.resource = resource
[docs]class RestorableSqlDatabasePropertiesResource(msrest.serialization.Model):
"""The resource of an Azure Cosmos DB SQL database event.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar operation_type: The operation type of this database event. Possible values include:
"Create", "Replace", "Delete", "SystemOperation".
:vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType
:ivar event_timestamp: The time when this database event happened.
:vartype event_timestamp: str
:ivar owner_id: The name of the SQL database.
:vartype owner_id: str
:ivar owner_resource_id: The resource ID of the SQL database.
:vartype owner_resource_id: str
:param database: Cosmos DB SQL database resource object.
:type database: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResourceDatabase
"""
_validation = {
'rid': {'readonly': True},
'operation_type': {'readonly': True},
'event_timestamp': {'readonly': True},
'owner_id': {'readonly': True},
'owner_resource_id': {'readonly': True},
}
_attribute_map = {
'rid': {'key': '_rid', 'type': 'str'},
'operation_type': {'key': 'operationType', 'type': 'str'},
'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'},
'owner_id': {'key': 'ownerId', 'type': 'str'},
'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'},
'database': {'key': 'database', 'type': 'RestorableSqlDatabasePropertiesResourceDatabase'},
}
def __init__(
self,
*,
database: Optional["RestorableSqlDatabasePropertiesResourceDatabase"] = None,
**kwargs
):
super(RestorableSqlDatabasePropertiesResource, self).__init__(**kwargs)
self.rid = None
self.operation_type = None
self.event_timestamp = None
self.owner_id = None
self.owner_resource_id = None
self.database = database
[docs]class SqlDatabaseResource(msrest.serialization.Model):
"""Cosmos DB SQL database resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL database.
:type id: str
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(SqlDatabaseResource, self).__init__(**kwargs)
self.id = id
[docs]class RestorableSqlDatabasePropertiesResourceDatabase(ExtendedResourceProperties, SqlDatabaseResource):
"""Cosmos DB SQL database resource object.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL database.
:type id: str
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
:ivar colls: A system generated property that specified the addressable path of the collections
resource.
:vartype colls: str
:ivar users: A system generated property that specifies the addressable path of the users
resource.
:vartype users: str
:ivar self_property: A system generated property that specifies the addressable path of the
database resource.
:vartype self_property: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
'colls': {'readonly': True},
'users': {'readonly': True},
'self_property': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
'colls': {'key': '_colls', 'type': 'str'},
'users': {'key': '_users', 'type': 'str'},
'self_property': {'key': '_self', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(RestorableSqlDatabasePropertiesResourceDatabase, self).__init__(id=id, **kwargs)
self.id = id
self.colls = None
self.users = None
self.self_property = None
self.rid = None
self.ts = None
self.etag = None
self.colls = None
self.users = None
self.self_property = None
[docs]class RestorableSqlDatabasesListResult(msrest.serialization.Model):
"""The List operation response, that contains the SQL database events and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of SQL database events and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.RestorableSqlDatabaseGetResult]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[RestorableSqlDatabaseGetResult]'},
}
def __init__(
self,
**kwargs
):
super(RestorableSqlDatabasesListResult, self).__init__(**kwargs)
self.value = None
[docs]class RestorableSqlResourcesListResult(msrest.serialization.Model):
"""The List operation response, that contains the restorable SQL resources.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of restorable SQL resources, including the database and collection names.
:vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[DatabaseRestoreResource]'},
}
def __init__(
self,
**kwargs
):
super(RestorableSqlResourcesListResult, self).__init__(**kwargs)
self.value = None
[docs]class RestoreParameters(msrest.serialization.Model):
"""Parameters to indicate the information about the restore.
:param restore_mode: Describes the mode of the restore. Possible values include: "PointInTime".
:type restore_mode: str or ~azure.mgmt.cosmosdb.models.RestoreMode
:param restore_source: 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}.
:type restore_source: str
:param restore_timestamp_in_utc: Time to which the account has to be restored (ISO-8601
format).
:type restore_timestamp_in_utc: ~datetime.datetime
:param databases_to_restore: List of specific databases available for restore.
:type databases_to_restore: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource]
"""
_attribute_map = {
'restore_mode': {'key': 'restoreMode', 'type': 'str'},
'restore_source': {'key': 'restoreSource', 'type': 'str'},
'restore_timestamp_in_utc': {'key': 'restoreTimestampInUtc', 'type': 'iso-8601'},
'databases_to_restore': {'key': 'databasesToRestore', 'type': '[DatabaseRestoreResource]'},
}
def __init__(
self,
*,
restore_mode: Optional[Union[str, "RestoreMode"]] = None,
restore_source: Optional[str] = None,
restore_timestamp_in_utc: Optional[datetime.datetime] = None,
databases_to_restore: Optional[List["DatabaseRestoreResource"]] = None,
**kwargs
):
super(RestoreParameters, self).__init__(**kwargs)
self.restore_mode = restore_mode
self.restore_source = restore_source
self.restore_timestamp_in_utc = restore_timestamp_in_utc
self.databases_to_restore = databases_to_restore
[docs]class SeedNode(msrest.serialization.Model):
"""SeedNode.
:param ip_address: IP address of this seed node.
:type ip_address: str
"""
_attribute_map = {
'ip_address': {'key': 'ipAddress', 'type': 'str'},
}
def __init__(
self,
*,
ip_address: Optional[str] = None,
**kwargs
):
super(SeedNode, self).__init__(**kwargs)
self.ip_address = ip_address
[docs]class ServiceResource(ARMProxyResource):
"""Properties for the database account.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the database account.
:vartype id: str
:ivar name: The name of the database account.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param properties: Services response resource.
:type properties: ~azure.mgmt.cosmosdb.models.ServiceResourceProperties
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'ServiceResourceProperties'},
}
def __init__(
self,
*,
properties: Optional["ServiceResourceProperties"] = None,
**kwargs
):
super(ServiceResource, self).__init__(**kwargs)
self.properties = properties
[docs]class ServiceResourceCreateUpdateParameters(msrest.serialization.Model):
"""Parameters for Create or Update Request for ServiceResource.
:param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s",
"Cosmos.D8s", "Cosmos.D16s".
:type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize
:param instance_count: Instance count for the service.
:type instance_count: int
:param service_type: ServiceType for the service. Possible values include:
"SqlDedicatedGateway", "DataTransfer", "GraphAPICompute".
:type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType
"""
_validation = {
'instance_count': {'minimum': 0},
}
_attribute_map = {
'instance_size': {'key': 'properties.instanceSize', 'type': 'str'},
'instance_count': {'key': 'properties.instanceCount', 'type': 'int'},
'service_type': {'key': 'properties.serviceType', 'type': 'str'},
}
def __init__(
self,
*,
instance_size: Optional[Union[str, "ServiceSize"]] = None,
instance_count: Optional[int] = None,
service_type: Optional[Union[str, "ServiceType"]] = None,
**kwargs
):
super(ServiceResourceCreateUpdateParameters, self).__init__(**kwargs)
self.instance_size = instance_size
self.instance_count = instance_count
self.service_type = service_type
[docs]class ServiceResourceListResult(msrest.serialization.Model):
"""The List operation response, that contains the Service Resource and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of Service Resource and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.ServiceResource]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[ServiceResource]'},
}
def __init__(
self,
**kwargs
):
super(ServiceResourceListResult, self).__init__(**kwargs)
self.value = None
[docs]class SpatialSpec(msrest.serialization.Model):
"""SpatialSpec.
:param path: The path for which the indexing behavior applies to. Index paths typically start
with root and end with wildcard (/path/*).
:type path: str
:param types: List of path's spatial type.
:type types: list[str or ~azure.mgmt.cosmosdb.models.SpatialType]
"""
_attribute_map = {
'path': {'key': 'path', 'type': 'str'},
'types': {'key': 'types', 'type': '[str]'},
}
def __init__(
self,
*,
path: Optional[str] = None,
types: Optional[List[Union[str, "SpatialType"]]] = None,
**kwargs
):
super(SpatialSpec, self).__init__(**kwargs)
self.path = path
self.types = types
[docs]class SqlContainerCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB container.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a container.
:type resource: ~azure.mgmt.cosmosdb.models.SqlContainerResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'SqlContainerResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "SqlContainerResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(SqlContainerCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class SqlContainerGetPropertiesOptions(OptionsResource):
"""SqlContainerGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(SqlContainerGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class SqlContainerGetPropertiesResource(ExtendedResourceProperties, SqlContainerResource):
"""SqlContainerGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL container.
:type id: str
:param indexing_policy: The configuration of the indexing policy. By default, the indexing is
automatic for all document paths within the container.
:type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy
:param partition_key: The configuration of the partition key to be used for partitioning data
into multiple partitions.
:type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey
:param default_ttl: Default time to live.
:type default_ttl: int
:param unique_key_policy: The unique key policy configuration for specifying uniqueness
constraints on documents in the collection in the Azure Cosmos DB service.
:type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy
:param conflict_resolution_policy: The conflict resolution policy for the container.
:type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy
:param analytical_storage_ttl: Analytical TTL.
:type analytical_storage_ttl: long
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'},
'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'},
'default_ttl': {'key': 'defaultTtl', 'type': 'int'},
'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'},
'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'},
'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
indexing_policy: Optional["IndexingPolicy"] = None,
partition_key: Optional["ContainerPartitionKey"] = None,
default_ttl: Optional[int] = None,
unique_key_policy: Optional["UniqueKeyPolicy"] = None,
conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None,
analytical_storage_ttl: Optional[int] = None,
**kwargs
):
super(SqlContainerGetPropertiesResource, self).__init__(id=id, indexing_policy=indexing_policy, partition_key=partition_key, default_ttl=default_ttl, unique_key_policy=unique_key_policy, conflict_resolution_policy=conflict_resolution_policy, analytical_storage_ttl=analytical_storage_ttl, **kwargs)
self.id = id
self.indexing_policy = indexing_policy
self.partition_key = partition_key
self.default_ttl = default_ttl
self.unique_key_policy = unique_key_policy
self.conflict_resolution_policy = conflict_resolution_policy
self.analytical_storage_ttl = analytical_storage_ttl
self.rid = None
self.ts = None
self.etag = None
[docs]class SqlContainerGetResults(ARMResourceProperties):
"""An Azure Cosmos DB container.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'SqlContainerGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'SqlContainerGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["SqlContainerGetPropertiesResource"] = None,
options: Optional["SqlContainerGetPropertiesOptions"] = None,
**kwargs
):
super(SqlContainerGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class SqlContainerListResult(msrest.serialization.Model):
"""The List operation response, that contains the containers and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of containers and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.SqlContainerGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[SqlContainerGetResults]'},
}
def __init__(
self,
**kwargs
):
super(SqlContainerListResult, self).__init__(**kwargs)
self.value = None
[docs]class SqlDatabaseCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB SQL database.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a SQL database.
:type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'SqlDatabaseResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "SqlDatabaseResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(SqlDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class SqlDatabaseGetPropertiesOptions(OptionsResource):
"""SqlDatabaseGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(SqlDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class SqlDatabaseGetPropertiesResource(ExtendedResourceProperties, SqlDatabaseResource):
"""SqlDatabaseGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL database.
:type id: str
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
:param colls: A system generated property that specified the addressable path of the
collections resource.
:type colls: str
:param users: A system generated property that specifies the addressable path of the users
resource.
:type users: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
'colls': {'key': '_colls', 'type': 'str'},
'users': {'key': '_users', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
colls: Optional[str] = None,
users: Optional[str] = None,
**kwargs
):
super(SqlDatabaseGetPropertiesResource, self).__init__(id=id, **kwargs)
self.id = id
self.colls = colls
self.users = users
self.rid = None
self.ts = None
self.etag = None
self.colls = colls
self.users = users
[docs]class SqlDatabaseGetResults(ARMResourceProperties):
"""An Azure Cosmos DB SQL database.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'SqlDatabaseGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'SqlDatabaseGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["SqlDatabaseGetPropertiesResource"] = None,
options: Optional["SqlDatabaseGetPropertiesOptions"] = None,
**kwargs
):
super(SqlDatabaseGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class SqlDatabaseListResult(msrest.serialization.Model):
"""The List operation response, that contains the SQL databases and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of SQL databases and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[SqlDatabaseGetResults]'},
}
def __init__(
self,
**kwargs
):
super(SqlDatabaseListResult, self).__init__(**kwargs)
self.value = None
[docs]class SqlDedicatedGatewayRegionalServiceResource(RegionalServiceResource):
"""Resource for a regional service location.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar name: The regional service name.
:vartype name: str
:ivar location: The location name.
:vartype location: str
:ivar status: Describes the status of a service. Possible values include: "Creating",
"Running", "Updating", "Deleting", "Error", "Stopped".
:vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus
:ivar sql_dedicated_gateway_endpoint: The regional endpoint for SqlDedicatedGateway.
:vartype sql_dedicated_gateway_endpoint: str
"""
_validation = {
'name': {'readonly': True},
'location': {'readonly': True},
'status': {'readonly': True},
'sql_dedicated_gateway_endpoint': {'readonly': True},
}
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'sql_dedicated_gateway_endpoint': {'key': 'sqlDedicatedGatewayEndpoint', 'type': 'str'},
}
def __init__(
self,
**kwargs
):
super(SqlDedicatedGatewayRegionalServiceResource, self).__init__(**kwargs)
self.sql_dedicated_gateway_endpoint = None
[docs]class SqlDedicatedGatewayServiceResource(msrest.serialization.Model):
"""Describes the service response property for SqlDedicatedGateway.
:param properties: Properties for SqlDedicatedGatewayServiceResource.
:type properties: ~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayServiceResourceProperties
"""
_attribute_map = {
'properties': {'key': 'properties', 'type': 'SqlDedicatedGatewayServiceResourceProperties'},
}
def __init__(
self,
*,
properties: Optional["SqlDedicatedGatewayServiceResourceProperties"] = None,
**kwargs
):
super(SqlDedicatedGatewayServiceResource, self).__init__(**kwargs)
self.properties = properties
[docs]class SqlDedicatedGatewayServiceResourceProperties(ServiceResourceProperties):
"""Properties for SqlDedicatedGatewayServiceResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param additional_properties: Unmatched properties from the message are deserialized to this
collection.
:type additional_properties: dict[str, any]
:ivar creation_time: Time of the last state change (ISO-8601 format).
:vartype creation_time: ~datetime.datetime
:param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s",
"Cosmos.D8s", "Cosmos.D16s".
:type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize
:param instance_count: Instance count for the service.
:type instance_count: int
:param service_type: Required. ServiceType for the service.Constant filled by server. Possible
values include: "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute".
:type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType
:ivar status: Describes the status of a service. Possible values include: "Creating",
"Running", "Updating", "Deleting", "Error", "Stopped".
:vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus
:param sql_dedicated_gateway_endpoint: SqlDedicatedGateway endpoint for the service.
:type sql_dedicated_gateway_endpoint: str
:ivar locations: An array that contains all of the locations for the service.
:vartype locations:
list[~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayRegionalServiceResource]
"""
_validation = {
'creation_time': {'readonly': True},
'instance_count': {'minimum': 0},
'service_type': {'required': True},
'status': {'readonly': True},
'locations': {'readonly': True},
}
_attribute_map = {
'additional_properties': {'key': '', 'type': '{object}'},
'creation_time': {'key': 'creationTime', 'type': 'iso-8601'},
'instance_size': {'key': 'instanceSize', 'type': 'str'},
'instance_count': {'key': 'instanceCount', 'type': 'int'},
'service_type': {'key': 'serviceType', 'type': 'str'},
'status': {'key': 'status', 'type': 'str'},
'sql_dedicated_gateway_endpoint': {'key': 'sqlDedicatedGatewayEndpoint', 'type': 'str'},
'locations': {'key': 'locations', 'type': '[SqlDedicatedGatewayRegionalServiceResource]'},
}
def __init__(
self,
*,
additional_properties: Optional[Dict[str, Any]] = None,
instance_size: Optional[Union[str, "ServiceSize"]] = None,
instance_count: Optional[int] = None,
sql_dedicated_gateway_endpoint: Optional[str] = None,
**kwargs
):
super(SqlDedicatedGatewayServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, **kwargs)
self.service_type = 'SqlDedicatedGateway' # type: str
self.sql_dedicated_gateway_endpoint = sql_dedicated_gateway_endpoint
self.locations = None
[docs]class SqlRoleAssignmentCreateUpdateParameters(msrest.serialization.Model):
"""Parameters to create and update an Azure Cosmos DB SQL Role Assignment.
:param role_definition_id: The unique identifier for the associated Role Definition.
:type role_definition_id: str
:param scope: The data plane resource path for which access is being granted through this Role
Assignment.
:type scope: str
:param principal_id: The unique identifier for the associated AAD principal in the AAD graph to
which access is being granted through this Role Assignment. Tenant ID for the principal is
inferred using the tenant associated with the subscription.
:type principal_id: str
"""
_attribute_map = {
'role_definition_id': {'key': 'properties.roleDefinitionId', 'type': 'str'},
'scope': {'key': 'properties.scope', 'type': 'str'},
'principal_id': {'key': 'properties.principalId', 'type': 'str'},
}
def __init__(
self,
*,
role_definition_id: Optional[str] = None,
scope: Optional[str] = None,
principal_id: Optional[str] = None,
**kwargs
):
super(SqlRoleAssignmentCreateUpdateParameters, self).__init__(**kwargs)
self.role_definition_id = role_definition_id
self.scope = scope
self.principal_id = principal_id
[docs]class SqlRoleAssignmentGetResults(ARMProxyResource):
"""An Azure Cosmos DB Role Assignment.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the database account.
:vartype id: str
:ivar name: The name of the database account.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param role_definition_id: The unique identifier for the associated Role Definition.
:type role_definition_id: str
:param scope: The data plane resource path for which access is being granted through this Role
Assignment.
:type scope: str
:param principal_id: The unique identifier for the associated AAD principal in the AAD graph to
which access is being granted through this Role Assignment. Tenant ID for the principal is
inferred using the tenant associated with the subscription.
:type principal_id: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'role_definition_id': {'key': 'properties.roleDefinitionId', 'type': 'str'},
'scope': {'key': 'properties.scope', 'type': 'str'},
'principal_id': {'key': 'properties.principalId', 'type': 'str'},
}
def __init__(
self,
*,
role_definition_id: Optional[str] = None,
scope: Optional[str] = None,
principal_id: Optional[str] = None,
**kwargs
):
super(SqlRoleAssignmentGetResults, self).__init__(**kwargs)
self.role_definition_id = role_definition_id
self.scope = scope
self.principal_id = principal_id
[docs]class SqlRoleAssignmentListResult(msrest.serialization.Model):
"""The relevant Role Assignments.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of Role Assignments and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[SqlRoleAssignmentGetResults]'},
}
def __init__(
self,
**kwargs
):
super(SqlRoleAssignmentListResult, self).__init__(**kwargs)
self.value = None
[docs]class SqlRoleDefinitionCreateUpdateParameters(msrest.serialization.Model):
"""Parameters to create and update an Azure Cosmos DB SQL Role Definition.
:param role_name: A user-friendly name for the Role Definition. Must be unique for the database
account.
:type role_name: str
:param type: Indicates whether the Role Definition was built-in or user created. Possible
values include: "BuiltInRole", "CustomRole".
:type type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType
:param assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments
may be created using this Role Definition. This will allow application of this Role Definition
on the entire database account or any underlying Database / Collection. Must have at least one
element. Scopes higher than Database account are not enforceable as assignable Scopes. Note
that resources referenced in assignable Scopes need not exist.
:type assignable_scopes: list[str]
:param permissions: The set of operations allowed through this Role Definition.
:type permissions: list[~azure.mgmt.cosmosdb.models.Permission]
"""
_attribute_map = {
'role_name': {'key': 'properties.roleName', 'type': 'str'},
'type': {'key': 'properties.type', 'type': 'str'},
'assignable_scopes': {'key': 'properties.assignableScopes', 'type': '[str]'},
'permissions': {'key': 'properties.permissions', 'type': '[Permission]'},
}
def __init__(
self,
*,
role_name: Optional[str] = None,
type: Optional[Union[str, "RoleDefinitionType"]] = None,
assignable_scopes: Optional[List[str]] = None,
permissions: Optional[List["Permission"]] = None,
**kwargs
):
super(SqlRoleDefinitionCreateUpdateParameters, self).__init__(**kwargs)
self.role_name = role_name
self.type = type
self.assignable_scopes = assignable_scopes
self.permissions = permissions
[docs]class SqlRoleDefinitionGetResults(ARMProxyResource):
"""An Azure Cosmos DB SQL Role Definition.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the database account.
:vartype id: str
:ivar name: The name of the database account.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param role_name: A user-friendly name for the Role Definition. Must be unique for the database
account.
:type role_name: str
:param type_properties_type: Indicates whether the Role Definition was built-in or user
created. Possible values include: "BuiltInRole", "CustomRole".
:type type_properties_type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType
:param assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments
may be created using this Role Definition. This will allow application of this Role Definition
on the entire database account or any underlying Database / Collection. Must have at least one
element. Scopes higher than Database account are not enforceable as assignable Scopes. Note
that resources referenced in assignable Scopes need not exist.
:type assignable_scopes: list[str]
:param permissions: The set of operations allowed through this Role Definition.
:type permissions: list[~azure.mgmt.cosmosdb.models.Permission]
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'role_name': {'key': 'properties.roleName', 'type': 'str'},
'type_properties_type': {'key': 'properties.type', 'type': 'str'},
'assignable_scopes': {'key': 'properties.assignableScopes', 'type': '[str]'},
'permissions': {'key': 'properties.permissions', 'type': '[Permission]'},
}
def __init__(
self,
*,
role_name: Optional[str] = None,
type_properties_type: Optional[Union[str, "RoleDefinitionType"]] = None,
assignable_scopes: Optional[List[str]] = None,
permissions: Optional[List["Permission"]] = None,
**kwargs
):
super(SqlRoleDefinitionGetResults, self).__init__(**kwargs)
self.role_name = role_name
self.type_properties_type = type_properties_type
self.assignable_scopes = assignable_scopes
self.permissions = permissions
[docs]class SqlRoleDefinitionListResult(msrest.serialization.Model):
"""The relevant Role Definitions.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of Role Definitions and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[SqlRoleDefinitionGetResults]'},
}
def __init__(
self,
**kwargs
):
super(SqlRoleDefinitionListResult, self).__init__(**kwargs)
self.value = None
[docs]class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB storedProcedure.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a storedProcedure.
:type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'SqlStoredProcedureResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "SqlStoredProcedureResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(SqlStoredProcedureCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class SqlStoredProcedureResource(msrest.serialization.Model):
"""Cosmos DB SQL storedProcedure resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL storedProcedure.
:type id: str
:param body: Body of the Stored Procedure.
:type body: str
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'body': {'key': 'body', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
body: Optional[str] = None,
**kwargs
):
super(SqlStoredProcedureResource, self).__init__(**kwargs)
self.id = id
self.body = body
[docs]class SqlStoredProcedureGetPropertiesResource(ExtendedResourceProperties, SqlStoredProcedureResource):
"""SqlStoredProcedureGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL storedProcedure.
:type id: str
:param body: Body of the Stored Procedure.
:type body: str
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'body': {'key': 'body', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
body: Optional[str] = None,
**kwargs
):
super(SqlStoredProcedureGetPropertiesResource, self).__init__(id=id, body=body, **kwargs)
self.id = id
self.body = body
self.rid = None
self.ts = None
self.etag = None
[docs]class SqlStoredProcedureGetResults(ARMResourceProperties):
"""An Azure Cosmos DB storedProcedure.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetPropertiesResource
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'SqlStoredProcedureGetPropertiesResource'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["SqlStoredProcedureGetPropertiesResource"] = None,
**kwargs
):
super(SqlStoredProcedureGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
[docs]class SqlStoredProcedureListResult(msrest.serialization.Model):
"""The List operation response, that contains the storedProcedures and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of storedProcedures and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[SqlStoredProcedureGetResults]'},
}
def __init__(
self,
**kwargs
):
super(SqlStoredProcedureListResult, self).__init__(**kwargs)
self.value = None
[docs]class SqlTriggerCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB trigger.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a trigger.
:type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'SqlTriggerResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "SqlTriggerResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(SqlTriggerCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class SqlTriggerResource(msrest.serialization.Model):
"""Cosmos DB SQL trigger resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL trigger.
:type id: str
:param body: Body of the Trigger.
:type body: str
:param trigger_type: Type of the Trigger. Possible values include: "Pre", "Post".
:type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType
:param trigger_operation: The operation the trigger is associated with. Possible values
include: "All", "Create", "Update", "Delete", "Replace".
:type trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'body': {'key': 'body', 'type': 'str'},
'trigger_type': {'key': 'triggerType', 'type': 'str'},
'trigger_operation': {'key': 'triggerOperation', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
body: Optional[str] = None,
trigger_type: Optional[Union[str, "TriggerType"]] = None,
trigger_operation: Optional[Union[str, "TriggerOperation"]] = None,
**kwargs
):
super(SqlTriggerResource, self).__init__(**kwargs)
self.id = id
self.body = body
self.trigger_type = trigger_type
self.trigger_operation = trigger_operation
[docs]class SqlTriggerGetPropertiesResource(ExtendedResourceProperties, SqlTriggerResource):
"""SqlTriggerGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL trigger.
:type id: str
:param body: Body of the Trigger.
:type body: str
:param trigger_type: Type of the Trigger. Possible values include: "Pre", "Post".
:type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType
:param trigger_operation: The operation the trigger is associated with. Possible values
include: "All", "Create", "Update", "Delete", "Replace".
:type trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'body': {'key': 'body', 'type': 'str'},
'trigger_type': {'key': 'triggerType', 'type': 'str'},
'trigger_operation': {'key': 'triggerOperation', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
body: Optional[str] = None,
trigger_type: Optional[Union[str, "TriggerType"]] = None,
trigger_operation: Optional[Union[str, "TriggerOperation"]] = None,
**kwargs
):
super(SqlTriggerGetPropertiesResource, self).__init__(id=id, body=body, trigger_type=trigger_type, trigger_operation=trigger_operation, **kwargs)
self.id = id
self.body = body
self.trigger_type = trigger_type
self.trigger_operation = trigger_operation
self.rid = None
self.ts = None
self.etag = None
[docs]class SqlTriggerGetResults(ARMResourceProperties):
"""An Azure Cosmos DB trigger.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerGetPropertiesResource
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'SqlTriggerGetPropertiesResource'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["SqlTriggerGetPropertiesResource"] = None,
**kwargs
):
super(SqlTriggerGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
[docs]class SqlTriggerListResult(msrest.serialization.Model):
"""The List operation response, that contains the triggers and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of triggers and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[SqlTriggerGetResults]'},
}
def __init__(
self,
**kwargs
):
super(SqlTriggerListResult, self).__init__(**kwargs)
self.value = None
[docs]class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB userDefinedFunction.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a userDefinedFunction.
:type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'SqlUserDefinedFunctionResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "SqlUserDefinedFunctionResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(SqlUserDefinedFunctionCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class SqlUserDefinedFunctionResource(msrest.serialization.Model):
"""Cosmos DB SQL userDefinedFunction resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL userDefinedFunction.
:type id: str
:param body: Body of the User Defined Function.
:type body: str
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'body': {'key': 'body', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
body: Optional[str] = None,
**kwargs
):
super(SqlUserDefinedFunctionResource, self).__init__(**kwargs)
self.id = id
self.body = body
[docs]class SqlUserDefinedFunctionGetPropertiesResource(ExtendedResourceProperties, SqlUserDefinedFunctionResource):
"""SqlUserDefinedFunctionGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB SQL userDefinedFunction.
:type id: str
:param body: Body of the User Defined Function.
:type body: str
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'body': {'key': 'body', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
body: Optional[str] = None,
**kwargs
):
super(SqlUserDefinedFunctionGetPropertiesResource, self).__init__(id=id, body=body, **kwargs)
self.id = id
self.body = body
self.rid = None
self.ts = None
self.etag = None
[docs]class SqlUserDefinedFunctionGetResults(ARMResourceProperties):
"""An Azure Cosmos DB userDefinedFunction.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetPropertiesResource
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'SqlUserDefinedFunctionGetPropertiesResource'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["SqlUserDefinedFunctionGetPropertiesResource"] = None,
**kwargs
):
super(SqlUserDefinedFunctionGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
[docs]class SqlUserDefinedFunctionListResult(msrest.serialization.Model):
"""The List operation response, that contains the userDefinedFunctions and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of userDefinedFunctions and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[SqlUserDefinedFunctionGetResults]'},
}
def __init__(
self,
**kwargs
):
super(SqlUserDefinedFunctionListResult, self).__init__(**kwargs)
self.value = None
[docs]class SystemData(msrest.serialization.Model):
"""Metadata pertaining to creation and last modification of the resource.
:param created_by: The identity that created the resource.
:type created_by: str
:param created_by_type: The type of identity that created the resource. Possible values
include: "User", "Application", "ManagedIdentity", "Key".
:type created_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType
:param created_at: The timestamp of resource creation (UTC).
:type created_at: ~datetime.datetime
:param last_modified_by: The identity that last modified the resource.
:type last_modified_by: str
:param last_modified_by_type: The type of identity that last modified the resource. Possible
values include: "User", "Application", "ManagedIdentity", "Key".
:type last_modified_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType
:param last_modified_at: The timestamp of resource last modification (UTC).
:type last_modified_at: ~datetime.datetime
"""
_attribute_map = {
'created_by': {'key': 'createdBy', 'type': 'str'},
'created_by_type': {'key': 'createdByType', 'type': 'str'},
'created_at': {'key': 'createdAt', 'type': 'iso-8601'},
'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'},
'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'},
'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'},
}
def __init__(
self,
*,
created_by: Optional[str] = None,
created_by_type: Optional[Union[str, "CreatedByType"]] = None,
created_at: Optional[datetime.datetime] = None,
last_modified_by: Optional[str] = None,
last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None,
last_modified_at: Optional[datetime.datetime] = None,
**kwargs
):
super(SystemData, self).__init__(**kwargs)
self.created_by = created_by
self.created_by_type = created_by_type
self.created_at = created_at
self.last_modified_by = last_modified_by
self.last_modified_by_type = last_modified_by_type
self.last_modified_at = last_modified_at
[docs]class TableCreateUpdateParameters(ARMResourceProperties):
"""Parameters to create and update Cosmos DB Table.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a Table.
:type resource: ~azure.mgmt.cosmosdb.models.TableResource
:param options: A key-value pair of options to be applied for the request. This corresponds to
the headers sent with the request.
:type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'TableResource'},
'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'},
}
def __init__(
self,
*,
resource: "TableResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
options: Optional["CreateUpdateOptions"] = None,
**kwargs
):
super(TableCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class TableGetPropertiesOptions(OptionsResource):
"""TableGetPropertiesOptions.
:param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the
ThroughputSetting resource when retrieving offer details.
:type throughput: int
:param autoscale_settings: Specifies the Autoscale settings.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings
"""
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettings"] = None,
**kwargs
):
super(TableGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class TableResource(msrest.serialization.Model):
"""Cosmos DB table resource object.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB table.
:type id: str
"""
_validation = {
'id': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(TableResource, self).__init__(**kwargs)
self.id = id
[docs]class TableGetPropertiesResource(ExtendedResourceProperties, TableResource):
"""TableGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:param id: Required. Name of the Cosmos DB table.
:type id: str
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'id': {'required': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
id: str,
**kwargs
):
super(TableGetPropertiesResource, self).__init__(id=id, **kwargs)
self.id = id
self.rid = None
self.ts = None
self.etag = None
[docs]class TableGetResults(ARMResourceProperties):
"""An Azure Cosmos DB Table.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.TableGetPropertiesResource
:param options:
:type options: ~azure.mgmt.cosmosdb.models.TableGetPropertiesOptions
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'TableGetPropertiesResource'},
'options': {'key': 'properties.options', 'type': 'TableGetPropertiesOptions'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["TableGetPropertiesResource"] = None,
options: Optional["TableGetPropertiesOptions"] = None,
**kwargs
):
super(TableGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
self.options = options
[docs]class TableListResult(msrest.serialization.Model):
"""The List operation response, that contains the Table and their properties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: List of Table and their properties.
:vartype value: list[~azure.mgmt.cosmosdb.models.TableGetResults]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[TableGetResults]'},
}
def __init__(
self,
**kwargs
):
super(TableListResult, self).__init__(**kwargs)
self.value = None
[docs]class ThroughputPolicyResource(msrest.serialization.Model):
"""Cosmos DB resource throughput policy.
:param is_enabled: Determines whether the ThroughputPolicy is active or not.
:type is_enabled: bool
:param increment_percent: Represents the percentage by which throughput can increase every time
throughput policy kicks in.
:type increment_percent: int
"""
_attribute_map = {
'is_enabled': {'key': 'isEnabled', 'type': 'bool'},
'increment_percent': {'key': 'incrementPercent', 'type': 'int'},
}
def __init__(
self,
*,
is_enabled: Optional[bool] = None,
increment_percent: Optional[int] = None,
**kwargs
):
super(ThroughputPolicyResource, self).__init__(**kwargs)
self.is_enabled = is_enabled
self.increment_percent = increment_percent
[docs]class ThroughputSettingsResource(msrest.serialization.Model):
"""Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both.
Variables are only populated by the server, and will be ignored when sending a request.
:param throughput: Value of the Cosmos DB resource throughput. Either throughput is required or
autoscaleSettings is required, but not both.
:type throughput: int
:param autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is
required or autoscaleSettings is required, but not both.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource
:ivar minimum_throughput: The minimum throughput of the resource.
:vartype minimum_throughput: str
:ivar offer_replace_pending: The throughput replace is pending.
:vartype offer_replace_pending: str
"""
_validation = {
'minimum_throughput': {'readonly': True},
'offer_replace_pending': {'readonly': True},
}
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettingsResource'},
'minimum_throughput': {'key': 'minimumThroughput', 'type': 'str'},
'offer_replace_pending': {'key': 'offerReplacePending', 'type': 'str'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettingsResource"] = None,
**kwargs
):
super(ThroughputSettingsResource, self).__init__(**kwargs)
self.throughput = throughput
self.autoscale_settings = autoscale_settings
self.minimum_throughput = None
self.offer_replace_pending = None
[docs]class ThroughputSettingsGetPropertiesResource(ExtendedResourceProperties, ThroughputSettingsResource):
"""ThroughputSettingsGetPropertiesResource.
Variables are only populated by the server, and will be ignored when sending a request.
:param throughput: Value of the Cosmos DB resource throughput. Either throughput is required or
autoscaleSettings is required, but not both.
:type throughput: int
:param autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is
required or autoscaleSettings is required, but not both.
:type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource
:ivar minimum_throughput: The minimum throughput of the resource.
:vartype minimum_throughput: str
:ivar offer_replace_pending: The throughput replace is pending.
:vartype offer_replace_pending: str
:ivar rid: A system generated property. A unique identifier.
:vartype rid: str
:ivar ts: A system generated property that denotes the last updated timestamp of the resource.
:vartype ts: float
:ivar etag: A system generated property representing the resource etag required for optimistic
concurrency control.
:vartype etag: str
"""
_validation = {
'minimum_throughput': {'readonly': True},
'offer_replace_pending': {'readonly': True},
'rid': {'readonly': True},
'ts': {'readonly': True},
'etag': {'readonly': True},
}
_attribute_map = {
'throughput': {'key': 'throughput', 'type': 'int'},
'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettingsResource'},
'minimum_throughput': {'key': 'minimumThroughput', 'type': 'str'},
'offer_replace_pending': {'key': 'offerReplacePending', 'type': 'str'},
'rid': {'key': '_rid', 'type': 'str'},
'ts': {'key': '_ts', 'type': 'float'},
'etag': {'key': '_etag', 'type': 'str'},
}
def __init__(
self,
*,
throughput: Optional[int] = None,
autoscale_settings: Optional["AutoscaleSettingsResource"] = None,
**kwargs
):
super(ThroughputSettingsGetPropertiesResource, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
self.throughput = throughput
self.autoscale_settings = autoscale_settings
self.minimum_throughput = None
self.offer_replace_pending = None
self.rid = None
self.ts = None
self.etag = None
[docs]class ThroughputSettingsGetResults(ARMResourceProperties):
"""An Azure Cosmos DB resource throughput.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource:
:type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetPropertiesResource
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsGetPropertiesResource'},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
resource: Optional["ThroughputSettingsGetPropertiesResource"] = None,
**kwargs
):
super(ThroughputSettingsGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
[docs]class ThroughputSettingsUpdateParameters(ARMResourceProperties):
"""Parameters to update Cosmos DB resource throughput.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: The unique resource identifier of the ARM resource.
:vartype id: str
:ivar name: The name of the ARM resource.
:vartype name: str
:ivar type: The type of Azure resource.
:vartype type: str
:param location: The location of the resource group to which the resource belongs.
:type location: str
:param tags: A set of tags. Tags are a list of key-value pairs that describe the resource.
These tags can be used in viewing and grouping this resource (across resource groups). A
maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128
characters and value no greater than 256 characters. For example, the default experience for a
template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values
also include "Table", "Graph", "DocumentDB", and "MongoDB".
:type tags: dict[str, str]
:param identity: Identity for the resource.
:type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity
:param resource: Required. The standard JSON format of a resource throughput.
:type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsResource
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'resource': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsResource'},
}
def __init__(
self,
*,
resource: "ThroughputSettingsResource",
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
identity: Optional["ManagedServiceIdentity"] = None,
**kwargs
):
super(ThroughputSettingsUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs)
self.resource = resource
[docs]class UniqueKey(msrest.serialization.Model):
"""The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.
:param paths: List of paths must be unique for each document in the Azure Cosmos DB service.
:type paths: list[str]
"""
_attribute_map = {
'paths': {'key': 'paths', 'type': '[str]'},
}
def __init__(
self,
*,
paths: Optional[List[str]] = None,
**kwargs
):
super(UniqueKey, self).__init__(**kwargs)
self.paths = paths
[docs]class UniqueKeyPolicy(msrest.serialization.Model):
"""The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.
:param unique_keys: List of unique keys on that enforces uniqueness constraint on documents in
the collection in the Azure Cosmos DB service.
:type unique_keys: list[~azure.mgmt.cosmosdb.models.UniqueKey]
"""
_attribute_map = {
'unique_keys': {'key': 'uniqueKeys', 'type': '[UniqueKey]'},
}
def __init__(
self,
*,
unique_keys: Optional[List["UniqueKey"]] = None,
**kwargs
):
super(UniqueKeyPolicy, self).__init__(**kwargs)
self.unique_keys = unique_keys
[docs]class UsagesResult(msrest.serialization.Model):
"""The response to a list usage request.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar value: The list of usages for the database. A usage is a point in time metric.
:vartype value: list[~azure.mgmt.cosmosdb.models.Usage]
"""
_validation = {
'value': {'readonly': True},
}
_attribute_map = {
'value': {'key': 'value', 'type': '[Usage]'},
}
def __init__(
self,
**kwargs
):
super(UsagesResult, self).__init__(**kwargs)
self.value = None
[docs]class VirtualNetworkRule(msrest.serialization.Model):
"""Virtual Network ACL Rule object.
:param id: Resource ID of a subnet, for example:
/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
:type id: str
:param ignore_missing_v_net_service_endpoint: Create firewall rule before the virtual network
has vnet service endpoint enabled.
:type ignore_missing_v_net_service_endpoint: bool
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'ignore_missing_v_net_service_endpoint': {'key': 'ignoreMissingVNetServiceEndpoint', 'type': 'bool'},
}
def __init__(
self,
*,
id: Optional[str] = None,
ignore_missing_v_net_service_endpoint: Optional[bool] = None,
**kwargs
):
super(VirtualNetworkRule, self).__init__(**kwargs)
self.id = id
self.ignore_missing_v_net_service_endpoint = ignore_missing_v_net_service_endpoint