From c8e6034627c63fe20687fa3e1768f050dcdafb52 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Fri, 20 May 2022 07:48:38 +0000 Subject: [PATCH] CodeGen from PR 19158 in Azure/azure-rest-api-specs Merge eac2d30566143f233afb70432edaf20f55b369f3 into a8a52b9e6c305f03c3a4c5411d59fc4454b5b372 --- sdk/cosmos/azure-mgmt-cosmosdb/_meta.json | 4 +- .../azure/mgmt/cosmosdb/_version.py | 2 +- ..._cosmos_db_management_client_operations.py | 142 - .../_mongo_db_resources_operations.py | 78 +- .../operations/_sql_resources_operations.py | 66 +- .../azure/mgmt/cosmosdb/models/__init__.py | 6 + .../azure/mgmt/cosmosdb/models/_models.py | 8142 ----------------- .../azure/mgmt/cosmosdb/models/_models_py3.py | 127 + ..._cosmos_db_management_client_operations.py | 148 - .../_mongo_db_resources_operations.py | 78 +- .../operations/_sql_resources_operations.py | 66 +- 11 files changed, 324 insertions(+), 8535 deletions(-) delete mode 100644 sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_cosmos_db_management_client_operations.py delete mode 100644 sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/_models.py delete mode 100644 sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_cosmos_db_management_client_operations.py diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/_meta.json b/sdk/cosmos/azure-mgmt-cosmosdb/_meta.json index 70e0bc48998d..6416211877a8 100644 --- a/sdk/cosmos/azure-mgmt-cosmosdb/_meta.json +++ b/sdk/cosmos/azure-mgmt-cosmosdb/_meta.json @@ -4,8 +4,8 @@ "@autorest/python@5.13.0", "@autorest/modelerfour@4.19.3" ], - "commit": "0baca05c851c1749e92beb0d2134cd958827dd54", + "commit": "1767abc7459552b08c7089fb1e457c4a16006de5", "repository_url": "https://github.com/Azure/azure-rest-api-specs", - "autorest_command": "autorest specification/cosmos-db/resource-manager/readme.md --multiapi --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --python3-only --use=@autorest/python@5.13.0 --use=@autorest/modelerfour@4.19.3 --version=3.7.2", + "autorest_command": "autorest specification/cosmos-db/resource-manager/readme.md --multiapi --python --python-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-python/sdk --python3-only --use=@autorest/python@5.13.0 --use=@autorest/modelerfour@4.19.3 --version=3.7.2", "readme": "specification/cosmos-db/resource-manager/readme.md" } \ No newline at end of file diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/_version.py b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/_version.py index 2c41f9d5ffc0..a712687790e5 100644 --- a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/_version.py +++ b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "7.0.0b5" +VERSION = "0.7.0" diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_cosmos_db_management_client_operations.py b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_cosmos_db_management_client_operations.py deleted file mode 100644 index e37d86df189e..000000000000 --- a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_cosmos_db_management_client_operations.py +++ /dev/null @@ -1,142 +0,0 @@ -# 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 typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar -import warnings - -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest -from azure.mgmt.core.exceptions import ARMErrorFormat - -from ... import models as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class CosmosDBManagementClientOperationsMixin: - - def location_list( - self, - **kwargs: Any - ) -> AsyncIterable["_models.LocationListResult"]: - """List Cosmos DB locations and their properties. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either LocationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.LocationListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - if not next_link: - # Construct URL - url = self.location_list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('LocationListResult', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - request = prepare_request(next_link) - - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged( - get_next, extract_data - ) - location_list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations'} # type: ignore - - async def location_get( - self, - location: str, - **kwargs: Any - ) -> "_models.LocationGetResult": - """Get the properties of an existing Cosmos DB location. - - :param location: Cosmos DB region, with spaces between words and each word capitalized. - :type location: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: LocationGetResult, or the result of cls(response) - :rtype: ~azure.mgmt.cosmosdb.models.LocationGetResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationGetResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.location_get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('LocationGetResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - location_get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}'} # type: ignore diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_mongo_db_resources_operations.py b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_mongo_db_resources_operations.py index 665ef29cbae4..6f9a2e8fdc37 100644 --- a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_mongo_db_resources_operations.py +++ b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_mongo_db_resources_operations.py @@ -21,7 +21,7 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._mongo_db_resources_operations import build_create_update_mongo_db_collection_request_initial, build_create_update_mongo_db_database_request_initial, build_create_update_mongo_role_definition_request_initial, build_create_update_mongo_user_definition_request_initial, build_delete_mongo_db_collection_request_initial, build_delete_mongo_db_database_request_initial, build_delete_mongo_role_definition_request_initial, build_delete_mongo_user_definition_request_initial, build_get_mongo_db_collection_request, build_get_mongo_db_collection_throughput_request, build_get_mongo_db_database_request, build_get_mongo_db_database_throughput_request, build_get_mongo_role_definition_request, build_get_mongo_user_definition_request, build_list_mongo_db_collection_partition_merge_request_initial, build_list_mongo_db_collections_request, build_list_mongo_db_databases_request, build_list_mongo_role_definitions_request, build_list_mongo_user_definitions_request, build_migrate_mongo_db_collection_to_autoscale_request_initial, build_migrate_mongo_db_collection_to_manual_throughput_request_initial, build_migrate_mongo_db_database_to_autoscale_request_initial, build_migrate_mongo_db_database_to_manual_throughput_request_initial, build_mongo_db_container_redistribute_throughput_request_initial, build_retrieve_continuous_backup_information_request_initial, build_sql_container_retrieve_throughput_distribution_request_initial, build_update_mongo_db_collection_throughput_request_initial, build_update_mongo_db_database_throughput_request_initial +from ...operations._mongo_db_resources_operations import build_create_update_mongo_db_collection_request_initial, build_create_update_mongo_db_database_request_initial, build_create_update_mongo_role_definition_request_initial, build_create_update_mongo_user_definition_request_initial, build_delete_mongo_db_collection_request_initial, build_delete_mongo_db_database_request_initial, build_delete_mongo_role_definition_request_initial, build_delete_mongo_user_definition_request_initial, build_get_mongo_db_collection_request, build_get_mongo_db_collection_throughput_request, build_get_mongo_db_database_request, build_get_mongo_db_database_throughput_request, build_get_mongo_role_definition_request, build_get_mongo_user_definition_request, build_list_mongo_db_collection_partition_merge_request_initial, build_list_mongo_db_collections_request, build_list_mongo_db_databases_request, build_list_mongo_role_definitions_request, build_list_mongo_user_definitions_request, build_migrate_mongo_db_collection_to_autoscale_request_initial, build_migrate_mongo_db_collection_to_manual_throughput_request_initial, build_migrate_mongo_db_database_to_autoscale_request_initial, build_migrate_mongo_db_database_to_manual_throughput_request_initial, build_mongo_db_container_redistribute_throughput_request_initial, build_mongo_db_container_retrieve_throughput_distribution_request_initial, build_retrieve_continuous_backup_information_request_initial, build_update_mongo_db_collection_throughput_request_initial, build_update_mongo_db_database_throughput_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -876,7 +876,7 @@ def get_long_running_output(pipeline_response): begin_migrate_mongo_db_database_to_manual_throughput.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput"} # type: ignore - async def _sql_container_retrieve_throughput_distribution_initial( # pylint: disable=inconsistent-return-statements + async def _mongo_db_container_retrieve_throughput_distribution_initial( self, resource_group_name: str, account_name: str, @@ -884,8 +884,8 @@ async def _sql_container_retrieve_throughput_distribution_initial( # pylint: di collection_name: str, retrieve_throughput_parameters: "_models.RetrieveThroughputParameters", **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] + ) -> Optional["_models.PhysicalPartitionThroughputInfoResult"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PhysicalPartitionThroughputInfoResult"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -896,7 +896,7 @@ async def _sql_container_retrieve_throughput_distribution_initial( # pylint: di _json = self._serialize.body(retrieve_throughput_parameters, 'RetrieveThroughputParameters') - request = build_sql_container_retrieve_throughput_distribution_request_initial( + request = build_mongo_db_container_retrieve_throughput_distribution_request_initial( subscription_id=self._config.subscription_id, resource_group_name=resource_group_name, account_name=account_name, @@ -905,7 +905,7 @@ async def _sql_container_retrieve_throughput_distribution_initial( # pylint: di api_version=api_version, content_type=content_type, json=_json, - template_url=self._sql_container_retrieve_throughput_distribution_initial.metadata['url'], + template_url=self._mongo_db_container_retrieve_throughput_distribution_initial.metadata['url'], ) request = _convert_request(request) request.url = self._client.format_url(request.url) @@ -917,18 +917,24 @@ async def _sql_container_retrieve_throughput_distribution_initial( # pylint: di ) response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized - _sql_container_retrieve_throughput_distribution_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore + _mongo_db_container_retrieve_throughput_distribution_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore @distributed_trace_async - async def begin_sql_container_retrieve_throughput_distribution( # pylint: disable=inconsistent-return-statements + async def begin_mongo_db_container_retrieve_throughput_distribution( self, resource_group_name: str, account_name: str, @@ -936,7 +942,7 @@ async def begin_sql_container_retrieve_throughput_distribution( # pylint: disab collection_name: str, retrieve_throughput_parameters: "_models.RetrieveThroughputParameters", **kwargs: Any - ) -> AsyncLROPoller[None]: + ) -> AsyncLROPoller["_models.PhysicalPartitionThroughputInfoResult"]: """Retrieve throughput distribution for an Azure Cosmos DB MongoDB container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -958,21 +964,23 @@ async def begin_sql_container_retrieve_throughput_distribution( # pylint: disab :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] + :return: An instance of AsyncLROPoller that returns either + PhysicalPartitionThroughputInfoResult or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResult] :raises: ~azure.core.exceptions.HttpResponseError """ api_version = kwargs.pop('api_version', "2022-02-15-preview") # type: str content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PhysicalPartitionThroughputInfoResult"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval ) cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: - raw_result = await self._sql_container_retrieve_throughput_distribution_initial( + raw_result = await self._mongo_db_container_retrieve_throughput_distribution_initial( resource_group_name=resource_group_name, account_name=account_name, database_name=database_name, @@ -986,8 +994,11 @@ async def begin_sql_container_retrieve_throughput_distribution( # pylint: disab kwargs.pop('error_map', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + return deserialized if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) @@ -1002,9 +1013,9 @@ def get_long_running_output(pipeline_response): ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_sql_container_retrieve_throughput_distribution.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore + begin_mongo_db_container_retrieve_throughput_distribution.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore - async def _mongo_db_container_redistribute_throughput_initial( # pylint: disable=inconsistent-return-statements + async def _mongo_db_container_redistribute_throughput_initial( self, resource_group_name: str, account_name: str, @@ -1012,8 +1023,8 @@ async def _mongo_db_container_redistribute_throughput_initial( # pylint: disabl collection_name: str, redistribute_throughput_parameters: "_models.RedistributeThroughputParameters", **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] + ) -> Optional["_models.PhysicalPartitionThroughputInfoResult"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PhysicalPartitionThroughputInfoResult"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -1045,18 +1056,24 @@ async def _mongo_db_container_redistribute_throughput_initial( # pylint: disabl ) response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized _mongo_db_container_redistribute_throughput_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/redistributeThroughput"} # type: ignore @distributed_trace_async - async def begin_mongo_db_container_redistribute_throughput( # pylint: disable=inconsistent-return-statements + async def begin_mongo_db_container_redistribute_throughput( self, resource_group_name: str, account_name: str, @@ -1064,7 +1081,7 @@ async def begin_mongo_db_container_redistribute_throughput( # pylint: disable=i collection_name: str, redistribute_throughput_parameters: "_models.RedistributeThroughputParameters", **kwargs: Any - ) -> AsyncLROPoller[None]: + ) -> AsyncLROPoller["_models.PhysicalPartitionThroughputInfoResult"]: """Redistribute throughput for an Azure Cosmos DB MongoDB container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1087,14 +1104,16 @@ async def begin_mongo_db_container_redistribute_throughput( # pylint: disable=i :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] + :return: An instance of AsyncLROPoller that returns either + PhysicalPartitionThroughputInfoResult or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResult] :raises: ~azure.core.exceptions.HttpResponseError """ api_version = kwargs.pop('api_version', "2022-02-15-preview") # type: str content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PhysicalPartitionThroughputInfoResult"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval @@ -1115,8 +1134,11 @@ async def begin_mongo_db_container_redistribute_throughput( # pylint: disable=i kwargs.pop('error_map', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + return deserialized if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_sql_resources_operations.py b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_sql_resources_operations.py index 85c6676e4d0d..6c84c8a0c6f7 100644 --- a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_sql_resources_operations.py +++ b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/aio/operations/_sql_resources_operations.py @@ -2178,7 +2178,7 @@ def get_long_running_output(pipeline_response): begin_migrate_sql_container_to_manual_throughput.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput"} # type: ignore - async def _sql_container_retrieve_throughput_distribution_initial( # pylint: disable=inconsistent-return-statements + async def _sql_container_retrieve_throughput_distribution_initial( self, resource_group_name: str, account_name: str, @@ -2186,8 +2186,8 @@ async def _sql_container_retrieve_throughput_distribution_initial( # pylint: di container_name: str, retrieve_throughput_parameters: "_models.RetrieveThroughputParameters", **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] + ) -> Optional["_models.PhysicalPartitionThroughputInfoResult"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PhysicalPartitionThroughputInfoResult"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -2219,18 +2219,24 @@ async def _sql_container_retrieve_throughput_distribution_initial( # pylint: di ) response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized _sql_container_retrieve_throughput_distribution_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore @distributed_trace_async - async def begin_sql_container_retrieve_throughput_distribution( # pylint: disable=inconsistent-return-statements + async def begin_sql_container_retrieve_throughput_distribution( self, resource_group_name: str, account_name: str, @@ -2238,7 +2244,7 @@ async def begin_sql_container_retrieve_throughput_distribution( # pylint: disab container_name: str, retrieve_throughput_parameters: "_models.RetrieveThroughputParameters", **kwargs: Any - ) -> AsyncLROPoller[None]: + ) -> AsyncLROPoller["_models.PhysicalPartitionThroughputInfoResult"]: """Retrieve throughput distribution for an Azure Cosmos DB SQL container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2260,14 +2266,16 @@ async def begin_sql_container_retrieve_throughput_distribution( # pylint: disab :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] + :return: An instance of AsyncLROPoller that returns either + PhysicalPartitionThroughputInfoResult or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResult] :raises: ~azure.core.exceptions.HttpResponseError """ api_version = kwargs.pop('api_version', "2022-02-15-preview") # type: str content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PhysicalPartitionThroughputInfoResult"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval @@ -2288,8 +2296,11 @@ async def begin_sql_container_retrieve_throughput_distribution( # pylint: disab kwargs.pop('error_map', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + return deserialized if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) @@ -2306,7 +2317,7 @@ def get_long_running_output(pipeline_response): begin_sql_container_retrieve_throughput_distribution.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore - async def _sql_container_redistribute_throughput_initial( # pylint: disable=inconsistent-return-statements + async def _sql_container_redistribute_throughput_initial( self, resource_group_name: str, account_name: str, @@ -2314,8 +2325,8 @@ async def _sql_container_redistribute_throughput_initial( # pylint: disable=inc container_name: str, redistribute_throughput_parameters: "_models.RedistributeThroughputParameters", **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] + ) -> Optional["_models.PhysicalPartitionThroughputInfoResult"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PhysicalPartitionThroughputInfoResult"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -2347,18 +2358,24 @@ async def _sql_container_redistribute_throughput_initial( # pylint: disable=inc ) response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized _sql_container_redistribute_throughput_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/redistributeThroughput"} # type: ignore @distributed_trace_async - async def begin_sql_container_redistribute_throughput( # pylint: disable=inconsistent-return-statements + async def begin_sql_container_redistribute_throughput( self, resource_group_name: str, account_name: str, @@ -2366,7 +2383,7 @@ async def begin_sql_container_redistribute_throughput( # pylint: disable=incons container_name: str, redistribute_throughput_parameters: "_models.RedistributeThroughputParameters", **kwargs: Any - ) -> AsyncLROPoller[None]: + ) -> AsyncLROPoller["_models.PhysicalPartitionThroughputInfoResult"]: """Redistribute throughput for an Azure Cosmos DB SQL container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2389,14 +2406,16 @@ async def begin_sql_container_redistribute_throughput( # pylint: disable=incons :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] + :return: An instance of AsyncLROPoller that returns either + PhysicalPartitionThroughputInfoResult or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResult] :raises: ~azure.core.exceptions.HttpResponseError """ api_version = kwargs.pop('api_version', "2022-02-15-preview") # type: str content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PhysicalPartitionThroughputInfoResult"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval @@ -2417,8 +2436,11 @@ async def begin_sql_container_redistribute_throughput( # pylint: disable=incons kwargs.pop('error_map', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + return deserialized if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/__init__.py b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/__init__.py index 5f8cf73d573d..7dcc99667730 100644 --- a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/__init__.py +++ b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/__init__.py @@ -190,7 +190,10 @@ from ._models_py3 import PhysicalPartitionId from ._models_py3 import PhysicalPartitionStorageInfo from ._models_py3 import PhysicalPartitionStorageInfoCollection +from ._models_py3 import PhysicalPartitionThroughputInfoProperties from ._models_py3 import PhysicalPartitionThroughputInfoResource +from ._models_py3 import PhysicalPartitionThroughputInfoResult +from ._models_py3 import PhysicalPartitionThroughputInfoResultPropertiesResource from ._models_py3 import PrivateEndpointConnection from ._models_py3 import PrivateEndpointConnectionListResult from ._models_py3 import PrivateEndpointProperty @@ -532,7 +535,10 @@ 'PhysicalPartitionId', 'PhysicalPartitionStorageInfo', 'PhysicalPartitionStorageInfoCollection', + 'PhysicalPartitionThroughputInfoProperties', 'PhysicalPartitionThroughputInfoResource', + 'PhysicalPartitionThroughputInfoResult', + 'PhysicalPartitionThroughputInfoResultPropertiesResource', 'PrivateEndpointConnection', 'PrivateEndpointConnectionListResult', 'PrivateEndpointProperty', diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/_models.py b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/_models.py deleted file mode 100644 index c3732ba50eef..000000000000 --- a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/_models.py +++ /dev/null @@ -1,8142 +0,0 @@ -# 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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -class AnalyticalStorageConfiguration(msrest.serialization.Model): - """Analytical storage specific properties. - - :param schema_type: Describes the types of schema for analytical storage. Possible values - include: "WellDefined", "FullFidelity". - :type schema_type: str or ~azure.mgmt.cosmosdb.models.AnalyticalStorageSchemaType - """ - - _attribute_map = { - 'schema_type': {'key': 'schemaType', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(AnalyticalStorageConfiguration, self).__init__(**kwargs) - self.schema_type = kwargs.get('schema_type', None) - - -class ApiProperties(msrest.serialization.Model): - """ApiProperties. - - :param server_version: Describes the ServerVersion of an a MongoDB account. Possible values - include: "3.2", "3.6", "4.0". - :type server_version: str or ~azure.mgmt.cosmosdb.models.ServerVersion - """ - - _attribute_map = { - 'server_version': {'key': 'serverVersion', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ApiProperties, self).__init__(**kwargs) - self.server_version = kwargs.get('server_version', None) - - -class ARMProxyResource(msrest.serialization.Model): - """The resource model definition for a ARM proxy resource. It will have everything other than required location and tags. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the database account. - :vartype id: str - :ivar name: The name of the database account. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ARMProxyResource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - -class ARMResourceProperties(msrest.serialization.Model): - """The core properties of ARM resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - """ - - _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, - **kwargs - ): - super(ARMResourceProperties, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - - -class AutoscaleSettings(msrest.serialization.Model): - """AutoscaleSettings. - - :param max_throughput: Represents maximum throughput, the resource can scale up to. - :type max_throughput: int - """ - - _attribute_map = { - 'max_throughput': {'key': 'maxThroughput', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(AutoscaleSettings, self).__init__(**kwargs) - self.max_throughput = kwargs.get('max_throughput', None) - - -class AutoscaleSettingsResource(msrest.serialization.Model): - """Cosmos DB provisioned throughput settings object. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param max_throughput: Required. Represents maximum throughput container can scale up to. - :type max_throughput: int - :param auto_upgrade_policy: Cosmos DB resource auto-upgrade policy. - :type auto_upgrade_policy: ~azure.mgmt.cosmosdb.models.AutoUpgradePolicyResource - :ivar target_max_throughput: Represents target maximum throughput container can scale up to - once offer is no longer in pending state. - :vartype target_max_throughput: int - """ - - _validation = { - 'max_throughput': {'required': True}, - 'target_max_throughput': {'readonly': True}, - } - - _attribute_map = { - 'max_throughput': {'key': 'maxThroughput', 'type': 'int'}, - 'auto_upgrade_policy': {'key': 'autoUpgradePolicy', 'type': 'AutoUpgradePolicyResource'}, - 'target_max_throughput': {'key': 'targetMaxThroughput', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(AutoscaleSettingsResource, self).__init__(**kwargs) - self.max_throughput = kwargs['max_throughput'] - self.auto_upgrade_policy = kwargs.get('auto_upgrade_policy', None) - self.target_max_throughput = None - - -class AutoUpgradePolicyResource(msrest.serialization.Model): - """Cosmos DB resource auto-upgrade policy. - - :param throughput_policy: Represents throughput policy which service must adhere to for - auto-upgrade. - :type throughput_policy: ~azure.mgmt.cosmosdb.models.ThroughputPolicyResource - """ - - _attribute_map = { - 'throughput_policy': {'key': 'throughputPolicy', 'type': 'ThroughputPolicyResource'}, - } - - def __init__( - self, - **kwargs - ): - super(AutoUpgradePolicyResource, self).__init__(**kwargs) - self.throughput_policy = kwargs.get('throughput_policy', None) - - -class BackupInformation(msrest.serialization.Model): - """Backup information of a resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar continuous_backup_information: Information about the status of continuous backups. - :vartype continuous_backup_information: ~azure.mgmt.cosmosdb.models.ContinuousBackupInformation - """ - - _validation = { - 'continuous_backup_information': {'readonly': True}, - } - - _attribute_map = { - 'continuous_backup_information': {'key': 'continuousBackupInformation', 'type': 'ContinuousBackupInformation'}, - } - - def __init__( - self, - **kwargs - ): - super(BackupInformation, self).__init__(**kwargs) - self.continuous_backup_information = None - - -class BackupPolicy(msrest.serialization.Model): - """The object representing the policy for taking backups on an account. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ContinuousModeBackupPolicy, PeriodicModeBackupPolicy. - - All required parameters must be populated in order to send to Azure. - - :param type: Required. Describes the mode of backups.Constant filled by server. Possible - values include: "Periodic", "Continuous". - :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType - :param migration_state: The object representing the state of the migration between the backup - policies. - :type migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'migration_state': {'key': 'migrationState', 'type': 'BackupPolicyMigrationState'}, - } - - _subtype_map = { - 'type': {'Continuous': 'ContinuousModeBackupPolicy', 'Periodic': 'PeriodicModeBackupPolicy'} - } - - def __init__( - self, - **kwargs - ): - super(BackupPolicy, self).__init__(**kwargs) - self.type = None # type: Optional[str] - self.migration_state = kwargs.get('migration_state', None) - - -class BackupPolicyMigrationState(msrest.serialization.Model): - """The object representing the state of the migration between the backup policies. - - :param status: Describes the status of migration between backup policy types. Possible values - include: "Invalid", "InProgress", "Completed", "Failed". - :type status: str or ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationStatus - :param target_type: Describes the target backup policy type of the backup policy migration. - Possible values include: "Periodic", "Continuous". - :type target_type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType - :param start_time: Time at which the backup policy migration started (ISO-8601 format). - :type start_time: ~datetime.datetime - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'target_type': {'key': 'targetType', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(BackupPolicyMigrationState, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.target_type = kwargs.get('target_type', None) - self.start_time = kwargs.get('start_time', None) - - -class Capability(msrest.serialization.Model): - """Cosmos DB capability object. - - :param name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current - values also include "EnableTable" and "EnableGremlin". - :type name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Capability, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class Capacity(msrest.serialization.Model): - """The object that represents all properties related to capacity enforcement on an account. - - :param total_throughput_limit: The total throughput limit imposed on the account. A - totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned - on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of - throughput. - :type total_throughput_limit: int - """ - - _validation = { - 'total_throughput_limit': {'minimum': -1}, - } - - _attribute_map = { - 'total_throughput_limit': {'key': 'totalThroughputLimit', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(Capacity, self).__init__(**kwargs) - self.total_throughput_limit = kwargs.get('total_throughput_limit', None) - - -class CassandraClusterPublicStatus(msrest.serialization.Model): - """Properties of a managed Cassandra cluster public status. - - :param e_tag: - :type e_tag: str - :param reaper_status: - :type reaper_status: ~azure.mgmt.cosmosdb.models.ManagedCassandraReaperStatus - :param connection_errors: List relevant information about any connection errors to the - Datacenters. - :type connection_errors: list[~azure.mgmt.cosmosdb.models.ConnectionError] - :param data_centers: List of the status of each datacenter in this cluster. - :type data_centers: - list[~azure.mgmt.cosmosdb.models.CassandraClusterPublicStatusDataCentersItem] - """ - - _attribute_map = { - 'e_tag': {'key': 'eTag', 'type': 'str'}, - 'reaper_status': {'key': 'reaperStatus', 'type': 'ManagedCassandraReaperStatus'}, - 'connection_errors': {'key': 'connectionErrors', 'type': '[ConnectionError]'}, - 'data_centers': {'key': 'dataCenters', 'type': '[CassandraClusterPublicStatusDataCentersItem]'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraClusterPublicStatus, self).__init__(**kwargs) - self.e_tag = kwargs.get('e_tag', None) - self.reaper_status = kwargs.get('reaper_status', None) - self.connection_errors = kwargs.get('connection_errors', None) - self.data_centers = kwargs.get('data_centers', None) - - -class CassandraClusterPublicStatusDataCentersItem(msrest.serialization.Model): - """CassandraClusterPublicStatusDataCentersItem. - - :param name: The name of this Datacenter. - :type name: str - :param seed_nodes: A list of all seed nodes in the cluster, managed and unmanaged. - :type seed_nodes: list[str] - :param nodes: - :type nodes: - list[~azure.mgmt.cosmosdb.models.ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'seed_nodes': {'key': 'seedNodes', 'type': '[str]'}, - 'nodes': {'key': 'nodes', 'type': '[ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems]'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraClusterPublicStatusDataCentersItem, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.seed_nodes = kwargs.get('seed_nodes', None) - self.nodes = kwargs.get('nodes', None) - - -class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB Cassandra keyspace. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a Cassandra keyspace. - :type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'CassandraKeyspaceResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraKeyspaceCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -class OptionsResource(msrest.serialization.Model): - """Cosmos DB options resource object. - - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the - ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings - """ - - _attribute_map = { - 'throughput': {'key': 'throughput', 'type': 'int'}, - 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, - } - - def __init__( - self, - **kwargs - ): - super(OptionsResource, self).__init__(**kwargs) - self.throughput = kwargs.get('throughput', None) - self.autoscale_settings = kwargs.get('autoscale_settings', None) - - -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, - **kwargs - ): - super(CassandraKeyspaceGetPropertiesOptions, self).__init__(**kwargs) - - -class CassandraKeyspaceResource(msrest.serialization.Model): - """Cosmos DB Cassandra keyspace resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB Cassandra keyspace. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraKeyspaceResource, self).__init__(**kwargs) - self.id = kwargs['id'] - - -class ExtendedResourceProperties(msrest.serialization.Model): - """The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtendedResourceProperties, self).__init__(**kwargs) - self.rid = None - self.ts = None - self.etag = None - - -class CassandraKeyspaceGetPropertiesResource(ExtendedResourceProperties, CassandraKeyspaceResource): - """CassandraKeyspaceGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB Cassandra keyspace. - :type id: str - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraKeyspaceGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.rid = None - self.ts = None - self.etag = None - - -class CassandraKeyspaceGetResults(ARMResourceProperties): - """An Azure Cosmos DB Cassandra keyspace. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(CassandraKeyspaceGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) - - -class CassandraKeyspaceListResult(msrest.serialization.Model): - """The List operation response, that contains the Cassandra keyspaces and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Cassandra keyspaces and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[CassandraKeyspaceGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraKeyspaceListResult, self).__init__(**kwargs) - self.value = None - - -class CassandraPartitionKey(msrest.serialization.Model): - """Cosmos DB Cassandra table partition key. - - :param name: Name of the Cosmos DB Cassandra table partition key. - :type name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraPartitionKey, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class CassandraSchema(msrest.serialization.Model): - """Cosmos DB Cassandra table schema. - - :param columns: List of Cassandra table columns. - :type columns: list[~azure.mgmt.cosmosdb.models.Column] - :param partition_keys: List of partition key. - :type partition_keys: list[~azure.mgmt.cosmosdb.models.CassandraPartitionKey] - :param cluster_keys: List of cluster key. - :type cluster_keys: list[~azure.mgmt.cosmosdb.models.ClusterKey] - """ - - _attribute_map = { - 'columns': {'key': 'columns', 'type': '[Column]'}, - 'partition_keys': {'key': 'partitionKeys', 'type': '[CassandraPartitionKey]'}, - 'cluster_keys': {'key': 'clusterKeys', 'type': '[ClusterKey]'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraSchema, self).__init__(**kwargs) - self.columns = kwargs.get('columns', None) - self.partition_keys = kwargs.get('partition_keys', None) - self.cluster_keys = kwargs.get('cluster_keys', None) - - -class CassandraTableCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB Cassandra table. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a Cassandra table. - :type resource: ~azure.mgmt.cosmosdb.models.CassandraTableResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'CassandraTableResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraTableCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -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, - **kwargs - ): - super(CassandraTableGetPropertiesOptions, self).__init__(**kwargs) - - -class CassandraTableResource(msrest.serialization.Model): - """Cosmos DB Cassandra table resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB Cassandra table. - :type id: str - :param default_ttl: Time to live of the Cosmos DB Cassandra table. - :type default_ttl: int - :param schema: Schema of the Cosmos DB Cassandra table. - :type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'schema': {'key': 'schema', 'type': 'CassandraSchema'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraTableResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.default_ttl = kwargs.get('default_ttl', None) - self.schema = kwargs.get('schema', None) - self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - - -class CassandraTableGetPropertiesResource(ExtendedResourceProperties, CassandraTableResource): - """CassandraTableGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB Cassandra table. - :type id: str - :param default_ttl: Time to live of the Cosmos DB Cassandra table. - :type default_ttl: int - :param schema: Schema of the Cosmos DB Cassandra table. - :type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'schema': {'key': 'schema', 'type': 'CassandraSchema'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraTableGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.default_ttl = kwargs.get('default_ttl', None) - self.schema = kwargs.get('schema', None) - self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - self.rid = None - self.ts = None - self.etag = None - - -class CassandraTableGetResults(ARMResourceProperties): - """An Azure Cosmos DB Cassandra table. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(CassandraTableGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) - - -class CassandraTableListResult(msrest.serialization.Model): - """The List operation response, that contains the Cassandra tables and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Cassandra tables and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.CassandraTableGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[CassandraTableGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraTableListResult, self).__init__(**kwargs) - self.value = None - - -class Certificate(msrest.serialization.Model): - """Certificate. - - :param pem: PEM formatted public key. - :type pem: str - """ - - _attribute_map = { - 'pem': {'key': 'pem', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Certificate, self).__init__(**kwargs) - self.pem = kwargs.get('pem', None) - - -class ClusterKey(msrest.serialization.Model): - """Cosmos DB Cassandra table cluster key. - - :param name: Name of the Cosmos DB Cassandra table cluster key. - :type name: str - :param order_by: Order of the Cosmos DB Cassandra table cluster key, only support "Asc" and - "Desc". - :type order_by: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'order_by': {'key': 'orderBy', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ClusterKey, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.order_by = kwargs.get('order_by', None) - - -class ManagedCassandraARMResourceProperties(msrest.serialization.Model): - """The core properties of ARM resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedCassandraManagedServiceIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedCassandraManagedServiceIdentity'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedCassandraARMResourceProperties, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - self.identity = kwargs.get('identity', None) - - -class ClusterResource(ManagedCassandraARMResourceProperties): - """Representation of a managed Cassandra cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedCassandraManagedServiceIdentity - :param properties: Properties of a managed Cassandra cluster. - :type properties: ~azure.mgmt.cosmosdb.models.ClusterResourceProperties - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedCassandraManagedServiceIdentity'}, - 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(ClusterResource, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - - -class ClusterResourceProperties(msrest.serialization.Model): - """Properties of a managed Cassandra cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param provisioning_state: The status of the resource at the time the operation was called. - Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". - :type provisioning_state: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState - :param restore_from_backup_id: To create an empty cluster, omit this field or set it to null. - To restore a backup into a new cluster, set this field to the resource id of the backup. - :type restore_from_backup_id: str - :param delegated_management_subnet_id: Resource id of a subnet that this cluster's management - service should have its network interface attached to. The subnet must be routable to all - subnets that will be delegated to data centers. The resource id must be of the form - '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. - :type delegated_management_subnet_id: str - :param cassandra_version: Which version of Cassandra should this cluster converge to running - (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version. - :type cassandra_version: str - :param cluster_name_override: If you need to set the clusterName property in cassandra.yaml to - something besides the resource name of the cluster, set the value to use on this property. - :type cluster_name_override: str - :param authentication_method: Which authentication method Cassandra should use to authenticate - clients. 'None' turns off authentication, so should not be used except in emergencies. - 'Cassandra' is the default password based authentication. The default is 'Cassandra'. Possible - values include: "None", "Cassandra". - :type authentication_method: str or ~azure.mgmt.cosmosdb.models.AuthenticationMethod - :param initial_cassandra_admin_password: Initial password for clients connecting as admin to - the cluster. Should be changed after cluster creation. Returns null on GET. This field only - applies when the authenticationMethod field is 'Cassandra'. - :type initial_cassandra_admin_password: str - :param prometheus_endpoint: Hostname or IP address where the Prometheus endpoint containing - data about the managed Cassandra nodes can be reached. - :type prometheus_endpoint: ~azure.mgmt.cosmosdb.models.SeedNode - :param repair_enabled: Should automatic repairs run on this cluster? If omitted, this is true, - and should stay true unless you are running a hybrid cluster where you are already doing your - own repairs. - :type repair_enabled: bool - :param client_certificates: List of TLS certificates used to authorize clients connecting to - the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if - clientCertificates is set, the managed Cassandra cluster will reject all connections not - bearing a TLS client certificate that can be validated from one or more of the public - certificates in this property. - :type client_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] - :param external_gossip_certificates: List of TLS certificates used to authorize gossip from - unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be - verifiable using one of the certificates provided in this property. - :type external_gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] - :ivar gossip_certificates: List of TLS certificates that unmanaged nodes must trust for gossip - with managed nodes. All managed nodes will present TLS client certificates that are verifiable - using one of the certificates provided in this property. - :vartype gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] - :param external_seed_nodes: List of IP addresses of seed nodes in unmanaged data centers. These - will be added to the seed node lists of all managed nodes. - :type external_seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] - :ivar seed_nodes: List of IP addresses of seed nodes in the managed data centers. These should - be added to the seed node lists of all unmanaged nodes. - :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] - :param hours_between_backups: Number of hours to wait between taking a backup of the cluster. - To disable backups, set this property to 0. - :type hours_between_backups: int - :param deallocated: Whether the cluster and associated data centers has been deallocated. - :type deallocated: bool - :param cassandra_audit_logging_enabled: Whether Cassandra audit logging is enabled. - :type cassandra_audit_logging_enabled: bool - """ - - _validation = { - 'gossip_certificates': {'readonly': True}, - 'seed_nodes': {'readonly': True}, - } - - _attribute_map = { - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'restore_from_backup_id': {'key': 'restoreFromBackupId', 'type': 'str'}, - 'delegated_management_subnet_id': {'key': 'delegatedManagementSubnetId', 'type': 'str'}, - 'cassandra_version': {'key': 'cassandraVersion', 'type': 'str'}, - 'cluster_name_override': {'key': 'clusterNameOverride', 'type': 'str'}, - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - 'initial_cassandra_admin_password': {'key': 'initialCassandraAdminPassword', 'type': 'str'}, - 'prometheus_endpoint': {'key': 'prometheusEndpoint', 'type': 'SeedNode'}, - 'repair_enabled': {'key': 'repairEnabled', 'type': 'bool'}, - 'client_certificates': {'key': 'clientCertificates', 'type': '[Certificate]'}, - 'external_gossip_certificates': {'key': 'externalGossipCertificates', 'type': '[Certificate]'}, - 'gossip_certificates': {'key': 'gossipCertificates', 'type': '[Certificate]'}, - 'external_seed_nodes': {'key': 'externalSeedNodes', 'type': '[SeedNode]'}, - 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, - 'hours_between_backups': {'key': 'hoursBetweenBackups', 'type': 'int'}, - 'deallocated': {'key': 'deallocated', 'type': 'bool'}, - 'cassandra_audit_logging_enabled': {'key': 'cassandraAuditLoggingEnabled', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(ClusterResourceProperties, self).__init__(**kwargs) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.restore_from_backup_id = kwargs.get('restore_from_backup_id', None) - self.delegated_management_subnet_id = kwargs.get('delegated_management_subnet_id', None) - self.cassandra_version = kwargs.get('cassandra_version', None) - self.cluster_name_override = kwargs.get('cluster_name_override', None) - self.authentication_method = kwargs.get('authentication_method', None) - self.initial_cassandra_admin_password = kwargs.get('initial_cassandra_admin_password', None) - self.prometheus_endpoint = kwargs.get('prometheus_endpoint', None) - self.repair_enabled = kwargs.get('repair_enabled', None) - self.client_certificates = kwargs.get('client_certificates', None) - self.external_gossip_certificates = kwargs.get('external_gossip_certificates', None) - self.gossip_certificates = None - self.external_seed_nodes = kwargs.get('external_seed_nodes', None) - self.seed_nodes = None - self.hours_between_backups = kwargs.get('hours_between_backups', None) - self.deallocated = kwargs.get('deallocated', None) - self.cassandra_audit_logging_enabled = kwargs.get('cassandra_audit_logging_enabled', None) - - -class Column(msrest.serialization.Model): - """Cosmos DB Cassandra table column. - - :param name: Name of the Cosmos DB Cassandra table column. - :type name: str - :param type: Type of the Cosmos DB Cassandra table column. - :type type: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Column, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - - -class CommandOutput(msrest.serialization.Model): - """Response of /command api. - - :param command_output: Output of the command. - :type command_output: str - """ - - _attribute_map = { - 'command_output': {'key': 'commandOutput', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(CommandOutput, self).__init__(**kwargs) - self.command_output = kwargs.get('command_output', None) - - -class CommandPostBody(msrest.serialization.Model): - """Specification of which command to run where. - - All required parameters must be populated in order to send to Azure. - - :param command: Required. The command which should be run. - :type command: str - :param arguments: The arguments for the command to be run. - :type arguments: dict[str, str] - :param host: Required. IP address of the cassandra host to run the command on. - :type host: str - :param cassandra_stop_start: If true, stops cassandra before executing the command and then - start it again. - :type cassandra_stop_start: bool - :param readwrite: If true, allows the command to *write* to the cassandra directory, otherwise - read-only. - :type readwrite: bool - """ - - _validation = { - 'command': {'required': True}, - 'host': {'required': True}, - } - - _attribute_map = { - 'command': {'key': 'command', 'type': 'str'}, - 'arguments': {'key': 'arguments', 'type': '{str}'}, - 'host': {'key': 'host', 'type': 'str'}, - 'cassandra_stop_start': {'key': 'cassandra-stop-start', 'type': 'bool'}, - 'readwrite': {'key': 'readwrite', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(CommandPostBody, self).__init__(**kwargs) - self.command = kwargs['command'] - self.arguments = kwargs.get('arguments', None) - self.host = kwargs['host'] - self.cassandra_stop_start = kwargs.get('cassandra_stop_start', None) - self.readwrite = kwargs.get('readwrite', None) - - -class Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): - """Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal id of user assigned identity. - :vartype principal_id: str - :ivar client_id: The client id of user assigned identity. - :vartype client_id: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None - - -class ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems(msrest.serialization.Model): - """ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems. - - :param address: The node's IP address. - :type address: str - :param state: The state of the node in Cassandra ring. Possible values include: "Normal", - "Leaving", "Joining", "Moving", "Stopped". - :type state: str or ~azure.mgmt.cosmosdb.models.NodeState - :param status: - :type status: str - :param load: The amount of file system data in the data directory (e.g., 47.66 kB), excluding - all content in the snapshots subdirectories. Because all SSTable data files are included, any - data that is not cleaned up (such as TTL-expired cells or tombstones) is counted. - :type load: str - :param tokens: List of tokens this node covers. - :type tokens: list[str] - :param size: - :type size: int - :param host_id: The network ID of the node. - :type host_id: str - :param rack: The rack this node is part of. - :type rack: str - :param timestamp: The timestamp when these statistics were captured. - :type timestamp: str - :param disk_used_kb: The amount of disk used, in kB, of the directory /var/lib/cassandra. - :type disk_used_kb: long - :param disk_free_kb: The amount of disk free, in kB, of the directory /var/lib/cassandra. - :type disk_free_kb: long - :param memory_used_kb: Used memory (calculated as total - free - buffers - cache), in kB. - :type memory_used_kb: long - :param memory_buffers_and_cached_kb: Memory used by kernel buffers (Buffers in /proc/meminfo) - and page cache and slabs (Cached and SReclaimable in /proc/meminfo), in kB. - :type memory_buffers_and_cached_kb: long - :param memory_free_kb: Unused memory (MemFree and SwapFree in /proc/meminfo), in kB. - :type memory_free_kb: long - :param memory_total_kb: Total installed memory (MemTotal and SwapTotal in /proc/meminfo), in - kB. - :type memory_total_kb: long - :param cpu_usage: A float representing the current system-wide CPU utilization as a percentage. - :type cpu_usage: float - """ - - _attribute_map = { - 'address': {'key': 'address', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'load': {'key': 'load', 'type': 'str'}, - 'tokens': {'key': 'tokens', 'type': '[str]'}, - 'size': {'key': 'size', 'type': 'int'}, - 'host_id': {'key': 'hostID', 'type': 'str'}, - 'rack': {'key': 'rack', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'str'}, - 'disk_used_kb': {'key': 'diskUsedKB', 'type': 'long'}, - 'disk_free_kb': {'key': 'diskFreeKB', 'type': 'long'}, - 'memory_used_kb': {'key': 'memoryUsedKB', 'type': 'long'}, - 'memory_buffers_and_cached_kb': {'key': 'memoryBuffersAndCachedKB', 'type': 'long'}, - 'memory_free_kb': {'key': 'memoryFreeKB', 'type': 'long'}, - 'memory_total_kb': {'key': 'memoryTotalKB', 'type': 'long'}, - 'cpu_usage': {'key': 'cpuUsage', 'type': 'float'}, - } - - def __init__( - self, - **kwargs - ): - super(ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems, self).__init__(**kwargs) - self.address = kwargs.get('address', None) - self.state = kwargs.get('state', None) - self.status = kwargs.get('status', None) - self.load = kwargs.get('load', None) - self.tokens = kwargs.get('tokens', None) - self.size = kwargs.get('size', None) - self.host_id = kwargs.get('host_id', None) - self.rack = kwargs.get('rack', None) - self.timestamp = kwargs.get('timestamp', None) - self.disk_used_kb = kwargs.get('disk_used_kb', None) - self.disk_free_kb = kwargs.get('disk_free_kb', None) - self.memory_used_kb = kwargs.get('memory_used_kb', None) - self.memory_buffers_and_cached_kb = kwargs.get('memory_buffers_and_cached_kb', None) - self.memory_free_kb = kwargs.get('memory_free_kb', None) - self.memory_total_kb = kwargs.get('memory_total_kb', None) - self.cpu_usage = kwargs.get('cpu_usage', None) - - -class CompositePath(msrest.serialization.Model): - """CompositePath. - - :param path: The path for which the indexing behavior applies to. Index paths typically start - with root and end with wildcard (/path/*). - :type path: str - :param order: Sort order for composite paths. Possible values include: "ascending", - "descending". - :type order: str or ~azure.mgmt.cosmosdb.models.CompositePathSortOrder - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - 'order': {'key': 'order', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(CompositePath, self).__init__(**kwargs) - self.path = kwargs.get('path', None) - self.order = kwargs.get('order', None) - - -class ConflictResolutionPolicy(msrest.serialization.Model): - """The conflict resolution policy for the container. - - :param mode: Indicates the conflict resolution mode. Possible values include: "LastWriterWins", - "Custom". Default value: "LastWriterWins". - :type mode: str or ~azure.mgmt.cosmosdb.models.ConflictResolutionMode - :param conflict_resolution_path: The conflict resolution path in the case of LastWriterWins - mode. - :type conflict_resolution_path: str - :param conflict_resolution_procedure: The procedure to resolve conflicts in the case of custom - mode. - :type conflict_resolution_procedure: str - """ - - _attribute_map = { - 'mode': {'key': 'mode', 'type': 'str'}, - 'conflict_resolution_path': {'key': 'conflictResolutionPath', 'type': 'str'}, - 'conflict_resolution_procedure': {'key': 'conflictResolutionProcedure', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ConflictResolutionPolicy, self).__init__(**kwargs) - self.mode = kwargs.get('mode', "LastWriterWins") - self.conflict_resolution_path = kwargs.get('conflict_resolution_path', None) - self.conflict_resolution_procedure = kwargs.get('conflict_resolution_procedure', None) - - -class ConnectionError(msrest.serialization.Model): - """ConnectionError. - - :param connection_state: The kind of connection error that occurred. Possible values include: - "Unknown", "OK", "OperatorToDataCenterNetworkError", "DatacenterToDatacenterNetworkError", - "InternalOperatorToDataCenterCertificateError", "InternalError". - :type connection_state: str or ~azure.mgmt.cosmosdb.models.ConnectionState - :param i_p_from: The IP of host that originated the failed connection. - :type i_p_from: str - :param i_p_to: The IP that the connection attempted to reach. - :type i_p_to: str - :param port: The TCP port the connection was attempted on. - :type port: int - :param exception: Detailed error message about the failed connection. - :type exception: str - """ - - _attribute_map = { - 'connection_state': {'key': 'connectionState', 'type': 'str'}, - 'i_p_from': {'key': 'iPFrom', 'type': 'str'}, - 'i_p_to': {'key': 'iPTo', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - 'exception': {'key': 'exception', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ConnectionError, self).__init__(**kwargs) - self.connection_state = kwargs.get('connection_state', None) - self.i_p_from = kwargs.get('i_p_from', None) - self.i_p_to = kwargs.get('i_p_to', None) - self.port = kwargs.get('port', None) - self.exception = kwargs.get('exception', None) - - -class ConsistencyPolicy(msrest.serialization.Model): - """The consistency policy for the Cosmos DB database account. - - All required parameters must be populated in order to send to Azure. - - :param default_consistency_level: Required. The default consistency level and configuration - settings of the Cosmos DB account. Possible values include: "Eventual", "Session", - "BoundedStaleness", "Strong", "ConsistentPrefix". - :type default_consistency_level: str or ~azure.mgmt.cosmosdb.models.DefaultConsistencyLevel - :param max_staleness_prefix: When used with the Bounded Staleness consistency level, this value - represents the number of stale requests tolerated. Accepted range for this value is 1 – - 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. - :type max_staleness_prefix: long - :param max_interval_in_seconds: When used with the Bounded Staleness consistency level, this - value represents the time amount of staleness (in seconds) tolerated. Accepted range for this - value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. - :type max_interval_in_seconds: int - """ - - _validation = { - 'default_consistency_level': {'required': True}, - 'max_staleness_prefix': {'maximum': 2147483647, 'minimum': 1}, - 'max_interval_in_seconds': {'maximum': 86400, 'minimum': 5}, - } - - _attribute_map = { - 'default_consistency_level': {'key': 'defaultConsistencyLevel', 'type': 'str'}, - 'max_staleness_prefix': {'key': 'maxStalenessPrefix', 'type': 'long'}, - 'max_interval_in_seconds': {'key': 'maxIntervalInSeconds', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(ConsistencyPolicy, self).__init__(**kwargs) - self.default_consistency_level = kwargs['default_consistency_level'] - self.max_staleness_prefix = kwargs.get('max_staleness_prefix', None) - self.max_interval_in_seconds = kwargs.get('max_interval_in_seconds', None) - - -class ContainerPartitionKey(msrest.serialization.Model): - """The configuration of the partition key to be used for partitioning data into multiple partitions. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param paths: List of paths using which data within the container can be partitioned. - :type paths: list[str] - :param kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple - partition keys (upto three maximum) are supported for container create. Possible values - include: "Hash", "Range", "MultiHash". Default value: "Hash". - :type kind: str or ~azure.mgmt.cosmosdb.models.PartitionKind - :param version: Indicates the version of the partition key definition. - :type version: int - :ivar system_key: Indicates if the container is using a system generated partition key. - :vartype system_key: bool - """ - - _validation = { - 'version': {'maximum': 2, 'minimum': 1}, - 'system_key': {'readonly': True}, - } - - _attribute_map = { - 'paths': {'key': 'paths', 'type': '[str]'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'int'}, - 'system_key': {'key': 'systemKey', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(ContainerPartitionKey, self).__init__(**kwargs) - self.paths = kwargs.get('paths', None) - self.kind = kwargs.get('kind', "Hash") - self.version = kwargs.get('version', None) - self.system_key = None - - -class ContinuousBackupInformation(msrest.serialization.Model): - """Information about the status of continuous backups. - - :param latest_restorable_timestamp: The latest restorable timestamp for a resource. - :type latest_restorable_timestamp: str - """ - - _attribute_map = { - 'latest_restorable_timestamp': {'key': 'latestRestorableTimestamp', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ContinuousBackupInformation, self).__init__(**kwargs) - self.latest_restorable_timestamp = kwargs.get('latest_restorable_timestamp', None) - - -class ContinuousBackupRestoreLocation(msrest.serialization.Model): - """Properties of the regional restorable account. - - :param location: The name of the continuous backup restore location. - :type location: str - """ - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ContinuousBackupRestoreLocation, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - - -class ContinuousModeBackupPolicy(BackupPolicy): - """The object representing continuous mode backup policy. - - All required parameters must be populated in order to send to Azure. - - :param type: Required. Describes the mode of backups.Constant filled by server. Possible - values include: "Periodic", "Continuous". - :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType - :param migration_state: The object representing the state of the migration between the backup - policies. - :type migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'migration_state': {'key': 'migrationState', 'type': 'BackupPolicyMigrationState'}, - } - - def __init__( - self, - **kwargs - ): - super(ContinuousModeBackupPolicy, self).__init__(**kwargs) - self.type = 'Continuous' # type: str - - -class CorsPolicy(msrest.serialization.Model): - """The CORS policy for the Cosmos DB database account. - - All required parameters must be populated in order to send to Azure. - - :param allowed_origins: Required. The origin domains that are permitted to make a request - against the service via CORS. - :type allowed_origins: str - :param allowed_methods: The methods (HTTP request verbs) that the origin domain may use for a - CORS request. - :type allowed_methods: str - :param allowed_headers: The request headers that the origin domain may specify on the CORS - request. - :type allowed_headers: str - :param exposed_headers: The response headers that may be sent in the response to the CORS - request and exposed by the browser to the request issuer. - :type exposed_headers: str - :param max_age_in_seconds: The maximum amount time that a browser should cache the preflight - OPTIONS request. - :type max_age_in_seconds: long - """ - - _validation = { - 'allowed_origins': {'required': True}, - 'max_age_in_seconds': {'maximum': 2147483647, 'minimum': 1}, - } - - _attribute_map = { - 'allowed_origins': {'key': 'allowedOrigins', 'type': 'str'}, - 'allowed_methods': {'key': 'allowedMethods', 'type': 'str'}, - 'allowed_headers': {'key': 'allowedHeaders', 'type': 'str'}, - 'exposed_headers': {'key': 'exposedHeaders', 'type': 'str'}, - 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'long'}, - } - - def __init__( - self, - **kwargs - ): - super(CorsPolicy, self).__init__(**kwargs) - self.allowed_origins = kwargs['allowed_origins'] - self.allowed_methods = kwargs.get('allowed_methods', None) - self.allowed_headers = kwargs.get('allowed_headers', None) - self.exposed_headers = kwargs.get('exposed_headers', None) - self.max_age_in_seconds = kwargs.get('max_age_in_seconds', None) - - -class CreateUpdateOptions(msrest.serialization.Model): - """CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput". - - :param throughput: Request Units per second. For example, "throughput": 10000. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings - """ - - _attribute_map = { - 'throughput': {'key': 'throughput', 'type': 'int'}, - 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, - } - - def __init__( - self, - **kwargs - ): - super(CreateUpdateOptions, self).__init__(**kwargs) - self.throughput = kwargs.get('throughput', None) - self.autoscale_settings = kwargs.get('autoscale_settings', None) - - -class DatabaseAccountConnectionString(msrest.serialization.Model): - """Connection string for the Cosmos DB account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar connection_string: Value of the connection string. - :vartype connection_string: str - :ivar description: Description of the connection string. - :vartype description: str - """ - - _validation = { - 'connection_string': {'readonly': True}, - 'description': {'readonly': True}, - } - - _attribute_map = { - 'connection_string': {'key': 'connectionString', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DatabaseAccountConnectionString, self).__init__(**kwargs) - self.connection_string = None - self.description = None - - -class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB database accounts. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param kind: Indicates the type of database account. This can only be set at database account - creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". - :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param consistency_policy: The consistency policy for the Cosmos DB account. - :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication locations enabled for the - Cosmos DB account. - :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: The offer type for the database. Has constant value: - "Standard". - :vartype database_account_offer_type: str - :param ip_rules: List of IpRules. - :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual - Network ACL rules. - :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write region in the rare - event that the region is unavailable due to an outage. Automatic failover will result in a new - write region for the account and is chosen based on the failover priorities configured for the - account. - :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account. - :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB - account. - :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in multiple locations. - :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. - :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* - account. Possible values include: "Small". - :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations on metadata resources - (databases, containers, throughput) via account keys. - :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault. - :type key_vault_key_uri: str - :param default_identity: The default identity for accessing key vault used in features like - customer managed keys. The default identity needs to be explicitly set by the users. It can be - "FirstPartyIdentity", "SystemAssignedIdentity" and more. - :type default_identity: str - :param public_network_access: Whether requests from Public Network are allowed. Possible values - include: "Enabled", "Disabled". - :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess - :param enable_free_tier: Flag to indicate whether Free Tier is enabled. - :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only for MongoDB API. - :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. - :type enable_analytical_storage: bool - :param analytical_storage_configuration: Analytical storage specific properties. - :type analytical_storage_configuration: - ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration - :param create_mode: Enum to indicate the mode of account creation. Possible values include: - "Default", "Restore". Default value: "Default". - :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode - :param backup_policy: The object representing the policy for taking backups on an account. - :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy - :param cors: The CORS policy for the Cosmos DB database account. - :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. - Possible values include: "None", "AzureServices". - :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl - Bypass for the Cosmos DB account. - :type network_acl_bypass_resource_ids: list[str] - :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be - used exclusively for authentication. - :type disable_local_auth: bool - :param restore_parameters: Parameters to indicate the information about the restore. - :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters - :param capacity: The object that represents all properties related to capacity enforcement on - an account. - :type capacity: ~azure.mgmt.cosmosdb.models.Capacity - """ - - _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'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'consistency_policy': {'key': 'properties.consistencyPolicy', 'type': 'ConsistencyPolicy'}, - 'locations': {'key': 'properties.locations', 'type': '[Location]'}, - 'database_account_offer_type': {'key': 'properties.databaseAccountOfferType', 'type': 'str'}, - 'ip_rules': {'key': 'properties.ipRules', 'type': '[IpAddressOrRange]'}, - 'is_virtual_network_filter_enabled': {'key': 'properties.isVirtualNetworkFilterEnabled', 'type': 'bool'}, - 'enable_automatic_failover': {'key': 'properties.enableAutomaticFailover', 'type': 'bool'}, - 'capabilities': {'key': 'properties.capabilities', 'type': '[Capability]'}, - 'virtual_network_rules': {'key': 'properties.virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, - 'enable_multiple_write_locations': {'key': 'properties.enableMultipleWriteLocations', 'type': 'bool'}, - 'enable_cassandra_connector': {'key': 'properties.enableCassandraConnector', 'type': 'bool'}, - 'connector_offer': {'key': 'properties.connectorOffer', 'type': 'str'}, - 'disable_key_based_metadata_write_access': {'key': 'properties.disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, - 'key_vault_key_uri': {'key': 'properties.keyVaultKeyUri', 'type': 'str'}, - 'default_identity': {'key': 'properties.defaultIdentity', 'type': 'str'}, - 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, - 'enable_free_tier': {'key': 'properties.enableFreeTier', 'type': 'bool'}, - 'api_properties': {'key': 'properties.apiProperties', 'type': 'ApiProperties'}, - 'enable_analytical_storage': {'key': 'properties.enableAnalyticalStorage', 'type': 'bool'}, - 'analytical_storage_configuration': {'key': 'properties.analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'}, - 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, - 'backup_policy': {'key': 'properties.backupPolicy', 'type': 'BackupPolicy'}, - 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'}, - 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, - 'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'}, - 'restore_parameters': {'key': 'properties.restoreParameters', 'type': 'RestoreParameters'}, - 'capacity': {'key': 'properties.capacity', 'type': 'Capacity'}, - } - - database_account_offer_type = "Standard" - - def __init__( - self, - **kwargs - ): - super(DatabaseAccountCreateUpdateParameters, self).__init__(**kwargs) - self.kind = kwargs.get('kind', None) - self.identity = kwargs.get('identity', None) - self.consistency_policy = kwargs.get('consistency_policy', None) - self.locations = kwargs['locations'] - self.ip_rules = kwargs.get('ip_rules', None) - self.is_virtual_network_filter_enabled = kwargs.get('is_virtual_network_filter_enabled', None) - self.enable_automatic_failover = kwargs.get('enable_automatic_failover', None) - self.capabilities = kwargs.get('capabilities', None) - self.virtual_network_rules = kwargs.get('virtual_network_rules', None) - self.enable_multiple_write_locations = kwargs.get('enable_multiple_write_locations', None) - self.enable_cassandra_connector = kwargs.get('enable_cassandra_connector', None) - self.connector_offer = kwargs.get('connector_offer', None) - self.disable_key_based_metadata_write_access = kwargs.get('disable_key_based_metadata_write_access', None) - self.key_vault_key_uri = kwargs.get('key_vault_key_uri', None) - self.default_identity = kwargs.get('default_identity', None) - self.public_network_access = kwargs.get('public_network_access', None) - self.enable_free_tier = kwargs.get('enable_free_tier', None) - self.api_properties = kwargs.get('api_properties', None) - self.enable_analytical_storage = kwargs.get('enable_analytical_storage', None) - self.analytical_storage_configuration = kwargs.get('analytical_storage_configuration', None) - self.create_mode = kwargs.get('create_mode', "Default") - self.backup_policy = kwargs.get('backup_policy', None) - self.cors = kwargs.get('cors', None) - self.network_acl_bypass = kwargs.get('network_acl_bypass', None) - self.network_acl_bypass_resource_ids = kwargs.get('network_acl_bypass_resource_ids', None) - self.disable_local_auth = kwargs.get('disable_local_auth', None) - self.restore_parameters = kwargs.get('restore_parameters', None) - self.capacity = kwargs.get('capacity', None) - - -class DatabaseAccountGetResults(ARMResourceProperties): - """An Azure Cosmos DB database account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param kind: Indicates the type of database account. This can only be set at database account - creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". - :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.cosmosdb.models.SystemData - :ivar provisioning_state: The status of the Cosmos DB account at the time the operation was - called. The status can be one of following. 'Creating' – the Cosmos DB account is being - created. When an account is in Creating state, only properties that are specified as input for - the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is - active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB - account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – - the Cosmos DB account deletion failed. - :vartype provisioning_state: str - :ivar document_endpoint: The connection endpoint for the Cosmos DB database account. - :vartype document_endpoint: str - :ivar database_account_offer_type: The offer type for the Cosmos DB database account. Default - value: Standard. The only acceptable values to pass in are None and "Standard". The default - value is None. - :vartype database_account_offer_type: str - :param ip_rules: List of IpRules. - :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual - Network ACL rules. - :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write region in the rare - event that the region is unavailable due to an outage. Automatic failover will result in a new - write region for the account and is chosen based on the failover priorities configured for the - account. - :type enable_automatic_failover: bool - :param consistency_policy: The consistency policy for the Cosmos DB database account. - :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param capabilities: List of Cosmos DB capabilities for the account. - :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :ivar write_locations: An array that contains the write location for the Cosmos DB account. - :vartype write_locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar read_locations: An array that contains of the read locations enabled for the Cosmos DB - account. - :vartype read_locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar locations: An array that contains all of the locations enabled for the Cosmos DB account. - :vartype locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar failover_policies: An array that contains the regions ordered by their failover - priorities. - :vartype failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy] - :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB - account. - :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :ivar private_endpoint_connections: List of Private Endpoint Connections configured for the - Cosmos DB account. - :vartype private_endpoint_connections: - list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] - :param enable_multiple_write_locations: Enables the account to write in multiple locations. - :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. - :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* - account. Possible values include: "Small". - :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations on metadata resources - (databases, containers, throughput) via account keys. - :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault. - :type key_vault_key_uri: str - :param default_identity: The default identity for accessing key vault used in features like - customer managed keys. The default identity needs to be explicitly set by the users. It can be - "FirstPartyIdentity", "SystemAssignedIdentity" and more. - :type default_identity: str - :param public_network_access: Whether requests from Public Network are allowed. Possible values - include: "Enabled", "Disabled". - :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess - :param enable_free_tier: Flag to indicate whether Free Tier is enabled. - :type enable_free_tier: bool - :param api_properties: API specific properties. - :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. - :type enable_analytical_storage: bool - :param analytical_storage_configuration: Analytical storage specific properties. - :type analytical_storage_configuration: - ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration - :ivar instance_id: A unique identifier assigned to the database account. - :vartype instance_id: str - :param create_mode: Enum to indicate the mode of account creation. Possible values include: - "Default", "Restore". Default value: "Default". - :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode - :param restore_parameters: Parameters to indicate the information about the restore. - :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters - :param backup_policy: The object representing the policy for taking backups on an account. - :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy - :param cors: The CORS policy for the Cosmos DB database account. - :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. - Possible values include: "None", "AzureServices". - :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl - Bypass for the Cosmos DB account. - :type network_acl_bypass_resource_ids: list[str] - :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be - used exclusively for authentication. - :type disable_local_auth: bool - :param capacity: The object that represents all properties related to capacity enforcement on - an account. - :type capacity: ~azure.mgmt.cosmosdb.models.Capacity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'document_endpoint': {'readonly': True}, - 'database_account_offer_type': {'readonly': True}, - 'write_locations': {'readonly': True}, - 'read_locations': {'readonly': True}, - 'locations': {'readonly': True}, - 'failover_policies': {'readonly': True}, - 'private_endpoint_connections': {'readonly': True}, - 'instance_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'document_endpoint': {'key': 'properties.documentEndpoint', 'type': 'str'}, - 'database_account_offer_type': {'key': 'properties.databaseAccountOfferType', 'type': 'str'}, - 'ip_rules': {'key': 'properties.ipRules', 'type': '[IpAddressOrRange]'}, - 'is_virtual_network_filter_enabled': {'key': 'properties.isVirtualNetworkFilterEnabled', 'type': 'bool'}, - 'enable_automatic_failover': {'key': 'properties.enableAutomaticFailover', 'type': 'bool'}, - 'consistency_policy': {'key': 'properties.consistencyPolicy', 'type': 'ConsistencyPolicy'}, - 'capabilities': {'key': 'properties.capabilities', 'type': '[Capability]'}, - 'write_locations': {'key': 'properties.writeLocations', 'type': '[Location]'}, - 'read_locations': {'key': 'properties.readLocations', 'type': '[Location]'}, - 'locations': {'key': 'properties.locations', 'type': '[Location]'}, - 'failover_policies': {'key': 'properties.failoverPolicies', 'type': '[FailoverPolicy]'}, - 'virtual_network_rules': {'key': 'properties.virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, - 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, - 'enable_multiple_write_locations': {'key': 'properties.enableMultipleWriteLocations', 'type': 'bool'}, - 'enable_cassandra_connector': {'key': 'properties.enableCassandraConnector', 'type': 'bool'}, - 'connector_offer': {'key': 'properties.connectorOffer', 'type': 'str'}, - 'disable_key_based_metadata_write_access': {'key': 'properties.disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, - 'key_vault_key_uri': {'key': 'properties.keyVaultKeyUri', 'type': 'str'}, - 'default_identity': {'key': 'properties.defaultIdentity', 'type': 'str'}, - 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, - 'enable_free_tier': {'key': 'properties.enableFreeTier', 'type': 'bool'}, - 'api_properties': {'key': 'properties.apiProperties', 'type': 'ApiProperties'}, - 'enable_analytical_storage': {'key': 'properties.enableAnalyticalStorage', 'type': 'bool'}, - 'analytical_storage_configuration': {'key': 'properties.analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'}, - 'instance_id': {'key': 'properties.instanceId', 'type': 'str'}, - 'create_mode': {'key': 'properties.createMode', 'type': 'str'}, - 'restore_parameters': {'key': 'properties.restoreParameters', 'type': 'RestoreParameters'}, - 'backup_policy': {'key': 'properties.backupPolicy', 'type': 'BackupPolicy'}, - 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'}, - 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, - 'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'}, - 'capacity': {'key': 'properties.capacity', 'type': 'Capacity'}, - } - - def __init__( - self, - **kwargs - ): - super(DatabaseAccountGetResults, self).__init__(**kwargs) - self.kind = kwargs.get('kind', None) - self.identity = kwargs.get('identity', None) - self.system_data = None - self.provisioning_state = None - self.document_endpoint = None - self.database_account_offer_type = None - self.ip_rules = kwargs.get('ip_rules', None) - self.is_virtual_network_filter_enabled = kwargs.get('is_virtual_network_filter_enabled', None) - self.enable_automatic_failover = kwargs.get('enable_automatic_failover', None) - self.consistency_policy = kwargs.get('consistency_policy', None) - self.capabilities = kwargs.get('capabilities', None) - self.write_locations = None - self.read_locations = None - self.locations = None - self.failover_policies = None - self.virtual_network_rules = kwargs.get('virtual_network_rules', None) - self.private_endpoint_connections = None - self.enable_multiple_write_locations = kwargs.get('enable_multiple_write_locations', None) - self.enable_cassandra_connector = kwargs.get('enable_cassandra_connector', None) - self.connector_offer = kwargs.get('connector_offer', None) - self.disable_key_based_metadata_write_access = kwargs.get('disable_key_based_metadata_write_access', None) - self.key_vault_key_uri = kwargs.get('key_vault_key_uri', None) - self.default_identity = kwargs.get('default_identity', None) - self.public_network_access = kwargs.get('public_network_access', None) - self.enable_free_tier = kwargs.get('enable_free_tier', None) - self.api_properties = kwargs.get('api_properties', None) - self.enable_analytical_storage = kwargs.get('enable_analytical_storage', None) - self.analytical_storage_configuration = kwargs.get('analytical_storage_configuration', None) - self.instance_id = None - self.create_mode = kwargs.get('create_mode', "Default") - self.restore_parameters = kwargs.get('restore_parameters', None) - self.backup_policy = kwargs.get('backup_policy', None) - self.cors = kwargs.get('cors', None) - self.network_acl_bypass = kwargs.get('network_acl_bypass', None) - self.network_acl_bypass_resource_ids = kwargs.get('network_acl_bypass_resource_ids', None) - self.disable_local_auth = kwargs.get('disable_local_auth', None) - self.capacity = kwargs.get('capacity', None) - - -class DatabaseAccountListConnectionStringsResult(msrest.serialization.Model): - """The connection strings for the given database account. - - :param connection_strings: An array that contains the connection strings for the Cosmos DB - account. - :type connection_strings: list[~azure.mgmt.cosmosdb.models.DatabaseAccountConnectionString] - """ - - _attribute_map = { - 'connection_strings': {'key': 'connectionStrings', 'type': '[DatabaseAccountConnectionString]'}, - } - - def __init__( - self, - **kwargs - ): - super(DatabaseAccountListConnectionStringsResult, self).__init__(**kwargs) - self.connection_strings = kwargs.get('connection_strings', None) - - -class DatabaseAccountListReadOnlyKeysResult(msrest.serialization.Model): - """The read-only access keys for the given database account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar primary_readonly_master_key: Base 64 encoded value of the primary read-only key. - :vartype primary_readonly_master_key: str - :ivar secondary_readonly_master_key: Base 64 encoded value of the secondary read-only key. - :vartype secondary_readonly_master_key: str - """ - - _validation = { - 'primary_readonly_master_key': {'readonly': True}, - 'secondary_readonly_master_key': {'readonly': True}, - } - - _attribute_map = { - 'primary_readonly_master_key': {'key': 'primaryReadonlyMasterKey', 'type': 'str'}, - 'secondary_readonly_master_key': {'key': 'secondaryReadonlyMasterKey', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DatabaseAccountListReadOnlyKeysResult, self).__init__(**kwargs) - self.primary_readonly_master_key = None - self.secondary_readonly_master_key = None - - -class DatabaseAccountListKeysResult(DatabaseAccountListReadOnlyKeysResult): - """The access keys for the given database account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar primary_readonly_master_key: Base 64 encoded value of the primary read-only key. - :vartype primary_readonly_master_key: str - :ivar secondary_readonly_master_key: Base 64 encoded value of the secondary read-only key. - :vartype secondary_readonly_master_key: str - :ivar primary_master_key: Base 64 encoded value of the primary read-write key. - :vartype primary_master_key: str - :ivar secondary_master_key: Base 64 encoded value of the secondary read-write key. - :vartype secondary_master_key: str - """ - - _validation = { - 'primary_readonly_master_key': {'readonly': True}, - 'secondary_readonly_master_key': {'readonly': True}, - 'primary_master_key': {'readonly': True}, - 'secondary_master_key': {'readonly': True}, - } - - _attribute_map = { - 'primary_readonly_master_key': {'key': 'primaryReadonlyMasterKey', 'type': 'str'}, - 'secondary_readonly_master_key': {'key': 'secondaryReadonlyMasterKey', 'type': 'str'}, - 'primary_master_key': {'key': 'primaryMasterKey', 'type': 'str'}, - 'secondary_master_key': {'key': 'secondaryMasterKey', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DatabaseAccountListKeysResult, self).__init__(**kwargs) - self.primary_master_key = None - self.secondary_master_key = None - - -class DatabaseAccountRegenerateKeyParameters(msrest.serialization.Model): - """Parameters to regenerate the keys within the database account. - - All required parameters must be populated in order to send to Azure. - - :param key_kind: Required. The access key to regenerate. Possible values include: "primary", - "secondary", "primaryReadonly", "secondaryReadonly". - :type key_kind: str or ~azure.mgmt.cosmosdb.models.KeyKind - """ - - _validation = { - 'key_kind': {'required': True}, - } - - _attribute_map = { - 'key_kind': {'key': 'keyKind', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DatabaseAccountRegenerateKeyParameters, self).__init__(**kwargs) - self.key_kind = kwargs['key_kind'] - - -class DatabaseAccountsListResult(msrest.serialization.Model): - """The List operation response, that contains the database accounts and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of database account and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[DatabaseAccountGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(DatabaseAccountsListResult, self).__init__(**kwargs) - self.value = None - - -class DatabaseAccountUpdateParameters(msrest.serialization.Model): - """Parameters for patching Azure Cosmos DB database account properties. - - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param consistency_policy: The consistency policy for the Cosmos DB account. - :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: An array that contains the georeplication locations enabled for the Cosmos DB - account. - :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :param ip_rules: List of IpRules. - :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual - Network ACL rules. - :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write region in the rare - event that the region is unavailable due to an outage. Automatic failover will result in a new - write region for the account and is chosen based on the failover priorities configured for the - account. - :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account. - :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB - account. - :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in multiple locations. - :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. - :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* - account. Possible values include: "Small". - :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations on metadata resources - (databases, containers, throughput) via account keys. - :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault. - :type key_vault_key_uri: str - :param default_identity: The default identity for accessing key vault used in features like - customer managed keys. The default identity needs to be explicitly set by the users. It can be - "FirstPartyIdentity", "SystemAssignedIdentity" and more. - :type default_identity: str - :param public_network_access: Whether requests from Public Network are allowed. Possible values - include: "Enabled", "Disabled". - :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess - :param enable_free_tier: Flag to indicate whether Free Tier is enabled. - :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only for MongoDB API. - :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. - :type enable_analytical_storage: bool - :param analytical_storage_configuration: Analytical storage specific properties. - :type analytical_storage_configuration: - ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration - :param backup_policy: The object representing the policy for taking backups on an account. - :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy - :param cors: The CORS policy for the Cosmos DB database account. - :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. - Possible values include: "None", "AzureServices". - :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl - Bypass for the Cosmos DB account. - :type network_acl_bypass_resource_ids: list[str] - :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be - used exclusively for authentication. - :type disable_local_auth: bool - :param capacity: The object that represents all properties related to capacity enforcement on - an account. - :type capacity: ~azure.mgmt.cosmosdb.models.Capacity - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'consistency_policy': {'key': 'properties.consistencyPolicy', 'type': 'ConsistencyPolicy'}, - 'locations': {'key': 'properties.locations', 'type': '[Location]'}, - 'ip_rules': {'key': 'properties.ipRules', 'type': '[IpAddressOrRange]'}, - 'is_virtual_network_filter_enabled': {'key': 'properties.isVirtualNetworkFilterEnabled', 'type': 'bool'}, - 'enable_automatic_failover': {'key': 'properties.enableAutomaticFailover', 'type': 'bool'}, - 'capabilities': {'key': 'properties.capabilities', 'type': '[Capability]'}, - 'virtual_network_rules': {'key': 'properties.virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, - 'enable_multiple_write_locations': {'key': 'properties.enableMultipleWriteLocations', 'type': 'bool'}, - 'enable_cassandra_connector': {'key': 'properties.enableCassandraConnector', 'type': 'bool'}, - 'connector_offer': {'key': 'properties.connectorOffer', 'type': 'str'}, - 'disable_key_based_metadata_write_access': {'key': 'properties.disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, - 'key_vault_key_uri': {'key': 'properties.keyVaultKeyUri', 'type': 'str'}, - 'default_identity': {'key': 'properties.defaultIdentity', 'type': 'str'}, - 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, - 'enable_free_tier': {'key': 'properties.enableFreeTier', 'type': 'bool'}, - 'api_properties': {'key': 'properties.apiProperties', 'type': 'ApiProperties'}, - 'enable_analytical_storage': {'key': 'properties.enableAnalyticalStorage', 'type': 'bool'}, - 'analytical_storage_configuration': {'key': 'properties.analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'}, - 'backup_policy': {'key': 'properties.backupPolicy', 'type': 'BackupPolicy'}, - 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'}, - 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, - 'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'}, - 'capacity': {'key': 'properties.capacity', 'type': 'Capacity'}, - } - - def __init__( - self, - **kwargs - ): - super(DatabaseAccountUpdateParameters, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - self.location = kwargs.get('location', None) - self.identity = kwargs.get('identity', None) - self.consistency_policy = kwargs.get('consistency_policy', None) - self.locations = kwargs.get('locations', None) - self.ip_rules = kwargs.get('ip_rules', None) - self.is_virtual_network_filter_enabled = kwargs.get('is_virtual_network_filter_enabled', None) - self.enable_automatic_failover = kwargs.get('enable_automatic_failover', None) - self.capabilities = kwargs.get('capabilities', None) - self.virtual_network_rules = kwargs.get('virtual_network_rules', None) - self.enable_multiple_write_locations = kwargs.get('enable_multiple_write_locations', None) - self.enable_cassandra_connector = kwargs.get('enable_cassandra_connector', None) - self.connector_offer = kwargs.get('connector_offer', None) - self.disable_key_based_metadata_write_access = kwargs.get('disable_key_based_metadata_write_access', None) - self.key_vault_key_uri = kwargs.get('key_vault_key_uri', None) - self.default_identity = kwargs.get('default_identity', None) - self.public_network_access = kwargs.get('public_network_access', None) - self.enable_free_tier = kwargs.get('enable_free_tier', None) - self.api_properties = kwargs.get('api_properties', None) - self.enable_analytical_storage = kwargs.get('enable_analytical_storage', None) - self.analytical_storage_configuration = kwargs.get('analytical_storage_configuration', None) - self.backup_policy = kwargs.get('backup_policy', None) - self.cors = kwargs.get('cors', None) - self.network_acl_bypass = kwargs.get('network_acl_bypass', None) - self.network_acl_bypass_resource_ids = kwargs.get('network_acl_bypass_resource_ids', None) - self.disable_local_auth = kwargs.get('disable_local_auth', None) - self.capacity = kwargs.get('capacity', None) - - -class DatabaseRestoreResource(msrest.serialization.Model): - """Specific Databases to restore. - - :param database_name: The name of the database available for restore. - :type database_name: str - :param collection_names: The names of the collections available for restore. - :type collection_names: list[str] - """ - - _attribute_map = { - 'database_name': {'key': 'databaseName', 'type': 'str'}, - 'collection_names': {'key': 'collectionNames', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(DatabaseRestoreResource, self).__init__(**kwargs) - self.database_name = kwargs.get('database_name', None) - self.collection_names = kwargs.get('collection_names', None) - - -class DataCenterResource(ARMProxyResource): - """A managed Cassandra data center. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the database account. - :vartype id: str - :ivar name: The name of the database account. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param properties: Properties of a managed Cassandra data center. - :type properties: ~azure.mgmt.cosmosdb.models.DataCenterResourceProperties - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'DataCenterResourceProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(DataCenterResource, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - - -class DataCenterResourceProperties(msrest.serialization.Model): - """Properties of a managed Cassandra data center. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param provisioning_state: The status of the resource at the time the operation was called. - Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". - :type provisioning_state: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState - :param data_center_location: The region this data center should be created in. - :type data_center_location: str - :param delegated_subnet_id: Resource id of a subnet the nodes in this data center should have - their network interfaces connected to. The subnet must be in the same region specified in - 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's - 'delegatedManagementSubnetId' property. This resource id will be of the form - '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. - :type delegated_subnet_id: str - :param node_count: The number of nodes the data center should have. This is the desired number. - After it is set, it may take some time for the data center to be scaled to match. To monitor - the number of nodes and their status, use the fetchNodeStatus method on the cluster. - :type node_count: int - :ivar seed_nodes: IP addresses for seed nodes in this data center. This is for reference. - Generally you will want to use the seedNodes property on the cluster, which aggregates the seed - nodes from all data centers in the cluster. - :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] - :param base64_encoded_cassandra_yaml_fragment: A fragment of a cassandra.yaml configuration - file to be included in the cassandra.yaml for all nodes in this data center. The fragment - should be Base64 encoded, and only a subset of keys are allowed. - :type base64_encoded_cassandra_yaml_fragment: str - :param managed_disk_customer_key_uri: Key uri to use for encryption of managed disks. Ensure - the system assigned identity of the cluster has been assigned appropriate permissions(key - get/wrap/unwrap permissions) on the key. - :type managed_disk_customer_key_uri: str - :param backup_storage_customer_key_uri: Indicates the Key Uri of the customer key to use for - encryption of the backup storage account. - :type backup_storage_customer_key_uri: str - :param sku: Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2. - :type sku: str - :param disk_sku: Disk SKU used for data centers. Default value is P30. - :type disk_sku: str - :param disk_capacity: Number of disk used for data centers. Default value is 4. - :type disk_capacity: int - :param availability_zone: If the azure data center has Availability Zone support, apply it to - the Virtual Machine ScaleSet that host the cassandra data center virtual machines. - :type availability_zone: bool - """ - - _validation = { - 'seed_nodes': {'readonly': True}, - } - - _attribute_map = { - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'data_center_location': {'key': 'dataCenterLocation', 'type': 'str'}, - 'delegated_subnet_id': {'key': 'delegatedSubnetId', 'type': 'str'}, - 'node_count': {'key': 'nodeCount', 'type': 'int'}, - 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, - 'base64_encoded_cassandra_yaml_fragment': {'key': 'base64EncodedCassandraYamlFragment', 'type': 'str'}, - 'managed_disk_customer_key_uri': {'key': 'managedDiskCustomerKeyUri', 'type': 'str'}, - 'backup_storage_customer_key_uri': {'key': 'backupStorageCustomerKeyUri', 'type': 'str'}, - 'sku': {'key': 'sku', 'type': 'str'}, - 'disk_sku': {'key': 'diskSku', 'type': 'str'}, - 'disk_capacity': {'key': 'diskCapacity', 'type': 'int'}, - 'availability_zone': {'key': 'availabilityZone', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(DataCenterResourceProperties, self).__init__(**kwargs) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.data_center_location = kwargs.get('data_center_location', None) - self.delegated_subnet_id = kwargs.get('delegated_subnet_id', None) - self.node_count = kwargs.get('node_count', None) - self.seed_nodes = None - self.base64_encoded_cassandra_yaml_fragment = kwargs.get('base64_encoded_cassandra_yaml_fragment', None) - self.managed_disk_customer_key_uri = kwargs.get('managed_disk_customer_key_uri', None) - self.backup_storage_customer_key_uri = kwargs.get('backup_storage_customer_key_uri', None) - self.sku = kwargs.get('sku', None) - self.disk_sku = kwargs.get('disk_sku', None) - self.disk_capacity = kwargs.get('disk_capacity', None) - self.availability_zone = kwargs.get('availability_zone', None) - - -class ErrorResponse(msrest.serialization.Model): - """Error Response. - - :param code: Error code. - :type code: str - :param message: Error message indicating why the operation failed. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - - -class ExcludedPath(msrest.serialization.Model): - """ExcludedPath. - - :param path: The path for which the indexing behavior applies to. Index paths typically start - with root and end with wildcard (/path/*). - :type path: str - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExcludedPath, self).__init__(**kwargs) - self.path = kwargs.get('path', None) - - -class FailoverPolicies(msrest.serialization.Model): - """The list of new failover policies for the failover priority change. - - All required parameters must be populated in order to send to Azure. - - :param failover_policies: Required. List of failover policies. - :type failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy] - """ - - _validation = { - 'failover_policies': {'required': True}, - } - - _attribute_map = { - 'failover_policies': {'key': 'failoverPolicies', 'type': '[FailoverPolicy]'}, - } - - def __init__( - self, - **kwargs - ): - super(FailoverPolicies, self).__init__(**kwargs) - self.failover_policies = kwargs['failover_policies'] - - -class FailoverPolicy(msrest.serialization.Model): - """The failover policy for a given region of a database account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique identifier of the region in which the database account replicates to. - Example: <accountName>-<locationName>. - :vartype id: str - :param location_name: The name of the region in which the database account exists. - :type location_name: str - :param failover_priority: The failover priority of the region. A failover priority of 0 - indicates a write region. The maximum value for a failover priority = (total number of regions - - 1). Failover priority values must be unique for each of the regions in which the database - account exists. - :type failover_priority: int - """ - - _validation = { - 'id': {'readonly': True}, - 'failover_priority': {'minimum': 0}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'location_name': {'key': 'locationName', 'type': 'str'}, - 'failover_priority': {'key': 'failoverPriority', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(FailoverPolicy, self).__init__(**kwargs) - self.id = None - self.location_name = kwargs.get('location_name', None) - self.failover_priority = kwargs.get('failover_priority', None) - - -class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB Gremlin database. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a Gremlin database. - :type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'GremlinDatabaseResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(GremlinDatabaseCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -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, - **kwargs - ): - super(GremlinDatabaseGetPropertiesOptions, self).__init__(**kwargs) - - -class GremlinDatabaseResource(msrest.serialization.Model): - """Cosmos DB Gremlin database resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB Gremlin database. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(GremlinDatabaseResource, self).__init__(**kwargs) - self.id = kwargs['id'] - - -class GremlinDatabaseGetPropertiesResource(ExtendedResourceProperties, GremlinDatabaseResource): - """GremlinDatabaseGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB Gremlin database. - :type id: str - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(GremlinDatabaseGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.rid = None - self.ts = None - self.etag = None - - -class GremlinDatabaseGetResults(ARMResourceProperties): - """An Azure Cosmos DB Gremlin database. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(GremlinDatabaseGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) - - -class GremlinDatabaseListResult(msrest.serialization.Model): - """The List operation response, that contains the Gremlin databases and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Gremlin databases and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[GremlinDatabaseGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(GremlinDatabaseListResult, self).__init__(**kwargs) - self.value = None - - -class GremlinGraphCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB Gremlin graph. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a Gremlin graph. - :type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'GremlinGraphResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(GremlinGraphCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -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, - **kwargs - ): - super(GremlinGraphGetPropertiesOptions, self).__init__(**kwargs) - - -class GremlinGraphResource(msrest.serialization.Model): - """Cosmos DB Gremlin graph resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB Gremlin graph. - :type id: str - :param indexing_policy: The configuration of the indexing policy. By default, the indexing is - automatic for all document paths within the graph. - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used for partitioning data - into multiple partitions. - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live. - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for specifying uniqueness - constraints on documents in the collection in the Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the graph. - :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, - 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, - 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, - } - - def __init__( - self, - **kwargs - ): - super(GremlinGraphResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.indexing_policy = kwargs.get('indexing_policy', None) - self.partition_key = kwargs.get('partition_key', None) - self.default_ttl = kwargs.get('default_ttl', None) - self.unique_key_policy = kwargs.get('unique_key_policy', None) - self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) - - -class GremlinGraphGetPropertiesResource(ExtendedResourceProperties, GremlinGraphResource): - """GremlinGraphGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB Gremlin graph. - :type id: str - :param indexing_policy: The configuration of the indexing policy. By default, the indexing is - automatic for all document paths within the graph. - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used for partitioning data - into multiple partitions. - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live. - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for specifying uniqueness - constraints on documents in the collection in the Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the graph. - :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, - 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, - 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(GremlinGraphGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.indexing_policy = kwargs.get('indexing_policy', None) - self.partition_key = kwargs.get('partition_key', None) - self.default_ttl = kwargs.get('default_ttl', None) - self.unique_key_policy = kwargs.get('unique_key_policy', None) - self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) - self.rid = None - self.ts = None - self.etag = None - - -class GremlinGraphGetResults(ARMResourceProperties): - """An Azure Cosmos DB Gremlin graph. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(GremlinGraphGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) - - -class GremlinGraphListResult(msrest.serialization.Model): - """The List operation response, that contains the graphs and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of graphs and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[GremlinGraphGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(GremlinGraphListResult, self).__init__(**kwargs) - self.value = None - - -class IncludedPath(msrest.serialization.Model): - """The paths that are included in indexing. - - :param path: The path for which the indexing behavior applies to. Index paths typically start - with root and end with wildcard (/path/*). - :type path: str - :param indexes: List of indexes for this path. - :type indexes: list[~azure.mgmt.cosmosdb.models.Indexes] - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - 'indexes': {'key': 'indexes', 'type': '[Indexes]'}, - } - - def __init__( - self, - **kwargs - ): - super(IncludedPath, self).__init__(**kwargs) - self.path = kwargs.get('path', None) - self.indexes = kwargs.get('indexes', None) - - -class Indexes(msrest.serialization.Model): - """The indexes for the path. - - :param data_type: The datatype for which the indexing behavior is applied to. Possible values - include: "String", "Number", "Point", "Polygon", "LineString", "MultiPolygon". Default value: - "String". - :type data_type: str or ~azure.mgmt.cosmosdb.models.DataType - :param precision: The precision of the index. -1 is maximum precision. - :type precision: int - :param kind: Indicates the type of index. Possible values include: "Hash", "Range", "Spatial". - Default value: "Hash". - :type kind: str or ~azure.mgmt.cosmosdb.models.IndexKind - """ - - _attribute_map = { - 'data_type': {'key': 'dataType', 'type': 'str'}, - 'precision': {'key': 'precision', 'type': 'int'}, - 'kind': {'key': 'kind', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Indexes, self).__init__(**kwargs) - self.data_type = kwargs.get('data_type', "String") - self.precision = kwargs.get('precision', None) - self.kind = kwargs.get('kind', "Hash") - - -class IndexingPolicy(msrest.serialization.Model): - """Cosmos DB indexing policy. - - :param automatic: Indicates if the indexing policy is automatic. - :type automatic: bool - :param indexing_mode: Indicates the indexing mode. Possible values include: "consistent", - "lazy", "none". Default value: "consistent". - :type indexing_mode: str or ~azure.mgmt.cosmosdb.models.IndexingMode - :param included_paths: List of paths to include in the indexing. - :type included_paths: list[~azure.mgmt.cosmosdb.models.IncludedPath] - :param excluded_paths: List of paths to exclude from indexing. - :type excluded_paths: list[~azure.mgmt.cosmosdb.models.ExcludedPath] - :param composite_indexes: List of composite path list. - :type composite_indexes: list[list[~azure.mgmt.cosmosdb.models.CompositePath]] - :param spatial_indexes: List of spatial specifics. - :type spatial_indexes: list[~azure.mgmt.cosmosdb.models.SpatialSpec] - """ - - _attribute_map = { - 'automatic': {'key': 'automatic', 'type': 'bool'}, - 'indexing_mode': {'key': 'indexingMode', 'type': 'str'}, - 'included_paths': {'key': 'includedPaths', 'type': '[IncludedPath]'}, - 'excluded_paths': {'key': 'excludedPaths', 'type': '[ExcludedPath]'}, - 'composite_indexes': {'key': 'compositeIndexes', 'type': '[[CompositePath]]'}, - 'spatial_indexes': {'key': 'spatialIndexes', 'type': '[SpatialSpec]'}, - } - - def __init__( - self, - **kwargs - ): - super(IndexingPolicy, self).__init__(**kwargs) - self.automatic = kwargs.get('automatic', None) - self.indexing_mode = kwargs.get('indexing_mode', "consistent") - self.included_paths = kwargs.get('included_paths', None) - self.excluded_paths = kwargs.get('excluded_paths', None) - self.composite_indexes = kwargs.get('composite_indexes', None) - self.spatial_indexes = kwargs.get('spatial_indexes', None) - - -class IpAddressOrRange(msrest.serialization.Model): - """IpAddressOrRange object. - - :param ip_address_or_range: A single IPv4 address or a single IPv4 address range in CIDR - format. Provided IPs must be well-formatted and cannot be contained in one of the following - ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not - enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or - “23.40.210.0/8”. - :type ip_address_or_range: str - """ - - _attribute_map = { - 'ip_address_or_range': {'key': 'ipAddressOrRange', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(IpAddressOrRange, self).__init__(**kwargs) - self.ip_address_or_range = kwargs.get('ip_address_or_range', None) - - -class ListClusters(msrest.serialization.Model): - """List of managed Cassandra clusters. - - :param value: Container for the array of clusters. - :type value: list[~azure.mgmt.cosmosdb.models.ClusterResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ClusterResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(ListClusters, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class ListDataCenters(msrest.serialization.Model): - """List of managed Cassandra data centers and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Container for array of data centers. - :vartype value: list[~azure.mgmt.cosmosdb.models.DataCenterResource] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[DataCenterResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(ListDataCenters, self).__init__(**kwargs) - self.value = None - - -class Location(msrest.serialization.Model): - """A region in which the Azure Cosmos DB database account is deployed. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique identifier of the region within the database account. Example: - <accountName>-<locationName>. - :vartype id: str - :param location_name: The name of the region. - :type location_name: str - :ivar document_endpoint: The connection endpoint for the specific region. Example: - https://<accountName>-<locationName>.documents.azure.com:443/. - :vartype document_endpoint: str - :ivar provisioning_state: The status of the Cosmos DB account at the time the operation was - called. The status can be one of following. 'Creating' – the Cosmos DB account is being - created. When an account is in Creating state, only properties that are specified as input for - the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is - active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB - account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – - the Cosmos DB account deletion failed. - :vartype provisioning_state: str - :param failover_priority: The failover priority of the region. A failover priority of 0 - indicates a write region. The maximum value for a failover priority = (total number of regions - - 1). Failover priority values must be unique for each of the regions in which the database - account exists. - :type failover_priority: int - :param is_zone_redundant: Flag to indicate whether or not this region is an AvailabilityZone - region. - :type is_zone_redundant: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'document_endpoint': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'failover_priority': {'minimum': 0}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'location_name': {'key': 'locationName', 'type': 'str'}, - 'document_endpoint': {'key': 'documentEndpoint', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'failover_priority': {'key': 'failoverPriority', 'type': 'int'}, - 'is_zone_redundant': {'key': 'isZoneRedundant', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(Location, self).__init__(**kwargs) - self.id = None - self.location_name = kwargs.get('location_name', None) - self.document_endpoint = None - self.provisioning_state = None - self.failover_priority = kwargs.get('failover_priority', None) - self.is_zone_redundant = kwargs.get('is_zone_redundant', None) - - -class LocationGetResult(ARMProxyResource): - """Cosmos DB location get result. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the database account. - :vartype id: str - :ivar name: The name of the database account. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param properties: Cosmos DB location metadata. - :type properties: ~azure.mgmt.cosmosdb.models.LocationProperties - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'LocationProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(LocationGetResult, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - - -class LocationListResult(msrest.serialization.Model): - """The List operation response, that contains Cosmos DB locations and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Cosmos DB locations and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.LocationGetResult] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[LocationGetResult]'}, - } - - def __init__( - self, - **kwargs - ): - super(LocationListResult, self).__init__(**kwargs) - self.value = None - - -class LocationProperties(msrest.serialization.Model): - """Cosmos DB location metadata. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar supports_availability_zone: Flag indicating whether the location supports availability - zones or not. - :vartype supports_availability_zone: bool - :ivar is_residency_restricted: Flag indicating whether the location is residency sensitive. - :vartype is_residency_restricted: bool - :ivar backup_storage_redundancies: The properties of available backup storage redundancies. - :vartype backup_storage_redundancies: list[str or - ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy] - """ - - _validation = { - 'supports_availability_zone': {'readonly': True}, - 'is_residency_restricted': {'readonly': True}, - 'backup_storage_redundancies': {'readonly': True}, - } - - _attribute_map = { - 'supports_availability_zone': {'key': 'supportsAvailabilityZone', 'type': 'bool'}, - 'is_residency_restricted': {'key': 'isResidencyRestricted', 'type': 'bool'}, - 'backup_storage_redundancies': {'key': 'backupStorageRedundancies', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(LocationProperties, self).__init__(**kwargs) - self.supports_availability_zone = None - self.is_residency_restricted = None - self.backup_storage_redundancies = None - - -class ManagedCassandraManagedServiceIdentity(msrest.serialization.Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The object id of the identity resource. - :vartype principal_id: str - :ivar tenant_id: The tenant id of the resource. - :vartype tenant_id: str - :param type: The type of the resource. Possible values include: "SystemAssigned", "None". - :type type: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraResourceIdentityType - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedCassandraManagedServiceIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class ManagedCassandraReaperStatus(msrest.serialization.Model): - """ManagedCassandraReaperStatus. - - :param healthy: - :type healthy: bool - :param repair_run_ids: Dictionary of :code:``. - :type repair_run_ids: dict[str, str] - :param repair_schedules: Dictionary of :code:``. - :type repair_schedules: dict[str, str] - """ - - _attribute_map = { - 'healthy': {'key': 'healthy', 'type': 'bool'}, - 'repair_run_ids': {'key': 'repairRunIds', 'type': '{str}'}, - 'repair_schedules': {'key': 'repairSchedules', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedCassandraReaperStatus, self).__init__(**kwargs) - self.healthy = kwargs.get('healthy', None) - self.repair_run_ids = kwargs.get('repair_run_ids', None) - self.repair_schedules = kwargs.get('repair_schedules', None) - - -class ManagedServiceIdentity(msrest.serialization.Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal id of the system assigned identity. This property will only - be provided for a system assigned identity. - :vartype principal_id: str - :ivar tenant_id: The tenant id of the system assigned identity. This property will only be - provided for a system assigned identity. - :vartype tenant_id: str - :param type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' - includes both an implicitly created identity and a set of user assigned identities. The type - 'None' will remove any identities from the service. Possible values include: "SystemAssigned", - "UserAssigned", "SystemAssigned,UserAssigned", "None". - :type type: str or ~azure.mgmt.cosmosdb.models.ResourceIdentityType - :param user_assigned_identities: The list of user identities associated with resource. The user - identity dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - :type user_assigned_identities: dict[str, - ~azure.mgmt.cosmosdb.models.Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties] - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties}'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedServiceIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - self.user_assigned_identities = kwargs.get('user_assigned_identities', None) - - -class Metric(msrest.serialization.Model): - """Metric data. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar start_time: The start time for the metric (ISO-8601 format). - :vartype start_time: ~datetime.datetime - :ivar end_time: The end time for the metric (ISO-8601 format). - :vartype end_time: ~datetime.datetime - :ivar time_grain: The time grain to be used to summarize the metric values. - :vartype time_grain: str - :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", - "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". - :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType - :ivar name: The name information for the metric. - :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar metric_values: The metric values for the specified time window and timestep. - :vartype metric_values: list[~azure.mgmt.cosmosdb.models.MetricValue] - """ - - _validation = { - 'start_time': {'readonly': True}, - 'end_time': {'readonly': True}, - 'time_grain': {'readonly': True}, - 'unit': {'readonly': True}, - 'name': {'readonly': True}, - 'metric_values': {'readonly': True}, - } - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'MetricName'}, - 'metric_values': {'key': 'metricValues', 'type': '[MetricValue]'}, - } - - def __init__( - self, - **kwargs - ): - super(Metric, self).__init__(**kwargs) - self.start_time = None - self.end_time = None - self.time_grain = None - self.unit = None - self.name = None - self.metric_values = None - - -class MetricAvailability(msrest.serialization.Model): - """The availability of the metric. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar time_grain: The time grain to be used to summarize the metric values. - :vartype time_grain: str - :ivar retention: The retention for the metric values. - :vartype retention: str - """ - - _validation = { - 'time_grain': {'readonly': True}, - 'retention': {'readonly': True}, - } - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(MetricAvailability, self).__init__(**kwargs) - self.time_grain = None - self.retention = None - - -class MetricDefinition(msrest.serialization.Model): - """The definition of a metric. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar metric_availabilities: The list of metric availabilities for the account. - :vartype metric_availabilities: list[~azure.mgmt.cosmosdb.models.MetricAvailability] - :ivar primary_aggregation_type: The primary aggregation type of the metric. Possible values - include: "None", "Average", "Total", "Minimum", "Maximum", "Last". - :vartype primary_aggregation_type: str or ~azure.mgmt.cosmosdb.models.PrimaryAggregationType - :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", - "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". - :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType - :ivar resource_uri: The resource uri of the database. - :vartype resource_uri: str - :ivar name: The name information for the metric. - :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - """ - - _validation = { - 'metric_availabilities': {'readonly': True}, - 'primary_aggregation_type': {'readonly': True}, - 'unit': {'readonly': True}, - 'resource_uri': {'readonly': True}, - 'name': {'readonly': True}, - } - - _attribute_map = { - 'metric_availabilities': {'key': 'metricAvailabilities', 'type': '[MetricAvailability]'}, - 'primary_aggregation_type': {'key': 'primaryAggregationType', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'resource_uri': {'key': 'resourceUri', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'MetricName'}, - } - - def __init__( - self, - **kwargs - ): - super(MetricDefinition, self).__init__(**kwargs) - self.metric_availabilities = None - self.primary_aggregation_type = None - self.unit = None - self.resource_uri = None - self.name = None - - -class MetricDefinitionsListResult(msrest.serialization.Model): - """The response to a list metric definitions request. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of metric definitions for the account. - :vartype value: list[~azure.mgmt.cosmosdb.models.MetricDefinition] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[MetricDefinition]'}, - } - - def __init__( - self, - **kwargs - ): - super(MetricDefinitionsListResult, self).__init__(**kwargs) - self.value = None - - -class MetricListResult(msrest.serialization.Model): - """The response to a list metrics request. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of metrics for the account. - :vartype value: list[~azure.mgmt.cosmosdb.models.Metric] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Metric]'}, - } - - def __init__( - self, - **kwargs - ): - super(MetricListResult, self).__init__(**kwargs) - self.value = None - - -class MetricName(msrest.serialization.Model): - """A metric name. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The name of the metric. - :vartype value: str - :ivar localized_value: The friendly name of the metric. - :vartype localized_value: str - """ - - _validation = { - 'value': {'readonly': True}, - 'localized_value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(MetricName, self).__init__(**kwargs) - self.value = None - self.localized_value = None - - -class MetricValue(msrest.serialization.Model): - """Represents metrics values. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar count: The number of values for the metric. - :vartype count: int - :ivar average: The average value of the metric. - :vartype average: float - :ivar maximum: The max value of the metric. - :vartype maximum: float - :ivar minimum: The min value of the metric. - :vartype minimum: float - :ivar timestamp: The metric timestamp (ISO-8601 format). - :vartype timestamp: ~datetime.datetime - :ivar total: The total value of the metric. - :vartype total: float - """ - - _validation = { - 'count': {'readonly': True}, - 'average': {'readonly': True}, - 'maximum': {'readonly': True}, - 'minimum': {'readonly': True}, - 'timestamp': {'readonly': True}, - 'total': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': '_count', 'type': 'int'}, - 'average': {'key': 'average', 'type': 'float'}, - 'maximum': {'key': 'maximum', 'type': 'float'}, - 'minimum': {'key': 'minimum', 'type': 'float'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'total': {'key': 'total', 'type': 'float'}, - } - - def __init__( - self, - **kwargs - ): - super(MetricValue, self).__init__(**kwargs) - self.count = None - self.average = None - self.maximum = None - self.minimum = None - self.timestamp = None - self.total = None - - -class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB MongoDB collection. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a MongoDB collection. - :type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'MongoDBCollectionResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoDBCollectionCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -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, - **kwargs - ): - super(MongoDBCollectionGetPropertiesOptions, self).__init__(**kwargs) - - -class MongoDBCollectionResource(msrest.serialization.Model): - """Cosmos DB MongoDB collection resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB MongoDB collection. - :type id: str - :param shard_key: A key-value pair of shard keys to be applied for the request. - :type shard_key: dict[str, str] - :param indexes: List of index keys. - :type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'shard_key': {'key': 'shardKey', 'type': '{str}'}, - 'indexes': {'key': 'indexes', 'type': '[MongoIndex]'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoDBCollectionResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.shard_key = kwargs.get('shard_key', None) - self.indexes = kwargs.get('indexes', None) - self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - - -class MongoDBCollectionGetPropertiesResource(ExtendedResourceProperties, MongoDBCollectionResource): - """MongoDBCollectionGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB MongoDB collection. - :type id: str - :param shard_key: A key-value pair of shard keys to be applied for the request. - :type shard_key: dict[str, str] - :param indexes: List of index keys. - :type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'shard_key': {'key': 'shardKey', 'type': '{str}'}, - 'indexes': {'key': 'indexes', 'type': '[MongoIndex]'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoDBCollectionGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.shard_key = kwargs.get('shard_key', None) - self.indexes = kwargs.get('indexes', None) - self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - self.rid = None - self.ts = None - self.etag = None - - -class MongoDBCollectionGetResults(ARMResourceProperties): - """An Azure Cosmos DB MongoDB collection. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(MongoDBCollectionGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) - - -class MongoDBCollectionListResult(msrest.serialization.Model): - """The List operation response, that contains the MongoDB collections and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of MongoDB collections and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[MongoDBCollectionGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoDBCollectionListResult, self).__init__(**kwargs) - self.value = None - - -class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB MongoDB database. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a MongoDB database. - :type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'MongoDBDatabaseResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoDBDatabaseCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -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, - **kwargs - ): - super(MongoDBDatabaseGetPropertiesOptions, self).__init__(**kwargs) - - -class MongoDBDatabaseResource(msrest.serialization.Model): - """Cosmos DB MongoDB database resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB MongoDB database. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoDBDatabaseResource, self).__init__(**kwargs) - self.id = kwargs['id'] - - -class MongoDBDatabaseGetPropertiesResource(ExtendedResourceProperties, MongoDBDatabaseResource): - """MongoDBDatabaseGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB MongoDB database. - :type id: str - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoDBDatabaseGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.rid = None - self.ts = None - self.etag = None - - -class MongoDBDatabaseGetResults(ARMResourceProperties): - """An Azure Cosmos DB MongoDB database. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(MongoDBDatabaseGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) - - -class MongoDBDatabaseListResult(msrest.serialization.Model): - """The List operation response, that contains the MongoDB databases and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of MongoDB databases and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[MongoDBDatabaseGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoDBDatabaseListResult, self).__init__(**kwargs) - self.value = None - - -class MongoIndex(msrest.serialization.Model): - """Cosmos DB MongoDB collection index key. - - :param key: Cosmos DB MongoDB collection index keys. - :type key: ~azure.mgmt.cosmosdb.models.MongoIndexKeys - :param options: Cosmos DB MongoDB collection index key options. - :type options: ~azure.mgmt.cosmosdb.models.MongoIndexOptions - """ - - _attribute_map = { - 'key': {'key': 'key', 'type': 'MongoIndexKeys'}, - 'options': {'key': 'options', 'type': 'MongoIndexOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoIndex, self).__init__(**kwargs) - self.key = kwargs.get('key', None) - self.options = kwargs.get('options', None) - - -class MongoIndexKeys(msrest.serialization.Model): - """Cosmos DB MongoDB collection resource object. - - :param keys: List of keys for each MongoDB collection in the Azure Cosmos DB service. - :type keys: list[str] - """ - - _attribute_map = { - 'keys': {'key': 'keys', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoIndexKeys, self).__init__(**kwargs) - self.keys = kwargs.get('keys', None) - - -class MongoIndexOptions(msrest.serialization.Model): - """Cosmos DB MongoDB collection index options. - - :param expire_after_seconds: Expire after seconds. - :type expire_after_seconds: int - :param unique: Is unique or not. - :type unique: bool - """ - - _attribute_map = { - 'expire_after_seconds': {'key': 'expireAfterSeconds', 'type': 'int'}, - 'unique': {'key': 'unique', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(MongoIndexOptions, self).__init__(**kwargs) - self.expire_after_seconds = kwargs.get('expire_after_seconds', None) - self.unique = kwargs.get('unique', None) - - -class NotebookWorkspace(ARMProxyResource): - """A notebook workspace resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the database account. - :vartype id: str - :ivar name: The name of the database account. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :ivar notebook_server_endpoint: Specifies the endpoint of Notebook server. - :vartype notebook_server_endpoint: str - :ivar status: Status of the notebook workspace. Possible values are: Creating, Online, - Deleting, Failed, Updating. - :vartype status: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'notebook_server_endpoint': {'readonly': True}, - 'status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'notebook_server_endpoint': {'key': 'properties.notebookServerEndpoint', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NotebookWorkspace, self).__init__(**kwargs) - self.notebook_server_endpoint = None - self.status = None - - -class NotebookWorkspaceConnectionInfoResult(msrest.serialization.Model): - """The connection info for the given notebook workspace. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar auth_token: Specifies auth token used for connecting to Notebook server (uses token-based - auth). - :vartype auth_token: str - :ivar notebook_server_endpoint: Specifies the endpoint of Notebook server. - :vartype notebook_server_endpoint: str - """ - - _validation = { - 'auth_token': {'readonly': True}, - 'notebook_server_endpoint': {'readonly': True}, - } - - _attribute_map = { - 'auth_token': {'key': 'authToken', 'type': 'str'}, - 'notebook_server_endpoint': {'key': 'notebookServerEndpoint', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NotebookWorkspaceConnectionInfoResult, self).__init__(**kwargs) - self.auth_token = None - self.notebook_server_endpoint = None - - -class NotebookWorkspaceCreateUpdateParameters(ARMProxyResource): - """Parameters to create a notebook workspace resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the database account. - :vartype id: str - :ivar name: The name of the database account. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NotebookWorkspaceCreateUpdateParameters, self).__init__(**kwargs) - - -class NotebookWorkspaceListResult(msrest.serialization.Model): - """A list of notebook workspace resources. - - :param value: Array of notebook workspace resources. - :type value: list[~azure.mgmt.cosmosdb.models.NotebookWorkspace] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[NotebookWorkspace]'}, - } - - def __init__( - self, - **kwargs - ): - super(NotebookWorkspaceListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class Operation(msrest.serialization.Model): - """REST API operation. - - :param name: Operation name: {provider}/{resource}/{operation}. - :type name: str - :param display: The object that represents the operation. - :type display: ~azure.mgmt.cosmosdb.models.OperationDisplay - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - } - - def __init__( - self, - **kwargs - ): - super(Operation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - - -class OperationDisplay(msrest.serialization.Model): - """The object that represents the operation. - - :param provider: Service provider: Microsoft.ResourceProvider. - :type provider: str - :param resource: Resource on which the operation is performed: Profile, endpoint, etc. - :type resource: str - :param operation: Operation type: Read, write, delete, etc. - :type operation: str - :param description: Description of operation. - :type description: str - """ - - _attribute_map = { - 'provider': {'key': 'Provider', 'type': 'str'}, - 'resource': {'key': 'Resource', 'type': 'str'}, - 'operation': {'key': 'Operation', 'type': 'str'}, - 'description': {'key': 'Description', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationDisplay, self).__init__(**kwargs) - self.provider = kwargs.get('provider', None) - self.resource = kwargs.get('resource', None) - self.operation = kwargs.get('operation', None) - self.description = kwargs.get('description', None) - - -class OperationListResult(msrest.serialization.Model): - """Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results. - - :param value: List of operations supported by the Resource Provider. - :type value: list[~azure.mgmt.cosmosdb.models.Operation] - :param next_link: URL to get the next set of operation list results if there are any. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Operation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class PartitionMetric(Metric): - """The metric values for a single partition. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar start_time: The start time for the metric (ISO-8601 format). - :vartype start_time: ~datetime.datetime - :ivar end_time: The end time for the metric (ISO-8601 format). - :vartype end_time: ~datetime.datetime - :ivar time_grain: The time grain to be used to summarize the metric values. - :vartype time_grain: str - :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", - "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". - :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType - :ivar name: The name information for the metric. - :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar metric_values: The metric values for the specified time window and timestep. - :vartype metric_values: list[~azure.mgmt.cosmosdb.models.MetricValue] - :ivar partition_id: The partition id (GUID identifier) of the metric values. - :vartype partition_id: str - :ivar partition_key_range_id: The partition key range id (integer identifier) of the metric - values. - :vartype partition_key_range_id: str - """ - - _validation = { - 'start_time': {'readonly': True}, - 'end_time': {'readonly': True}, - 'time_grain': {'readonly': True}, - 'unit': {'readonly': True}, - 'name': {'readonly': True}, - 'metric_values': {'readonly': True}, - 'partition_id': {'readonly': True}, - 'partition_key_range_id': {'readonly': True}, - } - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'MetricName'}, - 'metric_values': {'key': 'metricValues', 'type': '[MetricValue]'}, - 'partition_id': {'key': 'partitionId', 'type': 'str'}, - 'partition_key_range_id': {'key': 'partitionKeyRangeId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PartitionMetric, self).__init__(**kwargs) - self.partition_id = None - self.partition_key_range_id = None - - -class PartitionMetricListResult(msrest.serialization.Model): - """The response to a list partition metrics request. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of partition-level metrics for the account. - :vartype value: list[~azure.mgmt.cosmosdb.models.PartitionMetric] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PartitionMetric]'}, - } - - def __init__( - self, - **kwargs - ): - super(PartitionMetricListResult, self).__init__(**kwargs) - self.value = None - - -class Usage(msrest.serialization.Model): - """The usage data for a usage request. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", - "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". - :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType - :ivar name: The name information for the metric. - :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar quota_period: The quota period used to summarize the usage values. - :vartype quota_period: str - :ivar limit: Maximum value for this metric. - :vartype limit: long - :ivar current_value: Current value for this metric. - :vartype current_value: long - """ - - _validation = { - 'unit': {'readonly': True}, - 'name': {'readonly': True}, - 'quota_period': {'readonly': True}, - 'limit': {'readonly': True}, - 'current_value': {'readonly': True}, - } - - _attribute_map = { - 'unit': {'key': 'unit', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'MetricName'}, - 'quota_period': {'key': 'quotaPeriod', 'type': 'str'}, - 'limit': {'key': 'limit', 'type': 'long'}, - 'current_value': {'key': 'currentValue', 'type': 'long'}, - } - - def __init__( - self, - **kwargs - ): - super(Usage, self).__init__(**kwargs) - self.unit = None - self.name = None - self.quota_period = None - self.limit = None - self.current_value = None - - -class PartitionUsage(Usage): - """The partition level usage data for a usage request. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", - "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". - :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType - :ivar name: The name information for the metric. - :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar quota_period: The quota period used to summarize the usage values. - :vartype quota_period: str - :ivar limit: Maximum value for this metric. - :vartype limit: long - :ivar current_value: Current value for this metric. - :vartype current_value: long - :ivar partition_id: The partition id (GUID identifier) of the usages. - :vartype partition_id: str - :ivar partition_key_range_id: The partition key range id (integer identifier) of the usages. - :vartype partition_key_range_id: str - """ - - _validation = { - 'unit': {'readonly': True}, - 'name': {'readonly': True}, - 'quota_period': {'readonly': True}, - 'limit': {'readonly': True}, - 'current_value': {'readonly': True}, - 'partition_id': {'readonly': True}, - 'partition_key_range_id': {'readonly': True}, - } - - _attribute_map = { - 'unit': {'key': 'unit', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'MetricName'}, - 'quota_period': {'key': 'quotaPeriod', 'type': 'str'}, - 'limit': {'key': 'limit', 'type': 'long'}, - 'current_value': {'key': 'currentValue', 'type': 'long'}, - 'partition_id': {'key': 'partitionId', 'type': 'str'}, - 'partition_key_range_id': {'key': 'partitionKeyRangeId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PartitionUsage, self).__init__(**kwargs) - self.partition_id = None - self.partition_key_range_id = None - - -class PartitionUsagesResult(msrest.serialization.Model): - """The response to a list partition level usage request. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of partition-level usages for the database. A usage is a point in time - metric. - :vartype value: list[~azure.mgmt.cosmosdb.models.PartitionUsage] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PartitionUsage]'}, - } - - def __init__( - self, - **kwargs - ): - super(PartitionUsagesResult, self).__init__(**kwargs) - self.value = None - - -class PercentileMetric(msrest.serialization.Model): - """Percentile Metric data. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar start_time: The start time for the metric (ISO-8601 format). - :vartype start_time: ~datetime.datetime - :ivar end_time: The end time for the metric (ISO-8601 format). - :vartype end_time: ~datetime.datetime - :ivar time_grain: The time grain to be used to summarize the metric values. - :vartype time_grain: str - :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", - "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". - :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType - :ivar name: The name information for the metric. - :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar metric_values: The percentile metric values for the specified time window and timestep. - :vartype metric_values: list[~azure.mgmt.cosmosdb.models.PercentileMetricValue] - """ - - _validation = { - 'start_time': {'readonly': True}, - 'end_time': {'readonly': True}, - 'time_grain': {'readonly': True}, - 'unit': {'readonly': True}, - 'name': {'readonly': True}, - 'metric_values': {'readonly': True}, - } - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'MetricName'}, - 'metric_values': {'key': 'metricValues', 'type': '[PercentileMetricValue]'}, - } - - def __init__( - self, - **kwargs - ): - super(PercentileMetric, self).__init__(**kwargs) - self.start_time = None - self.end_time = None - self.time_grain = None - self.unit = None - self.name = None - self.metric_values = None - - -class PercentileMetricListResult(msrest.serialization.Model): - """The response to a list percentile metrics request. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of percentile metrics for the account. - :vartype value: list[~azure.mgmt.cosmosdb.models.PercentileMetric] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PercentileMetric]'}, - } - - def __init__( - self, - **kwargs - ): - super(PercentileMetricListResult, self).__init__(**kwargs) - self.value = None - - -class PercentileMetricValue(MetricValue): - """Represents percentile metrics values. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar count: The number of values for the metric. - :vartype count: int - :ivar average: The average value of the metric. - :vartype average: float - :ivar maximum: The max value of the metric. - :vartype maximum: float - :ivar minimum: The min value of the metric. - :vartype minimum: float - :ivar timestamp: The metric timestamp (ISO-8601 format). - :vartype timestamp: ~datetime.datetime - :ivar total: The total value of the metric. - :vartype total: float - :ivar p10: The 10th percentile value for the metric. - :vartype p10: float - :ivar p25: The 25th percentile value for the metric. - :vartype p25: float - :ivar p50: The 50th percentile value for the metric. - :vartype p50: float - :ivar p75: The 75th percentile value for the metric. - :vartype p75: float - :ivar p90: The 90th percentile value for the metric. - :vartype p90: float - :ivar p95: The 95th percentile value for the metric. - :vartype p95: float - :ivar p99: The 99th percentile value for the metric. - :vartype p99: float - """ - - _validation = { - 'count': {'readonly': True}, - 'average': {'readonly': True}, - 'maximum': {'readonly': True}, - 'minimum': {'readonly': True}, - 'timestamp': {'readonly': True}, - 'total': {'readonly': True}, - 'p10': {'readonly': True}, - 'p25': {'readonly': True}, - 'p50': {'readonly': True}, - 'p75': {'readonly': True}, - 'p90': {'readonly': True}, - 'p95': {'readonly': True}, - 'p99': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': '_count', 'type': 'int'}, - 'average': {'key': 'average', 'type': 'float'}, - 'maximum': {'key': 'maximum', 'type': 'float'}, - 'minimum': {'key': 'minimum', 'type': 'float'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'total': {'key': 'total', 'type': 'float'}, - 'p10': {'key': 'P10', 'type': 'float'}, - 'p25': {'key': 'P25', 'type': 'float'}, - 'p50': {'key': 'P50', 'type': 'float'}, - 'p75': {'key': 'P75', 'type': 'float'}, - 'p90': {'key': 'P90', 'type': 'float'}, - 'p95': {'key': 'P95', 'type': 'float'}, - 'p99': {'key': 'P99', 'type': 'float'}, - } - - def __init__( - self, - **kwargs - ): - super(PercentileMetricValue, self).__init__(**kwargs) - self.p10 = None - self.p25 = None - self.p50 = None - self.p75 = None - self.p90 = None - self.p95 = None - self.p99 = None - - -class PeriodicModeBackupPolicy(BackupPolicy): - """The object representing periodic mode backup policy. - - All required parameters must be populated in order to send to Azure. - - :param type: Required. Describes the mode of backups.Constant filled by server. Possible - values include: "Periodic", "Continuous". - :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType - :param migration_state: The object representing the state of the migration between the backup - policies. - :type migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState - :param periodic_mode_properties: Configuration values for periodic mode backup. - :type periodic_mode_properties: ~azure.mgmt.cosmosdb.models.PeriodicModeProperties - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'migration_state': {'key': 'migrationState', 'type': 'BackupPolicyMigrationState'}, - 'periodic_mode_properties': {'key': 'periodicModeProperties', 'type': 'PeriodicModeProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(PeriodicModeBackupPolicy, self).__init__(**kwargs) - self.type = 'Periodic' # type: str - self.periodic_mode_properties = kwargs.get('periodic_mode_properties', None) - - -class PeriodicModeProperties(msrest.serialization.Model): - """Configuration values for periodic mode backup. - - :param backup_interval_in_minutes: An integer representing the interval in minutes between two - backups. - :type backup_interval_in_minutes: int - :param backup_retention_interval_in_hours: An integer representing the time (in hours) that - each backup is retained. - :type backup_retention_interval_in_hours: int - :param backup_storage_redundancy: Enum to indicate type of backup residency. Possible values - include: "Geo", "Local", "Zone". - :type backup_storage_redundancy: str or ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy - """ - - _validation = { - 'backup_interval_in_minutes': {'minimum': 0}, - 'backup_retention_interval_in_hours': {'minimum': 0}, - } - - _attribute_map = { - 'backup_interval_in_minutes': {'key': 'backupIntervalInMinutes', 'type': 'int'}, - 'backup_retention_interval_in_hours': {'key': 'backupRetentionIntervalInHours', 'type': 'int'}, - 'backup_storage_redundancy': {'key': 'backupStorageRedundancy', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PeriodicModeProperties, self).__init__(**kwargs) - self.backup_interval_in_minutes = kwargs.get('backup_interval_in_minutes', None) - self.backup_retention_interval_in_hours = kwargs.get('backup_retention_interval_in_hours', None) - self.backup_storage_redundancy = kwargs.get('backup_storage_redundancy', None) - - -class Permission(msrest.serialization.Model): - """The set of data plane operations permitted through this Role Definition. - - :param data_actions: An array of data actions that are allowed. - :type data_actions: list[str] - :param not_data_actions: An array of data actions that are denied. - :type not_data_actions: list[str] - """ - - _attribute_map = { - 'data_actions': {'key': 'dataActions', 'type': '[str]'}, - 'not_data_actions': {'key': 'notDataActions', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(Permission, self).__init__(**kwargs) - self.data_actions = kwargs.get('data_actions', None) - self.not_data_actions = kwargs.get('not_data_actions', None) - - -class Resource(msrest.serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ProxyResource, self).__init__(**kwargs) - - -class PrivateEndpointConnection(ProxyResource): - """A private endpoint connection. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param private_endpoint: Private endpoint which the connection belongs to. - :type private_endpoint: ~azure.mgmt.cosmosdb.models.PrivateEndpointProperty - :param private_link_service_connection_state: Connection State of the Private Endpoint - Connection. - :type private_link_service_connection_state: - ~azure.mgmt.cosmosdb.models.PrivateLinkServiceConnectionStateProperty - :param group_id: Group id of the private endpoint. - :type group_id: str - :param provisioning_state: Provisioning state of the private endpoint. - :type provisioning_state: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpointProperty'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionStateProperty'}, - 'group_id': {'key': 'properties.groupId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.private_endpoint = kwargs.get('private_endpoint', None) - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - self.group_id = kwargs.get('group_id', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - - -class PrivateEndpointConnectionListResult(msrest.serialization.Model): - """A list of private endpoint connections. - - :param value: Array of private endpoint connections. - :type value: list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateEndpointProperty(msrest.serialization.Model): - """Private endpoint which the connection belongs to. - - :param id: Resource id of the private endpoint. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpointProperty, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class PrivateLinkResource(ARMProxyResource): - """A private link resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the database account. - :vartype id: str - :ivar name: The name of the database account. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :ivar group_id: The private link resource group id. - :vartype group_id: str - :ivar required_members: The private link resource required member names. - :vartype required_members: list[str] - :ivar required_zone_names: The private link resource required zone names. - :vartype required_zone_names: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'group_id': {'readonly': True}, - 'required_members': {'readonly': True}, - 'required_zone_names': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'properties.groupId', 'type': 'str'}, - 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'}, - 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkResource, self).__init__(**kwargs) - self.group_id = None - self.required_members = None - self.required_zone_names = None - - -class PrivateLinkResourceListResult(msrest.serialization.Model): - """A list of private link resources. - - :param value: Array of private link resources. - :type value: list[~azure.mgmt.cosmosdb.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkResourceListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkServiceConnectionStateProperty(msrest.serialization.Model): - """Connection State of the Private Endpoint Connection. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param status: The private link service connection status. - :type status: str - :param description: The private link service connection description. - :type description: str - :ivar actions_required: Any action that is required beyond basic workflow (approve/ reject/ - disconnect). - :vartype actions_required: str - """ - - _validation = { - 'actions_required': {'readonly': True}, - } - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.description = kwargs.get('description', None) - self.actions_required = None - - -class RegionForOnlineOffline(msrest.serialization.Model): - """Cosmos DB region to online or offline. - - All required parameters must be populated in order to send to Azure. - - :param region: Required. Cosmos DB region, with spaces between words and each word capitalized. - :type region: str - """ - - _validation = { - 'region': {'required': True}, - } - - _attribute_map = { - 'region': {'key': 'region', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RegionForOnlineOffline, self).__init__(**kwargs) - self.region = kwargs['region'] - - -class RestorableDatabaseAccountGetResult(msrest.serialization.Model): - """A Azure Cosmos DB restorable database account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param account_name: The name of the global database account. - :type account_name: str - :param creation_time: The creation time of the restorable database account (ISO-8601 format). - :type creation_time: ~datetime.datetime - :param deletion_time: The time at which the restorable database account has been deleted - (ISO-8601 format). - :type deletion_time: ~datetime.datetime - :ivar api_type: The API type of the restorable database account. Possible values include: - "MongoDB", "Gremlin", "Cassandra", "Table", "Sql", "GremlinV2". - :vartype api_type: str or ~azure.mgmt.cosmosdb.models.ApiType - :ivar restorable_locations: List of regions where the of the database account can be restored - from. - :vartype restorable_locations: list[~azure.mgmt.cosmosdb.models.RestorableLocationResource] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'api_type': {'readonly': True}, - 'restorable_locations': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'account_name': {'key': 'properties.accountName', 'type': 'str'}, - 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, - 'deletion_time': {'key': 'properties.deletionTime', 'type': 'iso-8601'}, - 'api_type': {'key': 'properties.apiType', 'type': 'str'}, - 'restorable_locations': {'key': 'properties.restorableLocations', 'type': '[RestorableLocationResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableDatabaseAccountGetResult, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.account_name = kwargs.get('account_name', None) - self.creation_time = kwargs.get('creation_time', None) - self.deletion_time = kwargs.get('deletion_time', None) - self.api_type = None - self.restorable_locations = None - - -class RestorableDatabaseAccountsListResult(msrest.serialization.Model): - """The List operation response, that contains the restorable database accounts and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of restorable database accounts and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResult] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[RestorableDatabaseAccountGetResult]'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableDatabaseAccountsListResult, self).__init__(**kwargs) - self.value = None - - -class RestorableLocationResource(msrest.serialization.Model): - """Properties of the regional restorable account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar location_name: The location of the regional restorable account. - :vartype location_name: str - :ivar regional_database_account_instance_id: The instance id of the regional restorable - account. - :vartype regional_database_account_instance_id: str - :ivar creation_time: The creation time of the regional restorable database account (ISO-8601 - format). - :vartype creation_time: ~datetime.datetime - :ivar deletion_time: The time at which the regional restorable database account has been - deleted (ISO-8601 format). - :vartype deletion_time: ~datetime.datetime - """ - - _validation = { - 'location_name': {'readonly': True}, - 'regional_database_account_instance_id': {'readonly': True}, - 'creation_time': {'readonly': True}, - 'deletion_time': {'readonly': True}, - } - - _attribute_map = { - 'location_name': {'key': 'locationName', 'type': 'str'}, - 'regional_database_account_instance_id': {'key': 'regionalDatabaseAccountInstanceId', 'type': 'str'}, - 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, - 'deletion_time': {'key': 'deletionTime', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableLocationResource, self).__init__(**kwargs) - self.location_name = None - self.regional_database_account_instance_id = None - self.creation_time = None - self.deletion_time = None - - -class RestorableMongodbCollectionGetResult(msrest.serialization.Model): - """An Azure Cosmos DB MongoDB collection event. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource Identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param resource: The resource of an Azure Cosmos DB MongoDB collection event. - :type resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionPropertiesResource - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbCollectionPropertiesResource'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableMongodbCollectionGetResult, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.resource = kwargs.get('resource', None) - - -class RestorableMongodbCollectionPropertiesResource(msrest.serialization.Model): - """The resource of an Azure Cosmos DB MongoDB collection event. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar operation_type: The operation type of this collection event. Possible values include: - "Create", "Replace", "Delete", "SystemOperation". - :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType - :ivar event_timestamp: The time when this collection event happened. - :vartype event_timestamp: str - :ivar owner_id: The name of this MongoDB collection. - :vartype owner_id: str - :ivar owner_resource_id: The resource ID of this MongoDB collection. - :vartype owner_resource_id: str - """ - - _validation = { - 'rid': {'readonly': True}, - 'operation_type': {'readonly': True}, - 'event_timestamp': {'readonly': True}, - 'owner_id': {'readonly': True}, - 'owner_resource_id': {'readonly': True}, - } - - _attribute_map = { - 'rid': {'key': '_rid', 'type': 'str'}, - 'operation_type': {'key': 'operationType', 'type': 'str'}, - 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, - 'owner_id': {'key': 'ownerId', 'type': 'str'}, - 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableMongodbCollectionPropertiesResource, self).__init__(**kwargs) - self.rid = None - self.operation_type = None - self.event_timestamp = None - self.owner_id = None - self.owner_resource_id = None - - -class RestorableMongodbCollectionsListResult(msrest.serialization.Model): - """The List operation response, that contains the MongoDB collection events and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of MongoDB collection events and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionGetResult] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[RestorableMongodbCollectionGetResult]'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableMongodbCollectionsListResult, self).__init__(**kwargs) - self.value = None - - -class RestorableMongodbDatabaseGetResult(msrest.serialization.Model): - """An Azure Cosmos DB MongoDB database event. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource Identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param resource: The resource of an Azure Cosmos DB MongoDB database event. - :type resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasePropertiesResource - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbDatabasePropertiesResource'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableMongodbDatabaseGetResult, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.resource = kwargs.get('resource', None) - - -class RestorableMongodbDatabasePropertiesResource(msrest.serialization.Model): - """The resource of an Azure Cosmos DB MongoDB database event. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar operation_type: The operation type of this database event. Possible values include: - "Create", "Replace", "Delete", "SystemOperation". - :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType - :ivar event_timestamp: The time when this database event happened. - :vartype event_timestamp: str - :ivar owner_id: The name of this MongoDB database. - :vartype owner_id: str - :ivar owner_resource_id: The resource ID of this MongoDB database. - :vartype owner_resource_id: str - """ - - _validation = { - 'rid': {'readonly': True}, - 'operation_type': {'readonly': True}, - 'event_timestamp': {'readonly': True}, - 'owner_id': {'readonly': True}, - 'owner_resource_id': {'readonly': True}, - } - - _attribute_map = { - 'rid': {'key': '_rid', 'type': 'str'}, - 'operation_type': {'key': 'operationType', 'type': 'str'}, - 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, - 'owner_id': {'key': 'ownerId', 'type': 'str'}, - 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableMongodbDatabasePropertiesResource, self).__init__(**kwargs) - self.rid = None - self.operation_type = None - self.event_timestamp = None - self.owner_id = None - self.owner_resource_id = None - - -class RestorableMongodbDatabasesListResult(msrest.serialization.Model): - """The List operation response, that contains the MongoDB database events and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of MongoDB database events and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabaseGetResult] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[RestorableMongodbDatabaseGetResult]'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableMongodbDatabasesListResult, self).__init__(**kwargs) - self.value = None - - -class RestorableMongodbResourcesListResult(msrest.serialization.Model): - """The List operation response, that contains the restorable MongoDB resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of restorable MongoDB resources, including the database and collection names. - :vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[DatabaseRestoreResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableMongodbResourcesListResult, self).__init__(**kwargs) - self.value = None - - -class RestorableSqlContainerGetResult(msrest.serialization.Model): - """An Azure Cosmos DB SQL container event. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource Identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param resource: The resource of an Azure Cosmos DB SQL container event. - :type resource: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResource - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'resource': {'key': 'properties.resource', 'type': 'RestorableSqlContainerPropertiesResource'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableSqlContainerGetResult, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.resource = kwargs.get('resource', None) - - -class RestorableSqlContainerPropertiesResource(msrest.serialization.Model): - """The resource of an Azure Cosmos DB SQL container event. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar operation_type: The operation type of this container event. Possible values include: - "Create", "Replace", "Delete", "SystemOperation". - :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType - :ivar event_timestamp: The when this container event happened. - :vartype event_timestamp: str - :ivar owner_id: The name of this SQL container. - :vartype owner_id: str - :ivar owner_resource_id: The resource ID of this SQL container. - :vartype owner_resource_id: str - :param container: Cosmos DB SQL container resource object. - :type container: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResourceContainer - """ - - _validation = { - 'rid': {'readonly': True}, - 'operation_type': {'readonly': True}, - 'event_timestamp': {'readonly': True}, - 'owner_id': {'readonly': True}, - 'owner_resource_id': {'readonly': True}, - } - - _attribute_map = { - 'rid': {'key': '_rid', 'type': 'str'}, - 'operation_type': {'key': 'operationType', 'type': 'str'}, - 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, - 'owner_id': {'key': 'ownerId', 'type': 'str'}, - 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, - 'container': {'key': 'container', 'type': 'RestorableSqlContainerPropertiesResourceContainer'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableSqlContainerPropertiesResource, self).__init__(**kwargs) - self.rid = None - self.operation_type = None - self.event_timestamp = None - self.owner_id = None - self.owner_resource_id = None - self.container = kwargs.get('container', None) - - -class SqlContainerResource(msrest.serialization.Model): - """Cosmos DB SQL container resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB SQL container. - :type id: str - :param indexing_policy: The configuration of the indexing policy. By default, the indexing is - automatic for all document paths within the container. - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used for partitioning data - into multiple partitions. - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live. - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for specifying uniqueness - constraints on documents in the collection in the Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the container. - :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: long - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, - 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, - 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlContainerResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.indexing_policy = kwargs.get('indexing_policy', None) - self.partition_key = kwargs.get('partition_key', None) - self.default_ttl = kwargs.get('default_ttl', None) - self.unique_key_policy = kwargs.get('unique_key_policy', None) - self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) - self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - - -class RestorableSqlContainerPropertiesResourceContainer(ExtendedResourceProperties, SqlContainerResource): - """Cosmos DB SQL container resource object. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB SQL container. - :type id: str - :param indexing_policy: The configuration of the indexing policy. By default, the indexing is - automatic for all document paths within the container. - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used for partitioning data - into multiple partitions. - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live. - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for specifying uniqueness - constraints on documents in the collection in the Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the container. - :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: long - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - :ivar self_property: A system generated property that specifies the addressable path of the - container resource. - :vartype self_property: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - 'self_property': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, - 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, - 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - 'self_property': {'key': '_self', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableSqlContainerPropertiesResourceContainer, self).__init__(**kwargs) - self.id = kwargs['id'] - self.indexing_policy = kwargs.get('indexing_policy', None) - self.partition_key = kwargs.get('partition_key', None) - self.default_ttl = kwargs.get('default_ttl', None) - self.unique_key_policy = kwargs.get('unique_key_policy', None) - self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) - self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - self.self_property = None - self.rid = None - self.ts = None - self.etag = None - self.self_property = None - - -class RestorableSqlContainersListResult(msrest.serialization.Model): - """The List operation response, that contains the SQL container events and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of SQL container events and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableSqlContainerGetResult] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[RestorableSqlContainerGetResult]'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableSqlContainersListResult, self).__init__(**kwargs) - self.value = None - - -class RestorableSqlDatabaseGetResult(msrest.serialization.Model): - """An Azure Cosmos DB SQL database event. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource Identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param resource: The resource of an Azure Cosmos DB SQL database event. - :type resource: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResource - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'resource': {'key': 'properties.resource', 'type': 'RestorableSqlDatabasePropertiesResource'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableSqlDatabaseGetResult, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.resource = kwargs.get('resource', None) - - -class RestorableSqlDatabasePropertiesResource(msrest.serialization.Model): - """The resource of an Azure Cosmos DB SQL database event. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar operation_type: The operation type of this database event. Possible values include: - "Create", "Replace", "Delete", "SystemOperation". - :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType - :ivar event_timestamp: The time when this database event happened. - :vartype event_timestamp: str - :ivar owner_id: The name of the SQL database. - :vartype owner_id: str - :ivar owner_resource_id: The resource ID of the SQL database. - :vartype owner_resource_id: str - :param database: Cosmos DB SQL database resource object. - :type database: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResourceDatabase - """ - - _validation = { - 'rid': {'readonly': True}, - 'operation_type': {'readonly': True}, - 'event_timestamp': {'readonly': True}, - 'owner_id': {'readonly': True}, - 'owner_resource_id': {'readonly': True}, - } - - _attribute_map = { - 'rid': {'key': '_rid', 'type': 'str'}, - 'operation_type': {'key': 'operationType', 'type': 'str'}, - 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, - 'owner_id': {'key': 'ownerId', 'type': 'str'}, - 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, - 'database': {'key': 'database', 'type': 'RestorableSqlDatabasePropertiesResourceDatabase'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableSqlDatabasePropertiesResource, self).__init__(**kwargs) - self.rid = None - self.operation_type = None - self.event_timestamp = None - self.owner_id = None - self.owner_resource_id = None - self.database = kwargs.get('database', None) - - -class SqlDatabaseResource(msrest.serialization.Model): - """Cosmos DB SQL database resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB SQL database. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlDatabaseResource, self).__init__(**kwargs) - self.id = kwargs['id'] - - -class RestorableSqlDatabasePropertiesResourceDatabase(SqlDatabaseResource, ExtendedResourceProperties): - """Cosmos DB SQL database resource object. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - :param id: Required. Name of the Cosmos DB SQL database. - :type id: str - :ivar colls: A system generated property that specified the addressable path of the collections - resource. - :vartype colls: str - :ivar users: A system generated property that specifies the addressable path of the users - resource. - :vartype users: str - :ivar self_property: A system generated property that specifies the addressable path of the - database resource. - :vartype self_property: str - """ - - _validation = { - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - 'id': {'required': True}, - 'colls': {'readonly': True}, - 'users': {'readonly': True}, - 'self_property': {'readonly': True}, - } - - _attribute_map = { - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'colls': {'key': '_colls', 'type': 'str'}, - 'users': {'key': '_users', 'type': 'str'}, - 'self_property': {'key': '_self', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableSqlDatabasePropertiesResourceDatabase, self).__init__(**kwargs) - self.rid = None - self.ts = None - self.etag = None - self.colls = None - self.users = None - self.self_property = None - self.id = kwargs['id'] - self.colls = None - self.users = None - self.self_property = None - - -class RestorableSqlDatabasesListResult(msrest.serialization.Model): - """The List operation response, that contains the SQL database events and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of SQL database events and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableSqlDatabaseGetResult] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[RestorableSqlDatabaseGetResult]'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableSqlDatabasesListResult, self).__init__(**kwargs) - self.value = None - - -class RestorableSqlResourcesListResult(msrest.serialization.Model): - """The List operation response, that contains the restorable SQL resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of restorable SQL resources, including the database and collection names. - :vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[DatabaseRestoreResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(RestorableSqlResourcesListResult, self).__init__(**kwargs) - self.value = None - - -class RestoreParameters(msrest.serialization.Model): - """Parameters to indicate the information about the restore. - - :param restore_mode: Describes the mode of the restore. Possible values include: "PointInTime". - :type restore_mode: str or ~azure.mgmt.cosmosdb.models.RestoreMode - :param restore_source: The id of the restorable database account from which the restore has to - be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}. - :type restore_source: str - :param restore_timestamp_in_utc: Time to which the account has to be restored (ISO-8601 - format). - :type restore_timestamp_in_utc: ~datetime.datetime - :param databases_to_restore: List of specific databases available for restore. - :type databases_to_restore: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] - """ - - _attribute_map = { - 'restore_mode': {'key': 'restoreMode', 'type': 'str'}, - 'restore_source': {'key': 'restoreSource', 'type': 'str'}, - 'restore_timestamp_in_utc': {'key': 'restoreTimestampInUtc', 'type': 'iso-8601'}, - 'databases_to_restore': {'key': 'databasesToRestore', 'type': '[DatabaseRestoreResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(RestoreParameters, self).__init__(**kwargs) - self.restore_mode = kwargs.get('restore_mode', None) - self.restore_source = kwargs.get('restore_source', None) - self.restore_timestamp_in_utc = kwargs.get('restore_timestamp_in_utc', None) - self.databases_to_restore = kwargs.get('databases_to_restore', None) - - -class SeedNode(msrest.serialization.Model): - """SeedNode. - - :param ip_address: IP address of this seed node. - :type ip_address: str - """ - - _attribute_map = { - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SeedNode, self).__init__(**kwargs) - self.ip_address = kwargs.get('ip_address', None) - - -class SpatialSpec(msrest.serialization.Model): - """SpatialSpec. - - :param path: The path for which the indexing behavior applies to. Index paths typically start - with root and end with wildcard (/path/*). - :type path: str - :param types: List of path's spatial type. - :type types: list[str or ~azure.mgmt.cosmosdb.models.SpatialType] - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - 'types': {'key': 'types', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(SpatialSpec, self).__init__(**kwargs) - self.path = kwargs.get('path', None) - self.types = kwargs.get('types', None) - - -class SqlContainerCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB container. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a container. - :type resource: ~azure.mgmt.cosmosdb.models.SqlContainerResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'SqlContainerResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlContainerCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -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, - **kwargs - ): - super(SqlContainerGetPropertiesOptions, self).__init__(**kwargs) - - -class SqlContainerGetPropertiesResource(ExtendedResourceProperties, SqlContainerResource): - """SqlContainerGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB SQL container. - :type id: str - :param indexing_policy: The configuration of the indexing policy. By default, the indexing is - automatic for all document paths within the container. - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used for partitioning data - into multiple partitions. - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live. - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for specifying uniqueness - constraints on documents in the collection in the Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the container. - :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: long - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, - 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, - 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlContainerGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.indexing_policy = kwargs.get('indexing_policy', None) - self.partition_key = kwargs.get('partition_key', None) - self.default_ttl = kwargs.get('default_ttl', None) - self.unique_key_policy = kwargs.get('unique_key_policy', None) - self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) - self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - self.rid = None - self.ts = None - self.etag = None - - -class SqlContainerGetResults(ARMResourceProperties): - """An Azure Cosmos DB container. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(SqlContainerGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) - - -class SqlContainerListResult(msrest.serialization.Model): - """The List operation response, that contains the containers and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of containers and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.SqlContainerGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SqlContainerGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlContainerListResult, self).__init__(**kwargs) - self.value = None - - -class SqlDatabaseCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB SQL database. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a SQL database. - :type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'SqlDatabaseResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlDatabaseCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -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, - **kwargs - ): - super(SqlDatabaseGetPropertiesOptions, self).__init__(**kwargs) - - -class SqlDatabaseGetPropertiesResource(SqlDatabaseResource, ExtendedResourceProperties): - """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. - - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - :param id: Required. Name of the Cosmos DB SQL database. - :type id: 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 = { - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - 'id': {'required': True}, - } - - _attribute_map = { - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'colls': {'key': '_colls', 'type': 'str'}, - 'users': {'key': '_users', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlDatabaseGetPropertiesResource, self).__init__(**kwargs) - self.rid = None - self.ts = None - self.etag = None - self.colls = kwargs.get('colls', None) - self.users = kwargs.get('users', None) - self.id = kwargs['id'] - self.colls = kwargs.get('colls', None) - self.users = kwargs.get('users', None) - - -class SqlDatabaseGetResults(ARMResourceProperties): - """An Azure Cosmos DB SQL database. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(SqlDatabaseGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) - - -class SqlDatabaseListResult(msrest.serialization.Model): - """The List operation response, that contains the SQL databases and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of SQL databases and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SqlDatabaseGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlDatabaseListResult, self).__init__(**kwargs) - self.value = None - - -class SqlRoleAssignmentCreateUpdateParameters(msrest.serialization.Model): - """Parameters to create and update an Azure Cosmos DB SQL Role Assignment. - - :param role_definition_id: The unique identifier for the associated Role Definition. - :type role_definition_id: str - :param scope: The data plane resource path for which access is being granted through this Role - Assignment. - :type scope: str - :param principal_id: The unique identifier for the associated AAD principal in the AAD graph to - which access is being granted through this Role Assignment. Tenant ID for the principal is - inferred using the tenant associated with the subscription. - :type principal_id: str - """ - - _attribute_map = { - 'role_definition_id': {'key': 'properties.roleDefinitionId', 'type': 'str'}, - 'scope': {'key': 'properties.scope', 'type': 'str'}, - 'principal_id': {'key': 'properties.principalId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlRoleAssignmentCreateUpdateParameters, self).__init__(**kwargs) - self.role_definition_id = kwargs.get('role_definition_id', None) - self.scope = kwargs.get('scope', None) - self.principal_id = kwargs.get('principal_id', None) - - -class SqlRoleAssignmentGetResults(ARMProxyResource): - """An Azure Cosmos DB Role Assignment. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the database account. - :vartype id: str - :ivar name: The name of the database account. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param role_definition_id: The unique identifier for the associated Role Definition. - :type role_definition_id: str - :param scope: The data plane resource path for which access is being granted through this Role - Assignment. - :type scope: str - :param principal_id: The unique identifier for the associated AAD principal in the AAD graph to - which access is being granted through this Role Assignment. Tenant ID for the principal is - inferred using the tenant associated with the subscription. - :type principal_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'role_definition_id': {'key': 'properties.roleDefinitionId', 'type': 'str'}, - 'scope': {'key': 'properties.scope', 'type': 'str'}, - 'principal_id': {'key': 'properties.principalId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlRoleAssignmentGetResults, self).__init__(**kwargs) - self.role_definition_id = kwargs.get('role_definition_id', None) - self.scope = kwargs.get('scope', None) - self.principal_id = kwargs.get('principal_id', None) - - -class SqlRoleAssignmentListResult(msrest.serialization.Model): - """The relevant Role Assignments. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Role Assignments and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SqlRoleAssignmentGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlRoleAssignmentListResult, self).__init__(**kwargs) - self.value = None - - -class SqlRoleDefinitionCreateUpdateParameters(msrest.serialization.Model): - """Parameters to create and update an Azure Cosmos DB SQL Role Definition. - - :param role_name: A user-friendly name for the Role Definition. Must be unique for the database - account. - :type role_name: str - :param type: Indicates whether the Role Definition was built-in or user created. Possible - values include: "BuiltInRole", "CustomRole". - :type type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType - :param assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments - may be created using this Role Definition. This will allow application of this Role Definition - on the entire database account or any underlying Database / Collection. Must have at least one - element. Scopes higher than Database account are not enforceable as assignable Scopes. Note - that resources referenced in assignable Scopes need not exist. - :type assignable_scopes: list[str] - :param permissions: The set of operations allowed through this Role Definition. - :type permissions: list[~azure.mgmt.cosmosdb.models.Permission] - """ - - _attribute_map = { - 'role_name': {'key': 'properties.roleName', 'type': 'str'}, - 'type': {'key': 'properties.type', 'type': 'str'}, - 'assignable_scopes': {'key': 'properties.assignableScopes', 'type': '[str]'}, - 'permissions': {'key': 'properties.permissions', 'type': '[Permission]'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlRoleDefinitionCreateUpdateParameters, self).__init__(**kwargs) - self.role_name = kwargs.get('role_name', None) - self.type = kwargs.get('type', None) - self.assignable_scopes = kwargs.get('assignable_scopes', None) - self.permissions = kwargs.get('permissions', None) - - -class SqlRoleDefinitionGetResults(ARMProxyResource): - """An Azure Cosmos DB SQL Role Definition. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the database account. - :vartype id: str - :ivar name: The name of the database account. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param role_name: A user-friendly name for the Role Definition. Must be unique for the database - account. - :type role_name: str - :param type_properties_type: Indicates whether the Role Definition was built-in or user - created. Possible values include: "BuiltInRole", "CustomRole". - :type type_properties_type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType - :param assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments - may be created using this Role Definition. This will allow application of this Role Definition - on the entire database account or any underlying Database / Collection. Must have at least one - element. Scopes higher than Database account are not enforceable as assignable Scopes. Note - that resources referenced in assignable Scopes need not exist. - :type assignable_scopes: list[str] - :param permissions: The set of operations allowed through this Role Definition. - :type permissions: list[~azure.mgmt.cosmosdb.models.Permission] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'role_name': {'key': 'properties.roleName', 'type': 'str'}, - 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, - 'assignable_scopes': {'key': 'properties.assignableScopes', 'type': '[str]'}, - 'permissions': {'key': 'properties.permissions', 'type': '[Permission]'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlRoleDefinitionGetResults, self).__init__(**kwargs) - self.role_name = kwargs.get('role_name', None) - self.type_properties_type = kwargs.get('type_properties_type', None) - self.assignable_scopes = kwargs.get('assignable_scopes', None) - self.permissions = kwargs.get('permissions', None) - - -class SqlRoleDefinitionListResult(msrest.serialization.Model): - """The relevant Role Definitions. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Role Definitions and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SqlRoleDefinitionGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlRoleDefinitionListResult, self).__init__(**kwargs) - self.value = None - - -class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB storedProcedure. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a storedProcedure. - :type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'SqlStoredProcedureResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlStoredProcedureCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -class SqlStoredProcedureResource(msrest.serialization.Model): - """Cosmos DB SQL storedProcedure resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB SQL storedProcedure. - :type id: str - :param body: Body of the Stored Procedure. - :type body: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlStoredProcedureResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.body = kwargs.get('body', None) - - -class SqlStoredProcedureGetPropertiesResource(ExtendedResourceProperties, SqlStoredProcedureResource): - """SqlStoredProcedureGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB SQL storedProcedure. - :type id: str - :param body: Body of the Stored Procedure. - :type body: str - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlStoredProcedureGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.body = kwargs.get('body', None) - self.rid = None - self.ts = None - self.etag = None - - -class SqlStoredProcedureGetResults(ARMResourceProperties): - """An Azure Cosmos DB storedProcedure. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(SqlStoredProcedureGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - - -class SqlStoredProcedureListResult(msrest.serialization.Model): - """The List operation response, that contains the storedProcedures and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of storedProcedures and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SqlStoredProcedureGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlStoredProcedureListResult, self).__init__(**kwargs) - self.value = None - - -class SqlTriggerCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB trigger. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a trigger. - :type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'SqlTriggerResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlTriggerCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -class SqlTriggerResource(msrest.serialization.Model): - """Cosmos DB SQL trigger resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB SQL trigger. - :type id: str - :param body: Body of the Trigger. - :type body: str - :param trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". - :type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType - :param trigger_operation: The operation the trigger is associated with. Possible values - include: "All", "Create", "Update", "Delete", "Replace". - :type trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, - 'trigger_type': {'key': 'triggerType', 'type': 'str'}, - 'trigger_operation': {'key': 'triggerOperation', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlTriggerResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.body = kwargs.get('body', None) - self.trigger_type = kwargs.get('trigger_type', None) - self.trigger_operation = kwargs.get('trigger_operation', None) - - -class SqlTriggerGetPropertiesResource(ExtendedResourceProperties, SqlTriggerResource): - """SqlTriggerGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB SQL trigger. - :type id: str - :param body: Body of the Trigger. - :type body: str - :param trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". - :type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType - :param trigger_operation: The operation the trigger is associated with. Possible values - include: "All", "Create", "Update", "Delete", "Replace". - :type trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, - 'trigger_type': {'key': 'triggerType', 'type': 'str'}, - 'trigger_operation': {'key': 'triggerOperation', 'type': 'str'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlTriggerGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.body = kwargs.get('body', None) - self.trigger_type = kwargs.get('trigger_type', None) - self.trigger_operation = kwargs.get('trigger_operation', None) - self.rid = None - self.ts = None - self.etag = None - - -class SqlTriggerGetResults(ARMResourceProperties): - """An Azure Cosmos DB trigger. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(SqlTriggerGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - - -class SqlTriggerListResult(msrest.serialization.Model): - """The List operation response, that contains the triggers and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of triggers and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SqlTriggerGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlTriggerListResult, self).__init__(**kwargs) - self.value = None - - -class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB userDefinedFunction. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a userDefinedFunction. - :type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'SqlUserDefinedFunctionResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlUserDefinedFunctionCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -class SqlUserDefinedFunctionResource(msrest.serialization.Model): - """Cosmos DB SQL userDefinedFunction resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB SQL userDefinedFunction. - :type id: str - :param body: Body of the User Defined Function. - :type body: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlUserDefinedFunctionResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.body = kwargs.get('body', None) - - -class SqlUserDefinedFunctionGetPropertiesResource(ExtendedResourceProperties, SqlUserDefinedFunctionResource): - """SqlUserDefinedFunctionGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB SQL userDefinedFunction. - :type id: str - :param body: Body of the User Defined Function. - :type body: str - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlUserDefinedFunctionGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.body = kwargs.get('body', None) - self.rid = None - self.ts = None - self.etag = None - - -class SqlUserDefinedFunctionGetResults(ARMResourceProperties): - """An Azure Cosmos DB userDefinedFunction. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(SqlUserDefinedFunctionGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - - -class SqlUserDefinedFunctionListResult(msrest.serialization.Model): - """The List operation response, that contains the userDefinedFunctions and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of userDefinedFunctions and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SqlUserDefinedFunctionGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlUserDefinedFunctionListResult, self).__init__(**kwargs) - self.value = None - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', None) - - -class TableCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB Table. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param resource: Required. The standard JSON format of a Table. - :type resource: ~azure.mgmt.cosmosdb.models.TableResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'resource': {'key': 'properties.resource', 'type': 'TableResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(TableCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -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, - **kwargs - ): - super(TableGetPropertiesOptions, self).__init__(**kwargs) - - -class TableResource(msrest.serialization.Model): - """Cosmos DB table resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB table. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(TableResource, self).__init__(**kwargs) - self.id = kwargs['id'] - - -class TableGetPropertiesResource(ExtendedResourceProperties, TableResource): - """TableGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB table. - :type id: str - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(TableGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.rid = None - self.ts = None - self.etag = None - - -class TableGetResults(ARMResourceProperties): - """An Azure Cosmos DB Table. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(TableGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) - - -class TableListResult(msrest.serialization.Model): - """The List operation response, that contains the Table and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Table and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.TableGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[TableGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(TableListResult, self).__init__(**kwargs) - self.value = None - - -class ThroughputPolicyResource(msrest.serialization.Model): - """Cosmos DB resource throughput policy. - - :param is_enabled: Determines whether the ThroughputPolicy is active or not. - :type is_enabled: bool - :param increment_percent: Represents the percentage by which throughput can increase every time - throughput policy kicks in. - :type increment_percent: int - """ - - _attribute_map = { - 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, - 'increment_percent': {'key': 'incrementPercent', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(ThroughputPolicyResource, self).__init__(**kwargs) - self.is_enabled = kwargs.get('is_enabled', None) - self.increment_percent = kwargs.get('increment_percent', None) - - -class ThroughputSettingsResource(msrest.serialization.Model): - """Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param throughput: Value of the Cosmos DB resource throughput. Either throughput is required or - autoscaleSettings is required, but not both. - :type throughput: int - :param autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is - required or autoscaleSettings is required, but not both. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource - :ivar minimum_throughput: The minimum throughput of the resource. - :vartype minimum_throughput: str - :ivar offer_replace_pending: The throughput replace is pending. - :vartype offer_replace_pending: str - """ - - _validation = { - 'minimum_throughput': {'readonly': True}, - 'offer_replace_pending': {'readonly': True}, - } - - _attribute_map = { - 'throughput': {'key': 'throughput', 'type': 'int'}, - 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettingsResource'}, - 'minimum_throughput': {'key': 'minimumThroughput', 'type': 'str'}, - 'offer_replace_pending': {'key': 'offerReplacePending', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ThroughputSettingsResource, self).__init__(**kwargs) - self.throughput = kwargs.get('throughput', None) - self.autoscale_settings = kwargs.get('autoscale_settings', None) - self.minimum_throughput = None - self.offer_replace_pending = None - - -class ThroughputSettingsGetPropertiesResource(ExtendedResourceProperties, ThroughputSettingsResource): - """ThroughputSettingsGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param throughput: Value of the Cosmos DB resource throughput. Either throughput is required or - autoscaleSettings is required, but not both. - :type throughput: int - :param autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is - required or autoscaleSettings is required, but not both. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource - :ivar minimum_throughput: The minimum throughput of the resource. - :vartype minimum_throughput: str - :ivar offer_replace_pending: The throughput replace is pending. - :vartype offer_replace_pending: str - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - """ - - _validation = { - 'minimum_throughput': {'readonly': True}, - 'offer_replace_pending': {'readonly': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - } - - _attribute_map = { - 'throughput': {'key': 'throughput', 'type': 'int'}, - 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettingsResource'}, - 'minimum_throughput': {'key': 'minimumThroughput', 'type': 'str'}, - 'offer_replace_pending': {'key': 'offerReplacePending', 'type': 'str'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ThroughputSettingsGetPropertiesResource, self).__init__(**kwargs) - self.throughput = kwargs.get('throughput', None) - self.autoscale_settings = kwargs.get('autoscale_settings', None) - self.minimum_throughput = None - self.offer_replace_pending = None - self.rid = None - self.ts = None - self.etag = None - - -class ThroughputSettingsGetResults(ARMResourceProperties): - """An Azure Cosmos DB resource throughput. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(ThroughputSettingsGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - - -class ThroughputSettingsUpdateParameters(ARMResourceProperties): - """Parameters to update Cosmos DB resource throughput. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param 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, - **kwargs - ): - super(ThroughputSettingsUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - - -class UniqueKey(msrest.serialization.Model): - """The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - - :param paths: List of paths must be unique for each document in the Azure Cosmos DB service. - :type paths: list[str] - """ - - _attribute_map = { - 'paths': {'key': 'paths', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(UniqueKey, self).__init__(**kwargs) - self.paths = kwargs.get('paths', None) - - -class UniqueKeyPolicy(msrest.serialization.Model): - """The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. - - :param unique_keys: List of unique keys on that enforces uniqueness constraint on documents in - the collection in the Azure Cosmos DB service. - :type unique_keys: list[~azure.mgmt.cosmosdb.models.UniqueKey] - """ - - _attribute_map = { - 'unique_keys': {'key': 'uniqueKeys', 'type': '[UniqueKey]'}, - } - - def __init__( - self, - **kwargs - ): - super(UniqueKeyPolicy, self).__init__(**kwargs) - self.unique_keys = kwargs.get('unique_keys', None) - - -class UsagesResult(msrest.serialization.Model): - """The response to a list usage request. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of usages for the database. A usage is a point in time metric. - :vartype value: list[~azure.mgmt.cosmosdb.models.Usage] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Usage]'}, - } - - def __init__( - self, - **kwargs - ): - super(UsagesResult, self).__init__(**kwargs) - self.value = None - - -class VirtualNetworkRule(msrest.serialization.Model): - """Virtual Network ACL Rule object. - - :param id: Resource ID of a subnet, for example: - /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type id: str - :param ignore_missing_v_net_service_endpoint: Create firewall rule before the virtual network - has vnet service endpoint enabled. - :type ignore_missing_v_net_service_endpoint: bool - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'ignore_missing_v_net_service_endpoint': {'key': 'ignoreMissingVNetServiceEndpoint', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(VirtualNetworkRule, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.ignore_missing_v_net_service_endpoint = kwargs.get('ignore_missing_v_net_service_endpoint', None) diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/_models_py3.py b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/_models_py3.py index 5d5e37718506..ae29bf02b433 100644 --- a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/_models_py3.py +++ b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/models/_models_py3.py @@ -9533,6 +9533,34 @@ def __init__( self.physical_partition_storage_info_collection = None +class PhysicalPartitionThroughputInfoProperties(msrest.serialization.Model): + """The properties of an Azure Cosmos DB PhysicalPartitionThroughputInfoProperties object. + + :ivar physical_partition_throughput_info: Array of physical partition throughput info objects. + :vartype physical_partition_throughput_info: + list[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResource] + """ + + _attribute_map = { + 'physical_partition_throughput_info': {'key': 'physicalPartitionThroughputInfo', 'type': '[PhysicalPartitionThroughputInfoResource]'}, + } + + def __init__( + self, + *, + physical_partition_throughput_info: Optional[List["PhysicalPartitionThroughputInfoResource"]] = None, + **kwargs + ): + """ + :keyword physical_partition_throughput_info: Array of physical partition throughput info + objects. + :paramtype physical_partition_throughput_info: + list[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResource] + """ + super(PhysicalPartitionThroughputInfoProperties, self).__init__(**kwargs) + self.physical_partition_throughput_info = physical_partition_throughput_info + + class PhysicalPartitionThroughputInfoResource(msrest.serialization.Model): """PhysicalPartitionThroughputInfo object. @@ -9571,6 +9599,105 @@ def __init__( self.throughput = throughput +class PhysicalPartitionThroughputInfoResult(ARMResourceProperties): + """An Azure Cosmos DB PhysicalPartitionThroughputInfoResult object. + + 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 + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: properties of physical partition throughput info. + :vartype resource: + ~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResultPropertiesResource + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + 'resource': {'key': 'properties.resource', 'type': 'PhysicalPartitionThroughputInfoResultPropertiesResource'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["PhysicalPartitionThroughputInfoResultPropertiesResource"] = None, + **kwargs + ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: properties of physical partition throughput info. + :paramtype resource: + ~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResultPropertiesResource + """ + super(PhysicalPartitionThroughputInfoResult, self).__init__(location=location, tags=tags, identity=identity, **kwargs) + self.resource = resource + + +class PhysicalPartitionThroughputInfoResultPropertiesResource(PhysicalPartitionThroughputInfoProperties): + """properties of physical partition throughput info. + + :ivar physical_partition_throughput_info: Array of physical partition throughput info objects. + :vartype physical_partition_throughput_info: + list[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResource] + """ + + _attribute_map = { + 'physical_partition_throughput_info': {'key': 'physicalPartitionThroughputInfo', 'type': '[PhysicalPartitionThroughputInfoResource]'}, + } + + def __init__( + self, + *, + physical_partition_throughput_info: Optional[List["PhysicalPartitionThroughputInfoResource"]] = None, + **kwargs + ): + """ + :keyword physical_partition_throughput_info: Array of physical partition throughput info + objects. + :paramtype physical_partition_throughput_info: + list[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResource] + """ + super(PhysicalPartitionThroughputInfoResultPropertiesResource, self).__init__(physical_partition_throughput_info=physical_partition_throughput_info, **kwargs) + + class Resource(msrest.serialization.Model): """Common fields that are returned in the response for all Azure Resource Manager resources. diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_cosmos_db_management_client_operations.py b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_cosmos_db_management_client_operations.py deleted file mode 100644 index 9666cad8e3fc..000000000000 --- a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_cosmos_db_management_client_operations.py +++ /dev/null @@ -1,148 +0,0 @@ -# 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 typing import TYPE_CHECKING -import warnings - -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse -from azure.mgmt.core.exceptions import ARMErrorFormat - -from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class CosmosDBManagementClientOperationsMixin(object): - - def location_list( - self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.LocationListResult"] - """List Cosmos DB locations and their properties. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either LocationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.LocationListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - if not next_link: - # Construct URL - url = self.location_list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('LocationListResult', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return None, iter(list_of_elem) - - def get_next(next_link=None): - request = prepare_request(next_link) - - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged( - get_next, extract_data - ) - location_list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations'} # type: ignore - - def location_get( - self, - location, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.LocationGetResult" - """Get the properties of an existing Cosmos DB location. - - :param location: Cosmos DB region, with spaces between words and each word capitalized. - :type location: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: LocationGetResult, or the result of cls(response) - :rtype: ~azure.mgmt.cosmosdb.models.LocationGetResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationGetResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.location_get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('LocationGetResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - location_get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}'} # type: ignore diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_mongo_db_resources_operations.py b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_mongo_db_resources_operations.py index 808b9bc49632..3525ab579ff9 100644 --- a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_mongo_db_resources_operations.py +++ b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_mongo_db_resources_operations.py @@ -341,7 +341,7 @@ def build_migrate_mongo_db_database_to_manual_throughput_request_initial( ) -def build_sql_container_retrieve_throughput_distribution_request_initial( +def build_mongo_db_container_retrieve_throughput_distribution_request_initial( subscription_id: str, resource_group_name: str, account_name: str, @@ -2022,7 +2022,7 @@ def get_long_running_output(pipeline_response): begin_migrate_mongo_db_database_to_manual_throughput.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput"} # type: ignore - def _sql_container_retrieve_throughput_distribution_initial( # pylint: disable=inconsistent-return-statements + def _mongo_db_container_retrieve_throughput_distribution_initial( self, resource_group_name: str, account_name: str, @@ -2030,8 +2030,8 @@ def _sql_container_retrieve_throughput_distribution_initial( # pylint: disable= collection_name: str, retrieve_throughput_parameters: "_models.RetrieveThroughputParameters", **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] + ) -> Optional["_models.PhysicalPartitionThroughputInfoResult"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PhysicalPartitionThroughputInfoResult"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -2042,7 +2042,7 @@ def _sql_container_retrieve_throughput_distribution_initial( # pylint: disable= _json = self._serialize.body(retrieve_throughput_parameters, 'RetrieveThroughputParameters') - request = build_sql_container_retrieve_throughput_distribution_request_initial( + request = build_mongo_db_container_retrieve_throughput_distribution_request_initial( subscription_id=self._config.subscription_id, resource_group_name=resource_group_name, account_name=account_name, @@ -2051,7 +2051,7 @@ def _sql_container_retrieve_throughput_distribution_initial( # pylint: disable= api_version=api_version, content_type=content_type, json=_json, - template_url=self._sql_container_retrieve_throughput_distribution_initial.metadata['url'], + template_url=self._mongo_db_container_retrieve_throughput_distribution_initial.metadata['url'], ) request = _convert_request(request) request.url = self._client.format_url(request.url) @@ -2063,18 +2063,24 @@ def _sql_container_retrieve_throughput_distribution_initial( # pylint: disable= ) response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized - _sql_container_retrieve_throughput_distribution_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore + _mongo_db_container_retrieve_throughput_distribution_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore @distributed_trace - def begin_sql_container_retrieve_throughput_distribution( # pylint: disable=inconsistent-return-statements + def begin_mongo_db_container_retrieve_throughput_distribution( self, resource_group_name: str, account_name: str, @@ -2082,7 +2088,7 @@ def begin_sql_container_retrieve_throughput_distribution( # pylint: disable=inc collection_name: str, retrieve_throughput_parameters: "_models.RetrieveThroughputParameters", **kwargs: Any - ) -> LROPoller[None]: + ) -> LROPoller["_models.PhysicalPartitionThroughputInfoResult"]: """Retrieve throughput distribution for an Azure Cosmos DB MongoDB container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2104,21 +2110,23 @@ def begin_sql_container_retrieve_throughput_distribution( # pylint: disable=inc :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[None] + :return: An instance of LROPoller that returns either PhysicalPartitionThroughputInfoResult or + the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResult] :raises: ~azure.core.exceptions.HttpResponseError """ api_version = kwargs.pop('api_version', "2022-02-15-preview") # type: str content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PhysicalPartitionThroughputInfoResult"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval ) cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: - raw_result = self._sql_container_retrieve_throughput_distribution_initial( + raw_result = self._mongo_db_container_retrieve_throughput_distribution_initial( resource_group_name=resource_group_name, account_name=account_name, database_name=database_name, @@ -2132,8 +2140,11 @@ def begin_sql_container_retrieve_throughput_distribution( # pylint: disable=inc kwargs.pop('error_map', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + return deserialized if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) @@ -2148,9 +2159,9 @@ def get_long_running_output(pipeline_response): ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_sql_container_retrieve_throughput_distribution.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore + begin_mongo_db_container_retrieve_throughput_distribution.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore - def _mongo_db_container_redistribute_throughput_initial( # pylint: disable=inconsistent-return-statements + def _mongo_db_container_redistribute_throughput_initial( self, resource_group_name: str, account_name: str, @@ -2158,8 +2169,8 @@ def _mongo_db_container_redistribute_throughput_initial( # pylint: disable=inco collection_name: str, redistribute_throughput_parameters: "_models.RedistributeThroughputParameters", **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] + ) -> Optional["_models.PhysicalPartitionThroughputInfoResult"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PhysicalPartitionThroughputInfoResult"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -2191,18 +2202,24 @@ def _mongo_db_container_redistribute_throughput_initial( # pylint: disable=inco ) response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized _mongo_db_container_redistribute_throughput_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/redistributeThroughput"} # type: ignore @distributed_trace - def begin_mongo_db_container_redistribute_throughput( # pylint: disable=inconsistent-return-statements + def begin_mongo_db_container_redistribute_throughput( self, resource_group_name: str, account_name: str, @@ -2210,7 +2227,7 @@ def begin_mongo_db_container_redistribute_throughput( # pylint: disable=inconsi collection_name: str, redistribute_throughput_parameters: "_models.RedistributeThroughputParameters", **kwargs: Any - ) -> LROPoller[None]: + ) -> LROPoller["_models.PhysicalPartitionThroughputInfoResult"]: """Redistribute throughput for an Azure Cosmos DB MongoDB container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2233,14 +2250,16 @@ def begin_mongo_db_container_redistribute_throughput( # pylint: disable=inconsi :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[None] + :return: An instance of LROPoller that returns either PhysicalPartitionThroughputInfoResult or + the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResult] :raises: ~azure.core.exceptions.HttpResponseError """ api_version = kwargs.pop('api_version', "2022-02-15-preview") # type: str content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PhysicalPartitionThroughputInfoResult"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval @@ -2261,8 +2280,11 @@ def begin_mongo_db_container_redistribute_throughput( # pylint: disable=inconsi kwargs.pop('error_map', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + return deserialized if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) diff --git a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_sql_resources_operations.py b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_sql_resources_operations.py index 79ce091105b5..e8d05b76a58b 100644 --- a/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_sql_resources_operations.py +++ b/sdk/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb/operations/_sql_resources_operations.py @@ -3951,7 +3951,7 @@ def get_long_running_output(pipeline_response): begin_migrate_sql_container_to_manual_throughput.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput"} # type: ignore - def _sql_container_retrieve_throughput_distribution_initial( # pylint: disable=inconsistent-return-statements + def _sql_container_retrieve_throughput_distribution_initial( self, resource_group_name: str, account_name: str, @@ -3959,8 +3959,8 @@ def _sql_container_retrieve_throughput_distribution_initial( # pylint: disable= container_name: str, retrieve_throughput_parameters: "_models.RetrieveThroughputParameters", **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] + ) -> Optional["_models.PhysicalPartitionThroughputInfoResult"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PhysicalPartitionThroughputInfoResult"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -3992,18 +3992,24 @@ def _sql_container_retrieve_throughput_distribution_initial( # pylint: disable= ) response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized _sql_container_retrieve_throughput_distribution_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore @distributed_trace - def begin_sql_container_retrieve_throughput_distribution( # pylint: disable=inconsistent-return-statements + def begin_sql_container_retrieve_throughput_distribution( self, resource_group_name: str, account_name: str, @@ -4011,7 +4017,7 @@ def begin_sql_container_retrieve_throughput_distribution( # pylint: disable=inc container_name: str, retrieve_throughput_parameters: "_models.RetrieveThroughputParameters", **kwargs: Any - ) -> LROPoller[None]: + ) -> LROPoller["_models.PhysicalPartitionThroughputInfoResult"]: """Retrieve throughput distribution for an Azure Cosmos DB SQL container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -4033,14 +4039,16 @@ def begin_sql_container_retrieve_throughput_distribution( # pylint: disable=inc :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[None] + :return: An instance of LROPoller that returns either PhysicalPartitionThroughputInfoResult or + the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResult] :raises: ~azure.core.exceptions.HttpResponseError """ api_version = kwargs.pop('api_version', "2022-02-15-preview") # type: str content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PhysicalPartitionThroughputInfoResult"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval @@ -4061,8 +4069,11 @@ def begin_sql_container_retrieve_throughput_distribution( # pylint: disable=inc kwargs.pop('error_map', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + return deserialized if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) @@ -4079,7 +4090,7 @@ def get_long_running_output(pipeline_response): begin_sql_container_retrieve_throughput_distribution.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/retrieveThroughputDistribution"} # type: ignore - def _sql_container_redistribute_throughput_initial( # pylint: disable=inconsistent-return-statements + def _sql_container_redistribute_throughput_initial( self, resource_group_name: str, account_name: str, @@ -4087,8 +4098,8 @@ def _sql_container_redistribute_throughput_initial( # pylint: disable=inconsist container_name: str, redistribute_throughput_parameters: "_models.RedistributeThroughputParameters", **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] + ) -> Optional["_models.PhysicalPartitionThroughputInfoResult"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PhysicalPartitionThroughputInfoResult"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -4120,18 +4131,24 @@ def _sql_container_redistribute_throughput_initial( # pylint: disable=inconsist ) response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized _sql_container_redistribute_throughput_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/redistributeThroughput"} # type: ignore @distributed_trace - def begin_sql_container_redistribute_throughput( # pylint: disable=inconsistent-return-statements + def begin_sql_container_redistribute_throughput( self, resource_group_name: str, account_name: str, @@ -4139,7 +4156,7 @@ def begin_sql_container_redistribute_throughput( # pylint: disable=inconsistent container_name: str, redistribute_throughput_parameters: "_models.RedistributeThroughputParameters", **kwargs: Any - ) -> LROPoller[None]: + ) -> LROPoller["_models.PhysicalPartitionThroughputInfoResult"]: """Redistribute throughput for an Azure Cosmos DB SQL container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -4162,14 +4179,16 @@ def begin_sql_container_redistribute_throughput( # pylint: disable=inconsistent :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[None] + :return: An instance of LROPoller that returns either PhysicalPartitionThroughputInfoResult or + the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.PhysicalPartitionThroughputInfoResult] :raises: ~azure.core.exceptions.HttpResponseError """ api_version = kwargs.pop('api_version', "2022-02-15-preview") # type: str content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PhysicalPartitionThroughputInfoResult"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval @@ -4190,8 +4209,11 @@ def begin_sql_container_redistribute_throughput( # pylint: disable=inconsistent kwargs.pop('error_map', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('PhysicalPartitionThroughputInfoResult', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + return deserialized if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)