Source code for azure.mgmt.cosmosdb.models._models_py3

# 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.
# --------------------------------------------------------------------------

from msrest.serialization import Model
from msrest.exceptions import HttpOperationError


[docs]class ApiProperties(Model): """ApiProperties. :param server_version: Describes the ServerVersion of an a MongoDB account. Possible values include: '3.2', '3.6' :type server_version: str or ~azure.mgmt.cosmosdb.models.ServerVersion """ _attribute_map = { 'server_version': {'key': 'serverVersion', 'type': 'str'}, } def __init__(self, *, server_version=None, **kwargs) -> None: super(ApiProperties, self).__init__(**kwargs) self.server_version = server_version
[docs]class ARMProxyResource(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) -> None: super(ARMProxyResource, self).__init__(**kwargs) self.id = None self.name = None self.type = None
[docs]class ARMResourceProperties(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: :type tags: dict[str, 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'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: super(ARMResourceProperties, self).__init__(**kwargs) self.id = None self.name = None self.type = None self.location = location self.tags = tags
[docs]class AutoscaleSettings(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: int=None, **kwargs) -> None: super(AutoscaleSettings, self).__init__(**kwargs) self.max_throughput = max_throughput
[docs]class AutoscaleSettingsResource(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=None, **kwargs) -> None: 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(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=None, **kwargs) -> None: super(AutoUpgradePolicyResource, self).__init__(**kwargs) self.throughput_policy = throughput_policy
[docs]class Resource(Model): """Resource. 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. Ex- 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) -> None: super(Resource, self).__init__(**kwargs) self.id = None self.name = None self.type = None
[docs]class AzureEntityResource(Resource): """The resource model definition for a Azure Resource Manager resource with an etag. 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. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :ivar etag: Resource Etag. :vartype etag: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, } def __init__(self, **kwargs) -> None: super(AzureEntityResource, self).__init__(**kwargs) self.etag = None
[docs]class Capability(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: str=None, **kwargs) -> None: 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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a Cassandra keyspace :type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'CassandraKeyspaceResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(CassandraKeyspaceCreateUpdateParameters, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class OptionsResource(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: int=None, autoscale_settings=None, **kwargs) -> None: 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: int=None, autoscale_settings=None, **kwargs) -> None: super(CassandraKeyspaceGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class CassandraKeyspaceGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, **kwargs) -> None: super(CassandraKeyspaceGetPropertiesResource, self).__init__(**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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'CassandraKeyspaceGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'CassandraKeyspaceGetPropertiesOptions'}, } def __init__(self, *, location: str=None, tags=None, resource=None, options=None, **kwargs) -> None: super(CassandraKeyspaceGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class CassandraKeyspaceResource(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) -> None: super(CassandraKeyspaceResource, self).__init__(**kwargs) self.id = id
[docs]class CassandraPartitionKey(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: str=None, **kwargs) -> None: super(CassandraPartitionKey, self).__init__(**kwargs) self.name = name
[docs]class CassandraSchema(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=None, partition_keys=None, cluster_keys=None, **kwargs) -> None: 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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a Cassandra table :type resource: ~azure.mgmt.cosmosdb.models.CassandraTableResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'CassandraTableResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(CassandraTableCreateUpdateParameters, self).__init__(location=location, tags=tags, **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: int=None, autoscale_settings=None, **kwargs) -> None: super(CassandraTableGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class CassandraTableGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, default_ttl: int=None, schema=None, analytical_storage_ttl: int=None, **kwargs) -> None: super(CassandraTableGetPropertiesResource, self).__init__(**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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'CassandraTableGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'CassandraTableGetPropertiesOptions'}, } def __init__(self, *, location: str=None, tags=None, resource=None, options=None, **kwargs) -> None: super(CassandraTableGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class CassandraTableResource(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: int=None, schema=None, analytical_storage_ttl: int=None, **kwargs) -> None: super(CassandraTableResource, self).__init__(**kwargs) self.id = id self.default_ttl = default_ttl self.schema = schema self.analytical_storage_ttl = analytical_storage_ttl
class CloudError(Model): """CloudError. """ _attribute_map = { }
[docs]class ClusterKey(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: str=None, order_by: str=None, **kwargs) -> None: super(ClusterKey, self).__init__(**kwargs) self.name = name self.order_by = order_by
[docs]class Column(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: str=None, type: str=None, **kwargs) -> None: super(Column, self).__init__(**kwargs) self.name = name self.type = type
[docs]class CompositePath(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: str=None, order=None, **kwargs) -> None: super(CompositePath, self).__init__(**kwargs) self.path = path self.order = order
[docs]class ConflictResolutionPolicy(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="LastWriterWins", conflict_resolution_path: str=None, conflict_resolution_procedure: str=None, **kwargs) -> None: 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(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': 'DefaultConsistencyLevel'}, 'max_staleness_prefix': {'key': 'maxStalenessPrefix', 'type': 'long'}, 'max_interval_in_seconds': {'key': 'maxIntervalInSeconds', 'type': 'int'}, } def __init__(self, *, default_consistency_level, max_staleness_prefix: int=None, max_interval_in_seconds: int=None, **kwargs) -> None: 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(Model): """The configuration of the partition key to be used for partitioning data into multiple partitions. :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. Possible values include: 'Hash', 'Range'. 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 """ _validation = { 'version': {'maximum': 2, 'minimum': 1}, } _attribute_map = { 'paths': {'key': 'paths', 'type': '[str]'}, 'kind': {'key': 'kind', 'type': 'str'}, 'version': {'key': 'version', 'type': 'int'}, } def __init__(self, *, paths=None, kind="Hash", version: int=None, **kwargs) -> None: super(ContainerPartitionKey, self).__init__(**kwargs) self.paths = paths self.kind = kind self.version = version
[docs]class CorsPolicy(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: str=None, allowed_headers: str=None, exposed_headers: str=None, max_age_in_seconds: int=None, **kwargs) -> None: 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(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: int=None, autoscale_settings=None, **kwargs) -> None: super(CreateUpdateOptions, self).__init__(**kwargs) self.throughput = throughput self.autoscale_settings = autoscale_settings
[docs]class DatabaseAccountConnectionString(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) -> None: 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: :type tags: dict[str, str] :param kind: Indicates the type of database account. This can only be set at database account creation. Possible values include: 'GlobalDocumentDB', 'MongoDB', 'Parse'. Default value: "GlobalDocumentDB" . :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: Required. The offer type for the database. Default 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 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 cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'locations': {'required': True}, 'database_account_offer_type': {'required': True, 'constant': 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}'}, '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'}, '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'}, 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, } database_account_offer_type = "Standard" def __init__(self, *, locations, location: str=None, tags=None, kind="GlobalDocumentDB", consistency_policy=None, ip_rules=None, is_virtual_network_filter_enabled: bool=None, enable_automatic_failover: bool=None, capabilities=None, virtual_network_rules=None, enable_multiple_write_locations: bool=None, enable_cassandra_connector: bool=None, connector_offer=None, disable_key_based_metadata_write_access: bool=None, key_vault_key_uri: str=None, public_network_access=None, enable_free_tier: bool=None, api_properties=None, enable_analytical_storage: bool=None, cors=None, **kwargs) -> None: super(DatabaseAccountCreateUpdateParameters, self).__init__(location=location, tags=tags, **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.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.cors = cors
[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: :type tags: dict[str, str] :param kind: Indicates the type of database account. This can only be set at database account creation. Possible values include: 'GlobalDocumentDB', 'MongoDB', 'Parse'. Default value: "GlobalDocumentDB" . :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind :param provisioning_state: :type 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. Possible values include: 'Standard' :vartype database_account_offer_type: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountOfferType :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 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 cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'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}, } _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}'}, 'kind': {'key': 'kind', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'document_endpoint': {'key': 'properties.documentEndpoint', 'type': 'str'}, 'database_account_offer_type': {'key': 'properties.databaseAccountOfferType', 'type': 'DatabaseAccountOfferType'}, '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'}, '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'}, 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, } def __init__(self, *, location: str=None, tags=None, kind="GlobalDocumentDB", provisioning_state: str=None, ip_rules=None, is_virtual_network_filter_enabled: bool=None, enable_automatic_failover: bool=None, consistency_policy=None, capabilities=None, virtual_network_rules=None, enable_multiple_write_locations: bool=None, enable_cassandra_connector: bool=None, connector_offer=None, disable_key_based_metadata_write_access: bool=None, key_vault_key_uri: str=None, public_network_access=None, enable_free_tier: bool=None, api_properties=None, enable_analytical_storage: bool=None, cors=None, **kwargs) -> None: super(DatabaseAccountGetResults, self).__init__(location=location, tags=tags, **kwargs) self.kind = kind self.provisioning_state = provisioning_state 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.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.cors = cors
[docs]class DatabaseAccountListConnectionStringsResult(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=None, **kwargs) -> None: super(DatabaseAccountListConnectionStringsResult, self).__init__(**kwargs) self.connection_strings = connection_strings
[docs]class DatabaseAccountListReadOnlyKeysResult(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) -> None: 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) -> None: super(DatabaseAccountListKeysResult, self).__init__(**kwargs) self.primary_master_key = None self.secondary_master_key = None
[docs]class DatabaseAccountRegenerateKeyParameters(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, **kwargs) -> None: super(DatabaseAccountRegenerateKeyParameters, self).__init__(**kwargs) self.key_kind = key_kind
[docs]class DatabaseAccountUpdateParameters(Model): """Parameters for patching Azure Cosmos DB database account properties. :param tags: :type tags: dict[str, str] :param location: The location of the resource group to which the resource belongs. :type location: str :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 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 cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, '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'}, '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'}, 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, } def __init__(self, *, tags=None, location: str=None, consistency_policy=None, locations=None, ip_rules=None, is_virtual_network_filter_enabled: bool=None, enable_automatic_failover: bool=None, capabilities=None, virtual_network_rules=None, enable_multiple_write_locations: bool=None, enable_cassandra_connector: bool=None, connector_offer=None, disable_key_based_metadata_write_access: bool=None, key_vault_key_uri: str=None, public_network_access=None, enable_free_tier: bool=None, api_properties=None, enable_analytical_storage: bool=None, cors=None, **kwargs) -> None: super(DatabaseAccountUpdateParameters, self).__init__(**kwargs) self.tags = tags self.location = location 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.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.cors = cors
[docs]class ErrorResponse(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: str=None, message: str=None, **kwargs) -> None: super(ErrorResponse, self).__init__(**kwargs) self.code = code self.message = message
[docs]class ErrorResponseException(HttpOperationError): """Server responsed with exception of type: 'ErrorResponse'. :param deserialize: A deserializer :param response: Server response to be deserialized. """ def __init__(self, deserialize, response, *args): super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args)
[docs]class ExcludedPath(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: str=None, **kwargs) -> None: super(ExcludedPath, self).__init__(**kwargs) self.path = path
[docs]class ExtendedResourceProperties(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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, **kwargs) -> None: super(ExtendedResourceProperties, self).__init__(**kwargs) self._rid = None self._ts = None self._etag = None
[docs]class FailoverPolicies(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, **kwargs) -> None: super(FailoverPolicies, self).__init__(**kwargs) self.failover_policies = failover_policies
[docs]class FailoverPolicy(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: str=None, failover_priority: int=None, **kwargs) -> None: super(FailoverPolicy, self).__init__(**kwargs) self.id = None self.location_name = location_name self.failover_priority = failover_priority
[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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a Gremlin database :type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'GremlinDatabaseResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(GremlinDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, **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: int=None, autoscale_settings=None, **kwargs) -> None: super(GremlinDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class GremlinDatabaseGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, **kwargs) -> None: super(GremlinDatabaseGetPropertiesResource, self).__init__(**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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'GremlinDatabaseGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'GremlinDatabaseGetPropertiesOptions'}, } def __init__(self, *, location: str=None, tags=None, resource=None, options=None, **kwargs) -> None: super(GremlinDatabaseGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class GremlinDatabaseResource(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) -> None: super(GremlinDatabaseResource, self).__init__(**kwargs) self.id = id
[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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a Gremlin graph :type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'GremlinGraphResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(GremlinGraphCreateUpdateParameters, self).__init__(location=location, tags=tags, **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: int=None, autoscale_settings=None, **kwargs) -> None: super(GremlinGraphGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class GremlinGraphGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, indexing_policy=None, partition_key=None, default_ttl: int=None, unique_key_policy=None, conflict_resolution_policy=None, **kwargs) -> None: super(GremlinGraphGetPropertiesResource, 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._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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'GremlinGraphGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'GremlinGraphGetPropertiesOptions'}, } def __init__(self, *, location: str=None, tags=None, resource=None, options=None, **kwargs) -> None: super(GremlinGraphGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class GremlinGraphResource(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=None, partition_key=None, default_ttl: int=None, unique_key_policy=None, conflict_resolution_policy=None, **kwargs) -> None: 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 IncludedPath(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: str=None, indexes=None, **kwargs) -> None: super(IncludedPath, self).__init__(**kwargs) self.path = path self.indexes = indexes
[docs]class Indexes(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="String", precision: int=None, kind="Hash", **kwargs) -> None: super(Indexes, self).__init__(**kwargs) self.data_type = data_type self.precision = precision self.kind = kind
[docs]class IndexingPolicy(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: bool=None, indexing_mode="Consistent", included_paths=None, excluded_paths=None, composite_indexes=None, spatial_indexes=None, **kwargs) -> None: 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(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: str=None, **kwargs) -> None: super(IpAddressOrRange, self).__init__(**kwargs) self.ip_address_or_range = ip_address_or_range
[docs]class Location(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 :param provisioning_state: :type 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}, '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: str=None, provisioning_state: str=None, failover_priority: int=None, is_zone_redundant: bool=None, **kwargs) -> None: super(Location, self).__init__(**kwargs) self.id = None self.location_name = location_name self.document_endpoint = None self.provisioning_state = provisioning_state self.failover_priority = failover_priority self.is_zone_redundant = is_zone_redundant
[docs]class Metric(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 :ivar end_time: The end time for the metric (ISO-8601 format). :vartype end_time: datetime :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str :param unit: The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', 'Milliseconds' :type 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}, '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, *, unit=None, **kwargs) -> None: super(Metric, self).__init__(**kwargs) self.start_time = None self.end_time = None self.time_grain = None self.unit = unit self.name = None self.metric_values = None
[docs]class MetricAvailability(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) -> None: super(MetricAvailability, self).__init__(**kwargs) self.time_grain = None self.retention = None
[docs]class MetricDefinition(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 :param unit: The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', 'Milliseconds' :type 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}, '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, *, unit=None, **kwargs) -> None: super(MetricDefinition, self).__init__(**kwargs) self.metric_availabilities = None self.primary_aggregation_type = None self.unit = unit self.resource_uri = None self.name = None
[docs]class MetricName(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) -> None: super(MetricName, self).__init__(**kwargs) self.value = None self.localized_value = None
[docs]class MetricValue(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: float :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 :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': 'float'}, '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) -> None: 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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a MongoDB collection :type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'MongoDBCollectionResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(MongoDBCollectionCreateUpdateParameters, self).__init__(location=location, tags=tags, **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: int=None, autoscale_settings=None, **kwargs) -> None: super(MongoDBCollectionGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class MongoDBCollectionGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, shard_key=None, indexes=None, analytical_storage_ttl: int=None, **kwargs) -> None: super(MongoDBCollectionGetPropertiesResource, self).__init__(**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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'MongoDBCollectionGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'MongoDBCollectionGetPropertiesOptions'}, } def __init__(self, *, location: str=None, tags=None, resource=None, options=None, **kwargs) -> None: super(MongoDBCollectionGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class MongoDBCollectionResource(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=None, indexes=None, analytical_storage_ttl: int=None, **kwargs) -> None: 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 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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a MongoDB database :type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'MongoDBDatabaseResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(MongoDBDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, **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: int=None, autoscale_settings=None, **kwargs) -> None: super(MongoDBDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class MongoDBDatabaseGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, **kwargs) -> None: super(MongoDBDatabaseGetPropertiesResource, self).__init__(**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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'MongoDBDatabaseGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'MongoDBDatabaseGetPropertiesOptions'}, } def __init__(self, *, location: str=None, tags=None, resource=None, options=None, **kwargs) -> None: super(MongoDBDatabaseGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class MongoDBDatabaseResource(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) -> None: super(MongoDBDatabaseResource, self).__init__(**kwargs) self.id = id
[docs]class MongoIndex(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=None, options=None, **kwargs) -> None: super(MongoIndex, self).__init__(**kwargs) self.key = key self.options = options
[docs]class MongoIndexKeys(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=None, **kwargs) -> None: super(MongoIndexKeys, self).__init__(**kwargs) self.keys = keys
[docs]class MongoIndexOptions(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: int=None, unique: bool=None, **kwargs) -> None: 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) -> None: super(NotebookWorkspace, self).__init__(**kwargs) self.notebook_server_endpoint = None self.status = None
[docs]class NotebookWorkspaceConnectionInfoResult(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) -> None: 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) -> None: super(NotebookWorkspaceCreateUpdateParameters, self).__init__(**kwargs)
[docs]class Operation(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: str=None, display=None, **kwargs) -> None: super(Operation, self).__init__(**kwargs) self.name = name self.display = display
[docs]class OperationDisplay(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: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: super(OperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource self.operation = operation self.description = description
[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 :ivar end_time: The end time for the metric (ISO-8601 format). :vartype end_time: datetime :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str :param unit: The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', 'Milliseconds' :type 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}, '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, *, unit=None, **kwargs) -> None: super(PartitionMetric, self).__init__(unit=unit, **kwargs) self.partition_id = None self.partition_key_range_id = None
[docs]class Usage(Model): """The usage data for a usage request. Variables are only populated by the server, and will be ignored when sending a request. :param unit: The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', 'Milliseconds' :type 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 = { '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, *, unit=None, **kwargs) -> None: super(Usage, self).__init__(**kwargs) self.unit = unit 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. :param unit: The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', 'Milliseconds' :type 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 = { '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, *, unit=None, **kwargs) -> None: super(PartitionUsage, self).__init__(unit=unit, **kwargs) self.partition_id = None self.partition_key_range_id = None
[docs]class PercentileMetric(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 :ivar end_time: The end time for the metric (ISO-8601 format). :vartype end_time: datetime :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str :param unit: The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', 'Milliseconds' :type 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}, '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, *, unit=None, **kwargs) -> None: super(PercentileMetric, self).__init__(**kwargs) self.start_time = None self.end_time = None self.time_grain = None self.unit = unit self.name = None self.metric_values = 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: float :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 :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': 'float'}, '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) -> None: 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 ProxyResource(Resource): """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: 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. Ex- 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) -> None: 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. Ex- 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=None, private_link_service_connection_state=None, group_id: str=None, provisioning_state: str=None, **kwargs) -> None: 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 PrivateEndpointProperty(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: str=None, **kwargs) -> None: 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) -> None: super(PrivateLinkResource, self).__init__(**kwargs) self.group_id = None self.required_members = None self.required_zone_names = None
[docs]class PrivateLinkServiceConnectionStateProperty(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 :ivar actions_required: Any action that is required beyond basic workflow (approve/ reject/ disconnect) :vartype actions_required: str :param description: The private link service connection description. :type description: str """ _validation = { 'actions_required': {'readonly': True}, } _attribute_map = { 'status': {'key': 'status', 'type': 'str'}, 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, } def __init__(self, *, status: str=None, description: str=None, **kwargs) -> None: super(PrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) self.status = status self.actions_required = None self.description = description
[docs]class RegionForOnlineOffline(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) -> None: super(RegionForOnlineOffline, self).__init__(**kwargs) self.region = region
[docs]class SpatialSpec(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: str=None, types=None, **kwargs) -> None: 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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a container :type resource: ~azure.mgmt.cosmosdb.models.SqlContainerResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'SqlContainerResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(SqlContainerCreateUpdateParameters, self).__init__(location=location, tags=tags, **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: int=None, autoscale_settings=None, **kwargs) -> None: super(SqlContainerGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class SqlContainerGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, indexing_policy=None, partition_key=None, default_ttl: int=None, unique_key_policy=None, conflict_resolution_policy=None, analytical_storage_ttl: int=None, **kwargs) -> None: super(SqlContainerGetPropertiesResource, 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 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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'SqlContainerGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'SqlContainerGetPropertiesOptions'}, } def __init__(self, *, location: str=None, tags=None, resource=None, options=None, **kwargs) -> None: super(SqlContainerGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class SqlContainerResource(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=None, partition_key=None, default_ttl: int=None, unique_key_policy=None, conflict_resolution_policy=None, analytical_storage_ttl: int=None, **kwargs) -> None: 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 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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a SQL database :type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'SqlDatabaseResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(SqlDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, **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: int=None, autoscale_settings=None, **kwargs) -> None: super(SqlDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class SqlDatabaseGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, '_colls': {'key': '_colls', 'type': 'str'}, '_users': {'key': '_users', 'type': 'str'}, } def __init__(self, *, id: str, _colls: str=None, _users: str=None, **kwargs) -> None: super(SqlDatabaseGetPropertiesResource, self).__init__(**kwargs) self.id = id 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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'SqlDatabaseGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'SqlDatabaseGetPropertiesOptions'}, } def __init__(self, *, location: str=None, tags=None, resource=None, options=None, **kwargs) -> None: super(SqlDatabaseGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class SqlDatabaseResource(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) -> None: super(SqlDatabaseResource, self).__init__(**kwargs) self.id = id
[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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a storedProcedure :type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'SqlStoredProcedureResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(SqlStoredProcedureCreateUpdateParameters, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class SqlStoredProcedureGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, body: str=None, **kwargs) -> None: super(SqlStoredProcedureGetPropertiesResource, self).__init__(**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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'SqlStoredProcedureGetPropertiesResource'}, } def __init__(self, *, location: str=None, tags=None, resource=None, **kwargs) -> None: super(SqlStoredProcedureGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource
[docs]class SqlStoredProcedureResource(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: str=None, **kwargs) -> None: super(SqlStoredProcedureResource, self).__init__(**kwargs) self.id = id self.body = body
[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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a trigger :type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'SqlTriggerResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(SqlTriggerCreateUpdateParameters, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class SqlTriggerGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, body: str=None, trigger_type=None, trigger_operation=None, **kwargs) -> None: super(SqlTriggerGetPropertiesResource, self).__init__(**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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'SqlTriggerGetPropertiesResource'}, } def __init__(self, *, location: str=None, tags=None, resource=None, **kwargs) -> None: super(SqlTriggerGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource
[docs]class SqlTriggerResource(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: str=None, trigger_type=None, trigger_operation=None, **kwargs) -> None: super(SqlTriggerResource, self).__init__(**kwargs) self.id = id self.body = body self.trigger_type = trigger_type self.trigger_operation = trigger_operation
[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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a userDefinedFunction :type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'SqlUserDefinedFunctionResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(SqlUserDefinedFunctionCreateUpdateParameters, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class SqlUserDefinedFunctionGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, body: str=None, **kwargs) -> None: super(SqlUserDefinedFunctionGetPropertiesResource, self).__init__(**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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'SqlUserDefinedFunctionGetPropertiesResource'}, } def __init__(self, *, location: str=None, tags=None, resource=None, **kwargs) -> None: super(SqlUserDefinedFunctionGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource
[docs]class SqlUserDefinedFunctionResource(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: str=None, **kwargs) -> None: super(SqlUserDefinedFunctionResource, self).__init__(**kwargs) self.id = id self.body = body
[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: :type tags: dict[str, str] :param resource: Required. The standard JSON format of a Table :type resource: ~azure.mgmt.cosmosdb.models.TableResource :param options: Required. 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}, 'options': {'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}'}, 'resource': {'key': 'properties.resource', 'type': 'TableResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } def __init__(self, *, resource, options, location: str=None, tags=None, **kwargs) -> None: super(TableCreateUpdateParameters, self).__init__(location=location, tags=tags, **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: int=None, autoscale_settings=None, **kwargs) -> None: super(TableGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs)
[docs]class TableGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, id: str, **kwargs) -> None: super(TableGetPropertiesResource, self).__init__(**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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'TableGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'TableGetPropertiesOptions'}, } def __init__(self, *, location: str=None, tags=None, resource=None, options=None, **kwargs) -> None: super(TableGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource self.options = options
[docs]class TableResource(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) -> None: super(TableResource, self).__init__(**kwargs) self.id = id
[docs]class ThroughputPolicyResource(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: bool=None, increment_percent: int=None, **kwargs) -> None: super(ThroughputPolicyResource, self).__init__(**kwargs) self.is_enabled = is_enabled self.increment_percent = increment_percent
[docs]class ThroughputSettingsGetPropertiesResource(Model): """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: object :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': 'object'}, '_etag': {'key': '_etag', 'type': 'str'}, } def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: super(ThroughputSettingsGetPropertiesResource, self).__init__(**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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsGetPropertiesResource'}, } def __init__(self, *, location: str=None, tags=None, resource=None, **kwargs) -> None: super(ThroughputSettingsGetResults, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource
[docs]class ThroughputSettingsResource(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: int=None, autoscale_settings=None, **kwargs) -> None: super(ThroughputSettingsResource, self).__init__(**kwargs) self.throughput = throughput self.autoscale_settings = autoscale_settings self.minimum_throughput = None self.offer_replace_pending = None
[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: :type tags: dict[str, str] :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}'}, 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsResource'}, } def __init__(self, *, resource, location: str=None, tags=None, **kwargs) -> None: super(ThroughputSettingsUpdateParameters, self).__init__(location=location, tags=tags, **kwargs) self.resource = resource
[docs]class TrackedResource(Resource): """The resource model definition for a ARM tracked top level 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: 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. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] :param location: Required. The geo-location where the resource lives :type location: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, } def __init__(self, *, location: str, tags=None, **kwargs) -> None: super(TrackedResource, self).__init__(**kwargs) self.tags = tags self.location = location
[docs]class UniqueKey(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=None, **kwargs) -> None: super(UniqueKey, self).__init__(**kwargs) self.paths = paths
[docs]class UniqueKeyPolicy(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=None, **kwargs) -> None: super(UniqueKeyPolicy, self).__init__(**kwargs) self.unique_keys = unique_keys
[docs]class VirtualNetworkRule(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_vnet_service_endpoint: Create firewall rule before the virtual network has vnet service endpoint enabled. :type ignore_missing_vnet_service_endpoint: bool """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'ignore_missing_vnet_service_endpoint': {'key': 'ignoreMissingVNetServiceEndpoint', 'type': 'bool'}, } def __init__(self, *, id: str=None, ignore_missing_vnet_service_endpoint: bool=None, **kwargs) -> None: super(VirtualNetworkRule, self).__init__(**kwargs) self.id = id self.ignore_missing_vnet_service_endpoint = ignore_missing_vnet_service_endpoint