From e156bda107337d228c02a9c898a774a5616b293d Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 22 Jun 2023 13:51:56 +0000 Subject: [PATCH] CodeGen from PR 24551 in Azure/azure-rest-api-specs Merge c57cabff1b122c7334b11d989a4979ab2f0e71e1 into 9aec843715b0bc99bef5bd26f50939ddc3f7b632 --- sdk/kusto/azure-mgmt-kusto/_meta.json | 6 +- .../azure/mgmt/kusto/_configuration.py | 13 +- .../mgmt/kusto/_kusto_management_client.py | 13 +- .../azure/mgmt/kusto/_serialization.py | 6 +- .../azure/mgmt/kusto/_version.py | 2 +- .../azure/mgmt/kusto/aio/_configuration.py | 13 +- .../kusto/aio/_kusto_management_client.py | 13 +- .../mgmt/kusto/aio/operations/__init__.py | 2 + ...ched_database_configurations_operations.py | 114 +-- ...luster_principal_assignments_operations.py | 108 +-- .../aio/operations/_clusters_operations.py | 617 +++++++++---- .../_data_connections_operations.py | 175 ++-- .../aio/operations/_database_operations.py | 205 +++++ ...tabase_principal_assignments_operations.py | 108 +-- .../aio/operations/_databases_operations.py | 218 ++--- .../_managed_private_endpoints_operations.py | 146 ++-- .../mgmt/kusto/aio/operations/_operations.py | 15 +- ..._operations_results_location_operations.py | 24 +- .../_operations_results_operations.py | 19 +- ...private_endpoint_connections_operations.py | 86 +- .../_private_link_resources_operations.py | 29 +- .../aio/operations/_scripts_operations.py | 144 ++-- .../kusto/aio/operations/_skus_operations.py | 17 +- .../azure/mgmt/kusto/models/__init__.py | 20 +- .../models/_kusto_management_client_enums.py | 10 +- .../azure/mgmt/kusto/models/_models_py3.py | 341 ++++++-- .../azure/mgmt/kusto/operations/__init__.py | 2 + ...ched_database_configurations_operations.py | 170 ++-- ...luster_principal_assignments_operations.py | 170 ++-- .../kusto/operations/_clusters_operations.py | 814 ++++++++++++------ .../_data_connections_operations.py | 267 +++--- .../kusto/operations/_database_operations.py | 245 ++++++ ...tabase_principal_assignments_operations.py | 180 ++-- .../kusto/operations/_databases_operations.py | 334 ++++--- .../_managed_private_endpoints_operations.py | 214 ++--- .../mgmt/kusto/operations/_operations.py | 17 +- ..._operations_results_location_operations.py | 32 +- .../_operations_results_operations.py | 27 +- ...private_endpoint_connections_operations.py | 132 +-- .../_private_link_resources_operations.py | 53 +- .../kusto/operations/_scripts_operations.py | 224 ++--- .../mgmt/kusto/operations/_skus_operations.py | 23 +- ...e_configuration_check_name_availability.py | 2 +- ...atabase_configurations_create_or_update.py | 2 +- ...attached_database_configurations_delete.py | 5 +- ...to_attached_database_configurations_get.py | 2 +- ...database_configurations_list_by_cluster.py | 2 +- .../kusto_cluster_add_language_extensions.py | 5 +- ...kusto_cluster_detach_follower_databases.py | 5 +- .../kusto_cluster_list_follower_databases.py | 2 +- .../kusto_cluster_list_language_extensions.py | 2 +- .../kusto_cluster_migrate.py | 43 + ...pal_assignments_check_name_availability.py | 2 +- ..._principal_assignments_create_or_update.py | 2 +- ...to_cluster_principal_assignments_delete.py | 5 +- ...kusto_cluster_principal_assignments_get.py | 2 +- ...usto_cluster_principal_assignments_list.py | 2 +- ...usto_cluster_remove_language_extensions.py | 5 +- .../kusto_clusters_check_name_availability.py | 2 +- .../kusto_clusters_create_or_update.py | 8 +- .../kusto_clusters_delete.py | 5 +- ...kusto_clusters_diagnose_virtual_network.py | 2 +- .../generated_samples/kusto_clusters_get.py | 2 +- .../generated_samples/kusto_clusters_list.py | 2 +- .../kusto_clusters_list_by_resource_group.py | 2 +- .../kusto_clusters_list_resource_skus.py | 2 +- .../kusto_clusters_list_skus.py | 2 +- .../generated_samples/kusto_clusters_start.py | 5 +- .../generated_samples/kusto_clusters_stop.py | 5 +- .../kusto_clusters_update.py | 2 +- ..._connection_event_grid_validation_async.py | 2 +- .../kusto_data_connection_validation_async.py | 2 +- ...ata_connections_check_name_availability.py | 2 +- ..._connections_cosmos_db_create_or_update.py | 2 +- .../kusto_data_connections_cosmos_db_get.py | 2 +- ...kusto_data_connections_cosmos_db_update.py | 2 +- ...kusto_data_connections_create_or_update.py | 2 +- .../kusto_data_connections_delete.py | 5 +- ...connections_event_grid_create_or_update.py | 2 +- .../kusto_data_connections_event_grid_get.py | 2 +- ...usto_data_connections_event_grid_update.py | 2 +- .../kusto_data_connections_get.py | 2 +- ...kusto_data_connections_list_by_database.py | 2 +- .../kusto_data_connections_update.py | 2 +- .../kusto_database_add_principals.py | 2 +- .../kusto_database_invite_follower.py | 55 ++ .../kusto_database_list_principals.py | 2 +- ...pal_assignments_check_name_availability.py | 2 +- ..._principal_assignments_create_or_update.py | 2 +- ...o_database_principal_assignments_delete.py | 5 +- ...usto_database_principal_assignments_get.py | 2 +- ...sto_database_principal_assignments_list.py | 2 +- .../kusto_database_readonly_update.py | 2 +- .../kusto_database_remove_principals.py | 2 +- ...kusto_databases_check_name_availability.py | 2 +- .../kusto_databases_create_or_update.py | 2 +- .../kusto_databases_delete.py | 5 +- .../generated_samples/kusto_databases_get.py | 2 +- .../kusto_databases_list_by_cluster.py | 2 +- .../kusto_databases_update.py | 2 +- ...ivate_endpoints_check_name_availability.py | 2 +- ...aged_private_endpoints_create_or_update.py | 2 +- .../kusto_managed_private_endpoints_delete.py | 5 +- .../kusto_managed_private_endpoints_get.py | 2 +- .../kusto_managed_private_endpoints_list.py | 2 +- .../kusto_managed_private_endpoints_update.py | 2 +- .../kusto_operation_results_get.py | 2 +- ...ults_operation_result_response_type_get.py | 5 +- .../kusto_operations_list.py | 2 +- ...usto_outbound_network_dependencies_list.py | 2 +- ...e_endpoint_connections_create_or_update.py | 2 +- ...sto_private_endpoint_connections_delete.py | 5 +- .../kusto_private_endpoint_connections_get.py | 2 +- ...kusto_private_endpoint_connections_list.py | 2 +- .../kusto_private_link_resources_get.py | 2 +- .../kusto_private_link_resources_list.py | 2 +- .../kusto_scripts_check_name_availability.py | 2 +- .../kusto_scripts_create_or_update.py | 2 +- .../generated_samples/kusto_scripts_delete.py | 5 +- .../generated_samples/kusto_scripts_get.py | 2 +- .../kusto_scripts_list_by_database.py | 2 +- .../generated_samples/kusto_scripts_update.py | 2 +- .../generated_samples/kusto_skus.py | 2 +- .../kusto_suspended_databases_get.py | 42 + 124 files changed, 3666 insertions(+), 2051 deletions(-) create mode 100644 sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_database_operations.py create mode 100644 sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_database_operations.py create mode 100644 sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_migrate.py create mode 100644 sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_invite_follower.py create mode 100644 sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_suspended_databases_get.py diff --git a/sdk/kusto/azure-mgmt-kusto/_meta.json b/sdk/kusto/azure-mgmt-kusto/_meta.json index 1620c3466ba7..eb45338f1777 100644 --- a/sdk/kusto/azure-mgmt-kusto/_meta.json +++ b/sdk/kusto/azure-mgmt-kusto/_meta.json @@ -1,11 +1,11 @@ { - "commit": "78ec1b99699a4bf44869bd13f1b0ed7d92a99c27", + "commit": "b6b81994e26d3521459dea3e6e1bf181556509c8", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "autorest": "3.9.2", "use": [ - "@autorest/python@6.2.16", + "@autorest/python@6.6.0", "@autorest/modelerfour@4.24.3" ], - "autorest_command": "autorest specification/azure-kusto/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.2.16 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False", + "autorest_command": "autorest specification/azure-kusto/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-python/sdk --use=@autorest/python@6.6.0 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False", "readme": "specification/azure-kusto/resource-manager/readme.md" } \ No newline at end of file diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_configuration.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_configuration.py index edad8654a0c1..a1ec1c79ee90 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_configuration.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_configuration.py @@ -6,7 +6,6 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, TYPE_CHECKING from azure.core.configuration import Configuration @@ -15,11 +14,6 @@ from ._version import VERSION -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports - if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential @@ -33,17 +27,16 @@ class KustoManagementClientConfiguration(Configuration): # pylint: disable=too- :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: Gets subscription credentials which uniquely identify Microsoft Azure - subscription. The subscription ID forms part of the URI for every service call. Required. + :param subscription_id: The ID of the target subscription. Required. :type subscription_id: str - :keyword api_version: Api Version. Default value is "2022-12-29". Note that overriding this + :keyword api_version: Api Version. Default value is "2023-05-02". Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str """ def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None: super(KustoManagementClientConfiguration, self).__init__(**kwargs) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", "2022-12-29") + api_version: str = kwargs.pop("api_version", "2023-05-02") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_kusto_management_client.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_kusto_management_client.py index 75d0ce3336a4..d4d9aaf2f7f8 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_kusto_management_client.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_kusto_management_client.py @@ -20,6 +20,7 @@ ClusterPrincipalAssignmentsOperations, ClustersOperations, DataConnectionsOperations, + DatabaseOperations, DatabasePrincipalAssignmentsOperations, DatabasesOperations, ManagedPrivateEndpointsOperations, @@ -57,6 +58,8 @@ class KustoManagementClient: # pylint: disable=client-accepts-api-version-keywo :ivar managed_private_endpoints: ManagedPrivateEndpointsOperations operations :vartype managed_private_endpoints: azure.mgmt.kusto.operations.ManagedPrivateEndpointsOperations + :ivar database: DatabaseOperations operations + :vartype database: azure.mgmt.kusto.operations.DatabaseOperations :ivar database_principal_assignments: DatabasePrincipalAssignmentsOperations operations :vartype database_principal_assignments: azure.mgmt.kusto.operations.DatabasePrincipalAssignmentsOperations @@ -78,12 +81,11 @@ class KustoManagementClient: # pylint: disable=client-accepts-api-version-keywo azure.mgmt.kusto.operations.OperationsResultsLocationOperations :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: Gets subscription credentials which uniquely identify Microsoft Azure - subscription. The subscription ID forms part of the URI for every service call. Required. + :param subscription_id: The ID of the target subscription. Required. :type subscription_id: str :param base_url: Service URL. Default value is "https://management.azure.com". :type base_url: str - :keyword api_version: Api Version. Default value is "2022-12-29". Note that overriding this + :keyword api_version: Api Version. Default value is "2023-05-02". Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no @@ -100,7 +102,7 @@ def __init__( self._config = KustoManagementClientConfiguration( credential=credential, subscription_id=subscription_id, **kwargs ) - self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client: ARMPipelineClient = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) @@ -118,6 +120,7 @@ def __init__( self.managed_private_endpoints = ManagedPrivateEndpointsOperations( self._client, self._config, self._serialize, self._deserialize ) + self.database = DatabaseOperations(self._client, self._config, self._serialize, self._deserialize) self.database_principal_assignments = DatabasePrincipalAssignmentsOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -168,5 +171,5 @@ def __enter__(self) -> "KustoManagementClient": self._client.__enter__() return self - def __exit__(self, *exc_details) -> None: + def __exit__(self, *exc_details: Any) -> None: self._client.__exit__(*exc_details) diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_serialization.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_serialization.py index f17c068e833e..842ae727fbbc 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_serialization.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_serialization.py @@ -629,7 +629,7 @@ def _serialize(self, target_obj, data_type=None, **kwargs): if xml_desc.get("attr", False): if xml_ns: ET.register_namespace(xml_prefix, xml_ns) - xml_name = "{}{}".format(xml_ns, xml_name) + xml_name = "{{{}}}{}".format(xml_ns, xml_name) serialized.set(xml_name, new_attr) # type: ignore continue if xml_desc.get("text", False): @@ -1271,7 +1271,7 @@ def _extract_name_from_internal_type(internal_type): xml_name = internal_type_xml_map.get("name", internal_type.__name__) xml_ns = internal_type_xml_map.get("ns", None) if xml_ns: - xml_name = "{}{}".format(xml_ns, xml_name) + xml_name = "{{{}}}{}".format(xml_ns, xml_name) return xml_name @@ -1295,7 +1295,7 @@ def xml_key_extractor(attr, attr_desc, data): # Integrate namespace if necessary xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None)) if xml_ns: - xml_name = "{}{}".format(xml_ns, xml_name) + xml_name = "{{{}}}{}".format(xml_ns, xml_name) # If it's an attribute, that's simple if xml_desc.get("attr", False): diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_version.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_version.py index 47babc28d5ed..e32dc6ec4218 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_version.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "3.1.0" +VERSION = "2.0.0b1" diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/_configuration.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/_configuration.py index 49079b14674d..a1b200e32541 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/_configuration.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/_configuration.py @@ -6,7 +6,6 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, TYPE_CHECKING from azure.core.configuration import Configuration @@ -15,11 +14,6 @@ from .._version import VERSION -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports - if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential @@ -33,17 +27,16 @@ class KustoManagementClientConfiguration(Configuration): # pylint: disable=too- :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: Gets subscription credentials which uniquely identify Microsoft Azure - subscription. The subscription ID forms part of the URI for every service call. Required. + :param subscription_id: The ID of the target subscription. Required. :type subscription_id: str - :keyword api_version: Api Version. Default value is "2022-12-29". Note that overriding this + :keyword api_version: Api Version. Default value is "2023-05-02". Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str """ def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **kwargs: Any) -> None: super(KustoManagementClientConfiguration, self).__init__(**kwargs) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", "2022-12-29") + api_version: str = kwargs.pop("api_version", "2023-05-02") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/_kusto_management_client.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/_kusto_management_client.py index 186f88a6e76c..7d46899bb7da 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/_kusto_management_client.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/_kusto_management_client.py @@ -20,6 +20,7 @@ ClusterPrincipalAssignmentsOperations, ClustersOperations, DataConnectionsOperations, + DatabaseOperations, DatabasePrincipalAssignmentsOperations, DatabasesOperations, ManagedPrivateEndpointsOperations, @@ -57,6 +58,8 @@ class KustoManagementClient: # pylint: disable=client-accepts-api-version-keywo :ivar managed_private_endpoints: ManagedPrivateEndpointsOperations operations :vartype managed_private_endpoints: azure.mgmt.kusto.aio.operations.ManagedPrivateEndpointsOperations + :ivar database: DatabaseOperations operations + :vartype database: azure.mgmt.kusto.aio.operations.DatabaseOperations :ivar database_principal_assignments: DatabasePrincipalAssignmentsOperations operations :vartype database_principal_assignments: azure.mgmt.kusto.aio.operations.DatabasePrincipalAssignmentsOperations @@ -78,12 +81,11 @@ class KustoManagementClient: # pylint: disable=client-accepts-api-version-keywo azure.mgmt.kusto.aio.operations.OperationsResultsLocationOperations :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: Gets subscription credentials which uniquely identify Microsoft Azure - subscription. The subscription ID forms part of the URI for every service call. Required. + :param subscription_id: The ID of the target subscription. Required. :type subscription_id: str :param base_url: Service URL. Default value is "https://management.azure.com". :type base_url: str - :keyword api_version: Api Version. Default value is "2022-12-29". Note that overriding this + :keyword api_version: Api Version. Default value is "2023-05-02". Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no @@ -100,7 +102,7 @@ def __init__( self._config = KustoManagementClientConfiguration( credential=credential, subscription_id=subscription_id, **kwargs ) - self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client: AsyncARMPipelineClient = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) @@ -118,6 +120,7 @@ def __init__( self.managed_private_endpoints = ManagedPrivateEndpointsOperations( self._client, self._config, self._serialize, self._deserialize ) + self.database = DatabaseOperations(self._client, self._config, self._serialize, self._deserialize) self.database_principal_assignments = DatabasePrincipalAssignmentsOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -168,5 +171,5 @@ async def __aenter__(self) -> "KustoManagementClient": await self._client.__aenter__() return self - async def __aexit__(self, *exc_details) -> None: + async def __aexit__(self, *exc_details: Any) -> None: await self._client.__aexit__(*exc_details) diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/__init__.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/__init__.py index 9730dc492f1b..cae10efe6d88 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/__init__.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/__init__.py @@ -12,6 +12,7 @@ from ._databases_operations import DatabasesOperations from ._attached_database_configurations_operations import AttachedDatabaseConfigurationsOperations from ._managed_private_endpoints_operations import ManagedPrivateEndpointsOperations +from ._database_operations import DatabaseOperations from ._database_principal_assignments_operations import DatabasePrincipalAssignmentsOperations from ._scripts_operations import ScriptsOperations from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations @@ -32,6 +33,7 @@ "DatabasesOperations", "AttachedDatabaseConfigurationsOperations", "ManagedPrivateEndpointsOperations", + "DatabaseOperations", "DatabasePrincipalAssignmentsOperations", "ScriptsOperations", "PrivateEndpointConnectionsOperations", diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_attached_database_configurations_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_attached_database_configurations_operations.py index 5e55fe8b00da..5b283d408017 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_attached_database_configurations_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_attached_database_configurations_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -39,10 +39,6 @@ build_list_by_cluster_request, ) -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -79,7 +75,7 @@ async def check_name_availability( """Checks that the attached database configuration resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -108,7 +104,7 @@ async def check_name_availability( """Checks that the attached database configuration resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -135,12 +131,13 @@ async def check_name_availability( """Checks that the attached database configuration resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param resource_name: The name of the resource. Is either a model type or a IO type. Required. + :param resource_name: The name of the resource. Is either a + AttachedDatabaseConfigurationsCheckNameRequest type or a IO type. Required. :type resource_name: ~azure.mgmt.kusto.models.AttachedDatabaseConfigurationsCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -162,16 +159,14 @@ async def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(resource_name, (IO, bytes)): + if isinstance(resource_name, (IOBase, bytes)): _content = resource_name else: _json = self._serialize.body(resource_name, "AttachedDatabaseConfigurationsCheckNameRequest") @@ -191,15 +186,17 @@ async def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -218,7 +215,7 @@ def list_by_cluster( ) -> AsyncIterable["_models.AttachedDatabaseConfiguration"]: """Returns the list of attached database configurations of the given Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -233,9 +230,7 @@ def list_by_cluster( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.AttachedDatabaseConfigurationListResult] = kwargs.pop("cls", None) error_map = { @@ -289,14 +284,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -312,7 +309,7 @@ async def get( ) -> _models.AttachedDatabaseConfiguration: """Returns an attached database configuration. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -336,9 +333,7 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.AttachedDatabaseConfiguration] = kwargs.pop("cls", None) request = build_get_request( @@ -354,15 +349,17 @@ async def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("AttachedDatabaseConfiguration", pipeline_response) @@ -394,16 +391,14 @@ async def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.AttachedDatabaseConfiguration] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "AttachedDatabaseConfiguration") @@ -424,16 +419,19 @@ async def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("AttachedDatabaseConfiguration", pipeline_response) @@ -441,10 +439,14 @@ async def _create_or_update_initial( deserialized = self._deserialize("AttachedDatabaseConfiguration", pipeline_response) if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + deserialized = self._deserialize("AttachedDatabaseConfiguration", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @@ -465,7 +467,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.AttachedDatabaseConfiguration]: """Creates or updates an attached database configuration. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -506,7 +508,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.AttachedDatabaseConfiguration]: """Creates or updates an attached database configuration. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -545,7 +547,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.AttachedDatabaseConfiguration]: """Creates or updates an attached database configuration. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -554,7 +556,7 @@ async def begin_create_or_update( Required. :type attached_database_configuration_name: str :param parameters: The database parameters supplied to the CreateOrUpdate operation. Is either - a model type or a IO type. Required. + a AttachedDatabaseConfiguration type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.AttachedDatabaseConfiguration or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -576,9 +578,7 @@ async def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.AttachedDatabaseConfiguration] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -606,7 +606,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -638,9 +640,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -656,18 +656,26 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}" @@ -679,7 +687,7 @@ async def begin_delete( ) -> AsyncLROPoller[None]: """Deletes the attached database configuration with the given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -702,9 +710,7 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -727,7 +733,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_cluster_principal_assignments_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_cluster_principal_assignments_operations.py index 12452d14077c..197449209405 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_cluster_principal_assignments_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_cluster_principal_assignments_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -39,10 +39,6 @@ build_list_request, ) -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -78,7 +74,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the principal assignment name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -107,7 +103,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the principal assignment name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -133,13 +129,13 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the principal assignment name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param principal_assignment_name: The name of the principal assignment. Is either a model type - or a IO type. Required. + :param principal_assignment_name: The name of the principal assignment. Is either a + ClusterPrincipalAssignmentCheckNameRequest type or a IO type. Required. :type principal_assignment_name: ~azure.mgmt.kusto.models.ClusterPrincipalAssignmentCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -161,16 +157,14 @@ async def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(principal_assignment_name, (IO, bytes)): + if isinstance(principal_assignment_name, (IOBase, bytes)): _content = principal_assignment_name else: _json = self._serialize.body(principal_assignment_name, "ClusterPrincipalAssignmentCheckNameRequest") @@ -190,15 +184,17 @@ async def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -217,7 +213,7 @@ async def get( ) -> _models.ClusterPrincipalAssignment: """Gets a Kusto cluster principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -240,9 +236,7 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ClusterPrincipalAssignment] = kwargs.pop("cls", None) request = build_get_request( @@ -258,15 +252,17 @@ async def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("ClusterPrincipalAssignment", pipeline_response) @@ -298,16 +294,14 @@ async def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ClusterPrincipalAssignment] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "ClusterPrincipalAssignment") @@ -328,15 +322,17 @@ async def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize("ClusterPrincipalAssignment", pipeline_response) @@ -366,7 +362,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.ClusterPrincipalAssignment]: """Create a Kusto cluster principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -406,7 +402,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.ClusterPrincipalAssignment]: """Create a Kusto cluster principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -444,7 +440,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.ClusterPrincipalAssignment]: """Create a Kusto cluster principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -452,7 +448,7 @@ async def begin_create_or_update( :param principal_assignment_name: The name of the Kusto principalAssignment. Required. :type principal_assignment_name: str :param parameters: The Kusto cluster principalAssignment's parameters supplied for the - operation. Is either a model type or a IO type. Required. + operation. Is either a ClusterPrincipalAssignment type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.ClusterPrincipalAssignment or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -473,9 +469,7 @@ async def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ClusterPrincipalAssignment] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -503,7 +497,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -535,9 +531,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -553,18 +547,26 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}" @@ -576,7 +578,7 @@ async def begin_delete( ) -> AsyncLROPoller[None]: """Deletes a Kusto cluster principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -598,9 +600,7 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -623,7 +623,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -647,7 +649,7 @@ def list( ) -> AsyncIterable["_models.ClusterPrincipalAssignment"]: """Lists all Kusto cluster principalAssignments. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -662,9 +664,7 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ClusterPrincipalAssignmentListResult] = kwargs.pop("cls", None) error_map = { @@ -718,14 +718,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_clusters_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_clusters_operations.py index 70bbbce3b50a..76a29ccc2a89 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_clusters_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_clusters_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -46,16 +46,13 @@ build_list_request, build_list_skus_by_resource_request, build_list_skus_request, + build_migrate_request, build_remove_language_extensions_request, build_start_request, build_stop_request, build_update_request, ) -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -83,7 +80,7 @@ def __init__(self, *args, **kwargs) -> None: async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _models.Cluster: """Gets a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -104,9 +101,7 @@ async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) request = build_get_request( @@ -121,15 +116,17 @@ async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("Cluster", pipeline_response) @@ -162,16 +159,14 @@ async def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "Cluster") @@ -193,15 +188,17 @@ async def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize("Cluster", pipeline_response) @@ -232,7 +229,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.Cluster]: """Create or update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -279,7 +276,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.Cluster]: """Create or update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -324,13 +321,13 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.Cluster]: """Create or update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param parameters: The Kusto cluster parameters supplied to the CreateOrUpdate operation. Is - either a model type or a IO type. Required. + either a Cluster type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.Cluster or IO :param if_match: The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent @@ -359,9 +356,7 @@ async def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -390,7 +385,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -427,16 +424,14 @@ async def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "ClusterUpdate") @@ -457,15 +452,17 @@ async def _update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 200: @@ -507,7 +504,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.Cluster]: """Update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -548,7 +545,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.Cluster]: """Update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -587,13 +584,13 @@ async def begin_update( ) -> AsyncLROPoller[_models.Cluster]: """Update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param parameters: The Kusto cluster parameters supplied to the Update operation. Is either a - model type or a IO type. Required. + ClusterUpdate type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.ClusterUpdate or IO :param if_match: The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent @@ -618,9 +615,7 @@ async def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -648,7 +643,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -680,9 +677,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -697,18 +692,26 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}" @@ -718,7 +721,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements async def begin_delete(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> AsyncLROPoller[None]: """Deletes a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -738,9 +741,7 @@ async def begin_delete(self, resource_group_name: str, cluster_name: str, **kwar _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -762,7 +763,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -794,9 +797,7 @@ async def _stop_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_stop_request( @@ -811,18 +812,26 @@ async def _stop_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _stop_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop" @@ -832,7 +841,7 @@ async def _stop_initial( # pylint: disable=inconsistent-return-statements async def begin_stop(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> AsyncLROPoller[None]: """Stops a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -852,9 +861,7 @@ async def begin_stop(self, resource_group_name: str, cluster_name: str, **kwargs _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -876,7 +883,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -908,9 +917,7 @@ async def _start_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_start_request( @@ -925,18 +932,26 @@ async def _start_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _start_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start" @@ -946,7 +961,7 @@ async def _start_initial( # pylint: disable=inconsistent-return-statements async def begin_start(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> AsyncLROPoller[None]: """Starts a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -966,9 +981,7 @@ async def begin_start(self, resource_group_name: str, cluster_name: str, **kwarg _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -990,7 +1003,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -1008,6 +1023,227 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start" } + async def _migrate_initial( # pylint: disable=inconsistent-return-statements + self, + resource_group_name: str, + cluster_name: str, + cluster_migrate_request: Union[_models.ClusterMigrateRequest, IO], + **kwargs: Any + ) -> None: + error_map = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[None] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(cluster_migrate_request, (IOBase, bytes)): + _content = cluster_migrate_request + else: + _json = self._serialize.body(cluster_migrate_request, "ClusterMigrateRequest") + + request = build_migrate_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + template_url=self._migrate_initial.metadata["url"], + headers=_headers, + params=_params, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + if cls: + return cls(pipeline_response, None, response_headers) + + _migrate_initial.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/migrate" + } + + @overload + async def begin_migrate( + self, + resource_group_name: str, + cluster_name: str, + cluster_migrate_request: _models.ClusterMigrateRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Migrate data from a Kusto cluster to another cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param cluster_migrate_request: The cluster migrate request parameters. Required. + :type cluster_migrate_request: ~azure.mgmt.kusto.models.ClusterMigrateRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :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] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_migrate( + self, + resource_group_name: str, + cluster_name: str, + cluster_migrate_request: IO, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Migrate data from a Kusto cluster to another cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param cluster_migrate_request: The cluster migrate request parameters. Required. + :type cluster_migrate_request: IO + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :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] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_migrate( + self, + resource_group_name: str, + cluster_name: str, + cluster_migrate_request: Union[_models.ClusterMigrateRequest, IO], + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Migrate data from a Kusto cluster to another cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param cluster_migrate_request: The cluster migrate request parameters. Is either a + ClusterMigrateRequest type or a IO type. Required. + :type cluster_migrate_request: ~azure.mgmt.kusto.models.ClusterMigrateRequest or IO + :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. + Default value is None. + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :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] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = await self._migrate_initial( # type: ignore + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_migrate_request=cluster_migrate_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + begin_migrate.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/migrate" + } + @distributed_trace def list_follower_databases( self, resource_group_name: str, cluster_name: str, **kwargs: Any @@ -1015,7 +1251,7 @@ def list_follower_databases( """Returns a list of databases that are owned by this cluster and were followed by another cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1030,9 +1266,7 @@ def list_follower_databases( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.FollowerDatabaseListResult] = kwargs.pop("cls", None) error_map = { @@ -1086,14 +1320,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1121,16 +1357,14 @@ async def _detach_follower_databases_initial( # pylint: disable=inconsistent-re _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(follower_database_to_remove, (IO, bytes)): + if isinstance(follower_database_to_remove, (IOBase, bytes)): _content = follower_database_to_remove else: _json = self._serialize.body(follower_database_to_remove, "FollowerDatabaseDefinition") @@ -1150,18 +1384,26 @@ async def _detach_follower_databases_initial( # pylint: disable=inconsistent-re request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _detach_follower_databases_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases" @@ -1179,7 +1421,7 @@ async def begin_detach_follower_databases( ) -> AsyncLROPoller[None]: """Detaches all followers of a database owned by this cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1214,7 +1456,7 @@ async def begin_detach_follower_databases( ) -> AsyncLROPoller[None]: """Detaches all followers of a database owned by this cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1247,13 +1489,13 @@ async def begin_detach_follower_databases( ) -> AsyncLROPoller[None]: """Detaches all followers of a database owned by this cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param follower_database_to_remove: The follower databases properties to remove. Is either a - model type or a IO type. Required. + FollowerDatabaseDefinition type or a IO type. Required. :type follower_database_to_remove: ~azure.mgmt.kusto.models.FollowerDatabaseDefinition or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -1273,9 +1515,7 @@ async def begin_detach_follower_databases( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -1300,7 +1540,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -1332,9 +1574,7 @@ async def _diagnose_virtual_network_initial( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[Optional[_models.DiagnoseVirtualNetworkResult]] = kwargs.pop("cls", None) request = build_diagnose_virtual_network_request( @@ -1349,22 +1589,30 @@ async def _diagnose_virtual_network_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("DiagnoseVirtualNetworkResult", pipeline_response) + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, response_headers) return deserialized @@ -1379,7 +1627,7 @@ async def begin_diagnose_virtual_network( """Diagnoses network connectivity status for external resources on which the service is dependent on. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1401,9 +1649,7 @@ async def begin_diagnose_virtual_network( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DiagnoseVirtualNetworkResult] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1451,7 +1697,7 @@ def get_long_running_output(pipeline_response): def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> AsyncIterable["_models.Cluster"]: """Lists all Kusto clusters within a resource group. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :keyword callable cls: A custom type or function that will be passed the direct response @@ -1462,9 +1708,7 @@ def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Asy _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ClusterListResult] = kwargs.pop("cls", None) error_map = { @@ -1517,14 +1761,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1546,9 +1792,7 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.Cluster"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ClusterListResult] = kwargs.pop("cls", None) error_map = { @@ -1600,14 +1844,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1627,9 +1873,7 @@ def list_skus(self, **kwargs: Any) -> AsyncIterable["_models.SkuDescription"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.SkuDescriptionList] = kwargs.pop("cls", None) error_map = { @@ -1681,14 +1925,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1707,7 +1953,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the cluster name is valid and is not already in use. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str :param cluster_name: The name of the cluster. Required. :type cluster_name: ~azure.mgmt.kusto.models.ClusterCheckNameRequest @@ -1726,7 +1972,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the cluster name is valid and is not already in use. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str :param cluster_name: The name of the cluster. Required. :type cluster_name: IO @@ -1745,9 +1991,10 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the cluster name is valid and is not already in use. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str - :param cluster_name: The name of the cluster. Is either a model type or a IO type. Required. + :param cluster_name: The name of the cluster. Is either a ClusterCheckNameRequest type or a IO + type. Required. :type cluster_name: ~azure.mgmt.kusto.models.ClusterCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -1768,16 +2015,14 @@ async def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(cluster_name, (IO, bytes)): + if isinstance(cluster_name, (IOBase, bytes)): _content = cluster_name else: _json = self._serialize.body(cluster_name, "ClusterCheckNameRequest") @@ -1796,15 +2041,17 @@ async def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -1823,7 +2070,7 @@ def list_skus_by_resource( ) -> AsyncIterable["_models.AzureResourceSku"]: """Returns the SKUs available for the provided resource. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1836,9 +2083,7 @@ def list_skus_by_resource( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ListResourceSkusResult] = kwargs.pop("cls", None) error_map = { @@ -1892,14 +2137,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1915,7 +2162,7 @@ def list_outbound_network_dependencies_endpoints( ) -> AsyncIterable["_models.OutboundNetworkDependenciesEndpoint"]: """Gets the network endpoints of all outbound dependencies of a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1930,9 +2177,7 @@ def list_outbound_network_dependencies_endpoints( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.OutboundNetworkDependenciesEndpointListResult] = kwargs.pop("cls", None) error_map = { @@ -1986,14 +2231,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2009,7 +2256,7 @@ def list_language_extensions( ) -> AsyncIterable["_models.LanguageExtension"]: """Returns a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2022,9 +2269,7 @@ def list_language_extensions( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.LanguageExtensionsList] = kwargs.pop("cls", None) error_map = { @@ -2078,14 +2323,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2113,16 +2360,14 @@ async def _add_language_extensions_initial( # pylint: disable=inconsistent-retu _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(language_extensions_to_add, (IO, bytes)): + if isinstance(language_extensions_to_add, (IOBase, bytes)): _content = language_extensions_to_add else: _json = self._serialize.body(language_extensions_to_add, "LanguageExtensionsList") @@ -2142,18 +2387,26 @@ async def _add_language_extensions_initial( # pylint: disable=inconsistent-retu request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _add_language_extensions_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions" @@ -2171,7 +2424,7 @@ async def begin_add_language_extensions( ) -> AsyncLROPoller[None]: """Add a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2206,7 +2459,7 @@ async def begin_add_language_extensions( ) -> AsyncLROPoller[None]: """Add a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2239,13 +2492,13 @@ async def begin_add_language_extensions( ) -> AsyncLROPoller[None]: """Add a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param language_extensions_to_add: The language extensions to add. Is either a model type or a - IO type. Required. + :param language_extensions_to_add: The language extensions to add. Is either a + LanguageExtensionsList type or a IO type. Required. :type language_extensions_to_add: ~azure.mgmt.kusto.models.LanguageExtensionsList or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -2265,9 +2518,7 @@ async def begin_add_language_extensions( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -2292,7 +2543,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -2328,16 +2581,14 @@ async def _remove_language_extensions_initial( # pylint: disable=inconsistent-r _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(language_extensions_to_remove, (IO, bytes)): + if isinstance(language_extensions_to_remove, (IOBase, bytes)): _content = language_extensions_to_remove else: _json = self._serialize.body(language_extensions_to_remove, "LanguageExtensionsList") @@ -2357,18 +2608,26 @@ async def _remove_language_extensions_initial( # pylint: disable=inconsistent-r request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _remove_language_extensions_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions" @@ -2386,7 +2645,7 @@ async def begin_remove_language_extensions( ) -> AsyncLROPoller[None]: """Remove a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2421,7 +2680,7 @@ async def begin_remove_language_extensions( ) -> AsyncLROPoller[None]: """Remove a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2454,13 +2713,13 @@ async def begin_remove_language_extensions( ) -> AsyncLROPoller[None]: """Remove a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param language_extensions_to_remove: The language extensions to remove. Is either a model type - or a IO type. Required. + :param language_extensions_to_remove: The language extensions to remove. Is either a + LanguageExtensionsList type or a IO type. Required. :type language_extensions_to_remove: ~azure.mgmt.kusto.models.LanguageExtensionsList or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -2480,9 +2739,7 @@ async def begin_remove_language_extensions( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -2507,7 +2764,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_data_connections_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_data_connections_operations.py index 7f5c05c5198a..4ae33560b471 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_data_connections_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_data_connections_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -41,10 +41,6 @@ build_update_request, ) -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -74,7 +70,7 @@ def list_by_database( ) -> AsyncIterable["_models.DataConnection"]: """Returns the list of data connections of the given Kusto database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -89,9 +85,7 @@ def list_by_database( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DataConnectionListResult] = kwargs.pop("cls", None) error_map = { @@ -146,14 +140,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -182,16 +178,14 @@ async def _data_connection_validation_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[Optional[_models.DataConnectionValidationListResult]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "DataConnectionValidation") @@ -212,22 +206,30 @@ async def _data_connection_validation_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("DataConnectionValidationListResult", pipeline_response) + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, response_headers) return deserialized @@ -248,7 +250,7 @@ async def begin_data_connection_validation( ) -> AsyncLROPoller[_models.DataConnectionValidationListResult]: """Checks that the data connection parameters are valid. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -289,7 +291,7 @@ async def begin_data_connection_validation( ) -> AsyncLROPoller[_models.DataConnectionValidationListResult]: """Checks that the data connection parameters are valid. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -328,7 +330,7 @@ async def begin_data_connection_validation( ) -> AsyncLROPoller[_models.DataConnectionValidationListResult]: """Checks that the data connection parameters are valid. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -336,7 +338,7 @@ async def begin_data_connection_validation( :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str :param parameters: The data connection parameters supplied to the CreateOrUpdate operation. Is - either a model type or a IO type. Required. + either a DataConnectionValidation type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.DataConnectionValidation or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -358,9 +360,7 @@ async def begin_data_connection_validation( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DataConnectionValidationListResult] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -421,7 +421,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the data connection name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -452,7 +452,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the data connection name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -481,15 +481,15 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the data connection name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param data_connection_name: The name of the data connection. Is either a model type or a IO - type. Required. + :param data_connection_name: The name of the data connection. Is either a + DataConnectionCheckNameRequest type or a IO type. Required. :type data_connection_name: ~azure.mgmt.kusto.models.DataConnectionCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -510,16 +510,14 @@ async def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(data_connection_name, (IO, bytes)): + if isinstance(data_connection_name, (IOBase, bytes)): _content = data_connection_name else: _json = self._serialize.body(data_connection_name, "DataConnectionCheckNameRequest") @@ -540,15 +538,17 @@ async def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -567,7 +567,7 @@ async def get( ) -> _models.DataConnection: """Returns a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -592,9 +592,7 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DataConnection] = kwargs.pop("cls", None) request = build_get_request( @@ -611,15 +609,17 @@ async def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("DataConnection", pipeline_response) @@ -652,16 +652,14 @@ async def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DataConnection] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "DataConnection") @@ -683,16 +681,19 @@ async def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("DataConnection", pipeline_response) @@ -700,10 +701,14 @@ async def _create_or_update_initial( deserialized = self._deserialize("DataConnection", pipeline_response) if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + deserialized = self._deserialize("DataConnection", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @@ -725,7 +730,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.DataConnection]: """Creates or updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -768,7 +773,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.DataConnection]: """Creates or updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -809,7 +814,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.DataConnection]: """Creates or updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -819,7 +824,7 @@ async def begin_create_or_update( :param data_connection_name: The name of the data connection. Required. :type data_connection_name: str :param parameters: The data connection parameters supplied to the CreateOrUpdate operation. Is - either a model type or a IO type. Required. + either a DataConnection type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.DataConnection or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -840,9 +845,7 @@ async def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DataConnection] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -871,7 +874,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -909,16 +914,14 @@ async def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DataConnection] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "DataConnection") @@ -940,15 +943,17 @@ async def _update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 200: @@ -991,7 +996,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.DataConnection]: """Updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1033,7 +1038,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.DataConnection]: """Updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1073,7 +1078,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.DataConnection]: """Updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1083,7 +1088,7 @@ async def begin_update( :param data_connection_name: The name of the data connection. Required. :type data_connection_name: str :param parameters: The data connection parameters supplied to the Update operation. Is either a - model type or a IO type. Required. + DataConnection type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.DataConnection or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -1104,9 +1109,7 @@ async def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DataConnection] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -1135,7 +1138,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -1167,9 +1172,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -1186,18 +1189,26 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}" @@ -1209,7 +1220,7 @@ async def begin_delete( ) -> AsyncLROPoller[None]: """Deletes the data connection with the given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1233,9 +1244,7 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1259,7 +1268,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_database_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_database_operations.py new file mode 100644 index 000000000000..bde668da9484 --- /dev/null +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_database_operations.py @@ -0,0 +1,205 @@ +# pylint: disable=too-many-lines +# 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 io import IOBase +from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload + +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.core.utils import case_insensitive_dict +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._database_operations import build_invite_follower_request + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + + +class DatabaseOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.kusto.aio.KustoManagementClient`'s + :attr:`database` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client = input_args.pop(0) if input_args else kwargs.pop("client") + self._config = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @overload + async def invite_follower( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + parameters: _models.DatabaseInviteFollowerRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.DatabaseInviteFollowerResult: + """Generates an invitation token that allows attaching a follower database to this database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. Required. + :type database_name: str + :param parameters: The follower invitation request parameters. Required. + :type parameters: ~azure.mgmt.kusto.models.DatabaseInviteFollowerRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseInviteFollowerResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabaseInviteFollowerResult + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def invite_follower( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + parameters: IO, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.DatabaseInviteFollowerResult: + """Generates an invitation token that allows attaching a follower database to this database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. Required. + :type database_name: str + :param parameters: The follower invitation request parameters. Required. + :type parameters: IO + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseInviteFollowerResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabaseInviteFollowerResult + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def invite_follower( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + parameters: Union[_models.DatabaseInviteFollowerRequest, IO], + **kwargs: Any + ) -> _models.DatabaseInviteFollowerResult: + """Generates an invitation token that allows attaching a follower database to this database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. Required. + :type database_name: str + :param parameters: The follower invitation request parameters. Is either a + DatabaseInviteFollowerRequest type or a IO type. Required. + :type parameters: ~azure.mgmt.kusto.models.DatabaseInviteFollowerRequest or IO + :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. + Default value is None. + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseInviteFollowerResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabaseInviteFollowerResult + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.DatabaseInviteFollowerResult] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _json = self._serialize.body(parameters, "DatabaseInviteFollowerRequest") + + request = build_invite_follower_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + template_url=self.invite_follower.metadata["url"], + headers=_headers, + params=_params, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize("DatabaseInviteFollowerResult", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + invite_follower.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/inviteFollower" + } diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_database_principal_assignments_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_database_principal_assignments_operations.py index 36b7851433f5..3c5a0bdae832 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_database_principal_assignments_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_database_principal_assignments_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -39,10 +39,6 @@ build_list_request, ) -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -79,7 +75,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the database principal assignment is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -111,7 +107,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the database principal assignment is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -140,15 +136,15 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the database principal assignment is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param principal_assignment_name: The name of the resource. Is either a model type or a IO - type. Required. + :param principal_assignment_name: The name of the resource. Is either a + DatabasePrincipalAssignmentCheckNameRequest type or a IO type. Required. :type principal_assignment_name: ~azure.mgmt.kusto.models.DatabasePrincipalAssignmentCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -170,16 +166,14 @@ async def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(principal_assignment_name, (IO, bytes)): + if isinstance(principal_assignment_name, (IOBase, bytes)): _content = principal_assignment_name else: _json = self._serialize.body(principal_assignment_name, "DatabasePrincipalAssignmentCheckNameRequest") @@ -200,15 +194,17 @@ async def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -232,7 +228,7 @@ async def get( ) -> _models.DatabasePrincipalAssignment: """Gets a Kusto cluster database principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -257,9 +253,7 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DatabasePrincipalAssignment] = kwargs.pop("cls", None) request = build_get_request( @@ -276,15 +270,17 @@ async def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("DatabasePrincipalAssignment", pipeline_response) @@ -317,16 +313,14 @@ async def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DatabasePrincipalAssignment] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "DatabasePrincipalAssignment") @@ -348,15 +342,17 @@ async def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize("DatabasePrincipalAssignment", pipeline_response) @@ -387,7 +383,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.DatabasePrincipalAssignment]: """Creates a Kusto cluster database principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -431,7 +427,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.DatabasePrincipalAssignment]: """Creates a Kusto cluster database principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -473,7 +469,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.DatabasePrincipalAssignment]: """Creates a Kusto cluster database principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -483,7 +479,7 @@ async def begin_create_or_update( :param principal_assignment_name: The name of the Kusto principalAssignment. Required. :type principal_assignment_name: str :param parameters: The Kusto principalAssignments parameters supplied for the operation. Is - either a model type or a IO type. Required. + either a DatabasePrincipalAssignment type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.DatabasePrincipalAssignment or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -505,9 +501,7 @@ async def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DatabasePrincipalAssignment] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -536,7 +530,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -573,9 +569,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -592,18 +586,26 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}" @@ -620,7 +622,7 @@ async def begin_delete( ) -> AsyncLROPoller[None]: """Deletes a Kusto principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -644,9 +646,7 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -670,7 +670,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -694,7 +696,7 @@ def list( ) -> AsyncIterable["_models.DatabasePrincipalAssignment"]: """Lists all Kusto cluster database principalAssignments. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -711,9 +713,7 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DatabasePrincipalAssignmentListResult] = kwargs.pop("cls", None) error_map = { @@ -768,14 +768,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_databases_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_databases_operations.py index a81544ddd480..d8384937bdc7 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_databases_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_databases_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -43,10 +43,6 @@ build_update_request, ) -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -82,7 +78,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the databases resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -110,7 +106,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the databases resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -136,12 +132,13 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the databases resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param resource_name: The name of the resource. Is either a model type or a IO type. Required. + :param resource_name: The name of the resource. Is either a CheckNameRequest type or a IO type. + Required. :type resource_name: ~azure.mgmt.kusto.models.CheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -162,16 +159,14 @@ async def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(resource_name, (IO, bytes)): + if isinstance(resource_name, (IOBase, bytes)): _content = resource_name else: _json = self._serialize.body(resource_name, "CheckNameRequest") @@ -191,15 +186,17 @@ async def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -214,15 +211,27 @@ async def check_name_availability( @distributed_trace def list_by_cluster( - self, resource_group_name: str, cluster_name: str, **kwargs: Any + self, + resource_group_name: str, + cluster_name: str, + top: Optional[int] = None, + skiptoken: Optional[str] = None, + **kwargs: Any ) -> AsyncIterable["_models.Database"]: """Returns the list of databases of the given Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str + :param top: limit the number of results. Default value is None. + :type top: int + :param skiptoken: Skiptoken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skiptoken parameter that specifies a starting point to use for subsequent calls. Default + value is None. + :type skiptoken: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either Database or the result of cls(response) :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kusto.models.Database] @@ -231,9 +240,7 @@ def list_by_cluster( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DatabaseListResult] = kwargs.pop("cls", None) error_map = { @@ -251,6 +258,8 @@ def prepare_request(next_link=None): resource_group_name=resource_group_name, cluster_name=cluster_name, subscription_id=self._config.subscription_id, + top=top, + skiptoken=skiptoken, api_version=api_version, template_url=self.list_by_cluster.metadata["url"], headers=_headers, @@ -282,19 +291,21 @@ async def extract_data(pipeline_response): list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) # type: ignore - return None, AsyncList(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -310,7 +321,7 @@ async def get( ) -> _models.Database: """Returns a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -333,9 +344,7 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.Database] = kwargs.pop("cls", None) request = build_get_request( @@ -351,15 +360,17 @@ async def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("Database", pipeline_response) @@ -392,16 +403,14 @@ async def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Database] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "Database") @@ -423,16 +432,19 @@ async def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("Database", pipeline_response) @@ -440,10 +452,14 @@ async def _create_or_update_initial( deserialized = self._deserialize("Database", pipeline_response) if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + deserialized = self._deserialize("Database", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @@ -465,7 +481,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.Database]: """Creates or updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -509,7 +525,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.Database]: """Creates or updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -551,7 +567,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.Database]: """Creates or updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -559,7 +575,7 @@ async def begin_create_or_update( :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str :param parameters: The database parameters supplied to the CreateOrUpdate operation. Is either - a model type or a IO type. Required. + a Database type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.Database or IO :param caller_role: By default, any user who run operation on a database become an Admin on it. This property allows the caller to exclude the caller from Admins list. Known values are: @@ -584,9 +600,7 @@ async def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Database] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -615,7 +629,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -653,16 +669,14 @@ async def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Database] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "Database") @@ -684,15 +698,17 @@ async def _update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 200: @@ -735,7 +751,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.Database]: """Updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -779,7 +795,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.Database]: """Updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -821,15 +837,15 @@ async def begin_update( ) -> AsyncLROPoller[_models.Database]: """Updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param parameters: The database parameters supplied to the Update operation. Is either a model - type or a IO type. Required. + :param parameters: The database parameters supplied to the Update operation. Is either a + Database type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.Database or IO :param caller_role: By default, any user who run operation on a database become an Admin on it. This property allows the caller to exclude the caller from Admins list. Known values are: @@ -854,9 +870,7 @@ async def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Database] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -885,7 +899,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -917,9 +933,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -935,18 +949,26 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}" @@ -958,7 +980,7 @@ async def begin_delete( ) -> AsyncLROPoller[None]: """Deletes the database with the given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -980,9 +1002,7 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1005,7 +1025,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -1029,7 +1051,7 @@ def list_principals( ) -> AsyncIterable["_models.DatabasePrincipal"]: """Returns a list of database principals of the given Kusto cluster and database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1044,9 +1066,7 @@ def list_principals( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DatabasePrincipalListResult] = kwargs.pop("cls", None) error_map = { @@ -1101,14 +1121,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1131,7 +1153,7 @@ async def add_principals( ) -> _models.DatabasePrincipalListResult: """Add Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1162,7 +1184,7 @@ async def add_principals( ) -> _models.DatabasePrincipalListResult: """Add Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1191,15 +1213,15 @@ async def add_principals( ) -> _models.DatabasePrincipalListResult: """Add Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param database_principals_to_add: List of database principals to add. Is either a model type - or a IO type. Required. + :param database_principals_to_add: List of database principals to add. Is either a + DatabasePrincipalListRequest type or a IO type. Required. :type database_principals_to_add: ~azure.mgmt.kusto.models.DatabasePrincipalListRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -1220,16 +1242,14 @@ async def add_principals( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DatabasePrincipalListResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(database_principals_to_add, (IO, bytes)): + if isinstance(database_principals_to_add, (IOBase, bytes)): _content = database_principals_to_add else: _json = self._serialize.body(database_principals_to_add, "DatabasePrincipalListRequest") @@ -1250,15 +1270,17 @@ async def add_principals( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("DatabasePrincipalListResult", pipeline_response) @@ -1284,7 +1306,7 @@ async def remove_principals( ) -> _models.DatabasePrincipalListResult: """Remove Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1315,7 +1337,7 @@ async def remove_principals( ) -> _models.DatabasePrincipalListResult: """Remove Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1344,15 +1366,15 @@ async def remove_principals( ) -> _models.DatabasePrincipalListResult: """Remove Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param database_principals_to_remove: List of database principals to remove. Is either a model - type or a IO type. Required. + :param database_principals_to_remove: List of database principals to remove. Is either a + DatabasePrincipalListRequest type or a IO type. Required. :type database_principals_to_remove: ~azure.mgmt.kusto.models.DatabasePrincipalListRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -1374,16 +1396,14 @@ async def remove_principals( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DatabasePrincipalListResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(database_principals_to_remove, (IO, bytes)): + if isinstance(database_principals_to_remove, (IOBase, bytes)): _content = database_principals_to_remove else: _json = self._serialize.body(database_principals_to_remove, "DatabasePrincipalListRequest") @@ -1404,15 +1424,17 @@ async def remove_principals( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("DatabasePrincipalListResult", pipeline_response) diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_managed_private_endpoints_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_managed_private_endpoints_operations.py index 8587f44baf6f..7d2d0aa2cec8 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_managed_private_endpoints_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_managed_private_endpoints_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -40,10 +40,6 @@ build_update_request, ) -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -79,7 +75,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the managed private endpoints resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -107,7 +103,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the managed private endpoints resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -133,12 +129,13 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the managed private endpoints resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param resource_name: The name of the resource. Is either a model type or a IO type. Required. + :param resource_name: The name of the resource. Is either a + ManagedPrivateEndpointsCheckNameRequest type or a IO type. Required. :type resource_name: ~azure.mgmt.kusto.models.ManagedPrivateEndpointsCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -159,16 +156,14 @@ async def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(resource_name, (IO, bytes)): + if isinstance(resource_name, (IOBase, bytes)): _content = resource_name else: _json = self._serialize.body(resource_name, "ManagedPrivateEndpointsCheckNameRequest") @@ -188,15 +183,17 @@ async def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -215,7 +212,7 @@ def list( ) -> AsyncIterable["_models.ManagedPrivateEndpoint"]: """Returns the list of managed private endpoints. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -230,9 +227,7 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ManagedPrivateEndpointListResult] = kwargs.pop("cls", None) error_map = { @@ -286,14 +281,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -309,7 +306,7 @@ async def get( ) -> _models.ManagedPrivateEndpoint: """Gets a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -332,9 +329,7 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ManagedPrivateEndpoint] = kwargs.pop("cls", None) request = build_get_request( @@ -350,15 +345,17 @@ async def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("ManagedPrivateEndpoint", pipeline_response) @@ -390,16 +387,14 @@ async def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ManagedPrivateEndpoint] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "ManagedPrivateEndpoint") @@ -420,16 +415,19 @@ async def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("ManagedPrivateEndpoint", pipeline_response) @@ -437,10 +435,14 @@ async def _create_or_update_initial( deserialized = self._deserialize("ManagedPrivateEndpoint", pipeline_response) if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + deserialized = self._deserialize("ManagedPrivateEndpoint", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @@ -461,7 +463,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.ManagedPrivateEndpoint]: """Creates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -500,7 +502,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.ManagedPrivateEndpoint]: """Creates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -537,15 +539,15 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.ManagedPrivateEndpoint]: """Creates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param managed_private_endpoint_name: The name of the managed private endpoint. Required. :type managed_private_endpoint_name: str - :param parameters: The managed private endpoint parameters. Is either a model type or a IO - type. Required. + :param parameters: The managed private endpoint parameters. Is either a ManagedPrivateEndpoint + type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.ManagedPrivateEndpoint or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -566,9 +568,7 @@ async def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ManagedPrivateEndpoint] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -596,7 +596,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -633,16 +635,14 @@ async def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ManagedPrivateEndpoint] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "ManagedPrivateEndpoint") @@ -663,15 +663,17 @@ async def _update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 200: @@ -706,7 +708,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.ManagedPrivateEndpoint]: """Updates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -745,7 +747,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.ManagedPrivateEndpoint]: """Updates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -782,15 +784,15 @@ async def begin_update( ) -> AsyncLROPoller[_models.ManagedPrivateEndpoint]: """Updates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param managed_private_endpoint_name: The name of the managed private endpoint. Required. :type managed_private_endpoint_name: str - :param parameters: The managed private endpoint parameters. Is either a model type or a IO - type. Required. + :param parameters: The managed private endpoint parameters. Is either a ManagedPrivateEndpoint + type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.ManagedPrivateEndpoint or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -811,9 +813,7 @@ async def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ManagedPrivateEndpoint] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -841,7 +841,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -873,9 +875,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -891,18 +891,26 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints/{managedPrivateEndpointName}" @@ -914,7 +922,7 @@ async def begin_delete( ) -> AsyncLROPoller[None]: """Deletes a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -936,9 +944,7 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -961,7 +967,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations.py index cc6fb9764aff..d6edf53261a5 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar import urllib.parse @@ -30,10 +29,6 @@ from ..._vendor import _convert_request from ...operations._operations import build_list_request -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -69,9 +64,7 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.Operation"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.OperationListResult] = kwargs.pop("cls", None) error_map = { @@ -122,14 +115,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations_results_location_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations_results_location_operations.py index 9bee71954a38..0b6c592fdfae 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations_results_location_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations_results_location_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, Callable, Dict, Optional, TypeVar from azure.core.exceptions import ( @@ -28,10 +27,6 @@ from ..._vendor import _convert_request from ...operations._operations_results_location_operations import build_get_request -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -61,9 +56,9 @@ async def get( # pylint: disable=inconsistent-return-statements ) -> None: """Returns operation results. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str - :param operation_id: The Guid of the operation ID. Required. + :param operation_id: The ID of an ongoing async operation. Required. :type operation_id: str :keyword callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) @@ -81,9 +76,7 @@ async def get( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_get_request( @@ -98,8 +91,9 @@ async def get( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response @@ -108,8 +102,14 @@ async def get( # pylint: disable=inconsistent-return-statements map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) get.metadata = { "url": "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/operationResults/{operationId}" diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations_results_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations_results_operations.py index a9271ed5051e..765b046973eb 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations_results_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_operations_results_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, Callable, Dict, Optional, TypeVar from azure.core.exceptions import ( @@ -28,10 +27,6 @@ from ..._vendor import _convert_request from ...operations._operations_results_operations import build_get_request -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -59,9 +54,9 @@ def __init__(self, *args, **kwargs) -> None: async def get(self, location: str, operation_id: str, **kwargs: Any) -> _models.OperationResult: """Returns operation results. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str - :param operation_id: The Guid of the operation ID. Required. + :param operation_id: The ID of an ongoing async operation. Required. :type operation_id: str :keyword callable cls: A custom type or function that will be passed the direct response :return: OperationResult or the result of cls(response) @@ -79,9 +74,7 @@ async def get(self, location: str, operation_id: str, **kwargs: Any) -> _models. _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.OperationResult] = kwargs.pop("cls", None) request = build_get_request( @@ -96,15 +89,17 @@ async def get(self, location: str, operation_id: str, **kwargs: Any) -> _models. request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("OperationResult", pipeline_response) diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_private_endpoint_connections_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_private_endpoint_connections_operations.py index 5f1da542d996..9fb6171a0090 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_private_endpoint_connections_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_private_endpoint_connections_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -38,10 +38,6 @@ build_list_request, ) -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -71,7 +67,7 @@ def list( ) -> AsyncIterable["_models.PrivateEndpointConnection"]: """Returns the list of private endpoint connections. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -86,9 +82,7 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.PrivateEndpointConnectionListResult] = kwargs.pop("cls", None) error_map = { @@ -142,14 +136,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -165,7 +161,7 @@ async def get( ) -> _models.PrivateEndpointConnection: """Gets a private endpoint connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -188,9 +184,7 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) request = build_get_request( @@ -206,15 +200,17 @@ async def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("PrivateEndpointConnection", pipeline_response) @@ -246,16 +242,14 @@ async def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "PrivateEndpointConnection") @@ -276,15 +270,17 @@ async def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize("PrivateEndpointConnection", pipeline_response) @@ -314,7 +310,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.PrivateEndpointConnection]: """Approve or reject a private endpoint connection with a given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -353,7 +349,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.PrivateEndpointConnection]: """Approve or reject a private endpoint connection with a given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -390,14 +386,14 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.PrivateEndpointConnection]: """Approve or reject a private endpoint connection with a given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param private_endpoint_connection_name: The name of the private endpoint connection. Required. :type private_endpoint_connection_name: str - :param parameters: Is either a model type or a IO type. Required. + :param parameters: Is either a PrivateEndpointConnection type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.PrivateEndpointConnection or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -418,9 +414,7 @@ async def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -448,7 +442,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -480,9 +476,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -498,18 +492,26 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}" @@ -521,7 +523,7 @@ async def begin_delete( ) -> AsyncLROPoller[None]: """Deletes a private endpoint connection with a given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -543,9 +545,7 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -568,7 +568,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_private_link_resources_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_private_link_resources_operations.py index 41eba884a23f..2f1deb9ea4ed 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_private_link_resources_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_private_link_resources_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar import urllib.parse @@ -31,10 +30,6 @@ from ..._vendor import _convert_request from ...operations._private_link_resources_operations import build_get_request, build_list_request -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -64,7 +59,7 @@ def list( ) -> AsyncIterable["_models.PrivateLinkResource"]: """Returns the list of private link resources. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -77,9 +72,7 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.PrivateLinkResourceListResult] = kwargs.pop("cls", None) error_map = { @@ -133,14 +126,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -156,7 +151,7 @@ async def get( ) -> _models.PrivateLinkResource: """Gets a private link resource. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -179,9 +174,7 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.PrivateLinkResource] = kwargs.pop("cls", None) request = build_get_request( @@ -197,15 +190,17 @@ async def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("PrivateLinkResource", pipeline_response) diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_scripts_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_scripts_operations.py index 9dfc9f3d5722..fe557b91257b 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_scripts_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_scripts_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -40,10 +40,6 @@ build_update_request, ) -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -73,7 +69,7 @@ def list_by_database( ) -> AsyncIterable["_models.Script"]: """Returns the list of database scripts for given database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -88,9 +84,7 @@ def list_by_database( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ScriptListResult] = kwargs.pop("cls", None) error_map = { @@ -145,14 +139,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -168,7 +164,7 @@ async def get( ) -> _models.Script: """Gets a Kusto cluster database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -193,9 +189,7 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.Script] = kwargs.pop("cls", None) request = build_get_request( @@ -212,15 +206,17 @@ async def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("Script", pipeline_response) @@ -253,16 +249,14 @@ async def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Script] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "Script") @@ -284,16 +278,19 @@ async def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("Script", pipeline_response) @@ -301,10 +298,14 @@ async def _create_or_update_initial( deserialized = self._deserialize("Script", pipeline_response) if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + deserialized = self._deserialize("Script", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @@ -326,7 +327,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.Script]: """Creates a Kusto database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -368,7 +369,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.Script]: """Creates a Kusto database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -408,7 +409,7 @@ async def begin_create_or_update( ) -> AsyncLROPoller[_models.Script]: """Creates a Kusto database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -417,7 +418,7 @@ async def begin_create_or_update( :type database_name: str :param script_name: The name of the Kusto database script. Required. :type script_name: str - :param parameters: The Kusto Script parameters contains the KQL to run. Is either a model type + :param parameters: The Kusto Script parameters contains the KQL to run. Is either a Script type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.Script or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -439,9 +440,7 @@ async def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Script] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -470,7 +469,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -508,16 +509,14 @@ async def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Script] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "Script") @@ -539,15 +538,17 @@ async def _update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 200: @@ -583,7 +584,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.Script]: """Updates a database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -625,7 +626,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.Script]: """Updates a database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -665,7 +666,7 @@ async def begin_update( ) -> AsyncLROPoller[_models.Script]: """Updates a database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -674,7 +675,7 @@ async def begin_update( :type database_name: str :param script_name: The name of the Kusto database script. Required. :type script_name: str - :param parameters: The Kusto Script parameters contains to the KQL to run. Is either a model + :param parameters: The Kusto Script parameters contains to the KQL to run. Is either a Script type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.Script or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -696,9 +697,7 @@ async def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Script] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -727,7 +726,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -759,9 +760,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -778,18 +777,26 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts/{scriptName}" @@ -799,9 +806,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements async def begin_delete( self, resource_group_name: str, cluster_name: str, database_name: str, script_name: str, **kwargs: Any ) -> AsyncLROPoller[None]: - """Deletes a Kusto principalAssignment. + """Deletes a Kusto database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -825,9 +832,7 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -851,7 +856,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: @@ -882,7 +889,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the script name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -913,7 +920,7 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the script name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -942,14 +949,15 @@ async def check_name_availability( ) -> _models.CheckNameResult: """Checks that the script name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param script_name: The name of the script. Is either a model type or a IO type. Required. + :param script_name: The name of the script. Is either a ScriptCheckNameRequest type or a IO + type. Required. :type script_name: ~azure.mgmt.kusto.models.ScriptCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -970,16 +978,14 @@ async def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(script_name, (IO, bytes)): + if isinstance(script_name, (IOBase, bytes)): _content = script_name else: _json = self._serialize.body(script_name, "ScriptCheckNameRequest") @@ -1000,15 +1006,17 @@ async def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_skus_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_skus_operations.py index a67d7e131906..9a0217d203f6 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_skus_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/aio/operations/_skus_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar import urllib.parse @@ -30,10 +29,6 @@ from ..._vendor import _convert_request from ...operations._skus_operations import build_list_request -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -61,7 +56,7 @@ def __init__(self, *args, **kwargs) -> None: def list(self, location: str, **kwargs: Any) -> AsyncIterable["_models.SkuDescription"]: """Lists eligible region SKUs for Kusto resource provider by Azure region. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SkuDescription or the result of cls(response) @@ -71,9 +66,7 @@ def list(self, location: str, **kwargs: Any) -> AsyncIterable["_models.SkuDescri _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.SkuDescriptionList] = kwargs.pop("cls", None) error_map = { @@ -126,14 +119,16 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/__init__.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/__init__.py index 89fd49dc0633..2b0d152852af 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/__init__.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/__init__.py @@ -15,10 +15,10 @@ from ._models_py3 import AzureSku from ._models_py3 import CheckNameRequest from ._models_py3 import CheckNameResult -from ._models_py3 import CloudErrorBody from ._models_py3 import Cluster from ._models_py3 import ClusterCheckNameRequest from ._models_py3 import ClusterListResult +from ._models_py3 import ClusterMigrateRequest from ._models_py3 import ClusterPrincipalAssignment from ._models_py3 import ClusterPrincipalAssignmentCheckNameRequest from ._models_py3 import ClusterPrincipalAssignmentListResult @@ -32,6 +32,8 @@ from ._models_py3 import DataConnectionValidationListResult from ._models_py3 import DataConnectionValidationResult from ._models_py3 import Database +from ._models_py3 import DatabaseInviteFollowerRequest +from ._models_py3 import DatabaseInviteFollowerResult from ._models_py3 import DatabaseListResult from ._models_py3 import DatabasePrincipal from ._models_py3 import DatabasePrincipalAssignment @@ -43,6 +45,9 @@ from ._models_py3 import DiagnoseVirtualNetworkResult from ._models_py3 import EndpointDependency from ._models_py3 import EndpointDetail +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse from ._models_py3 import EventGridDataConnection from ._models_py3 import EventHubDataConnection from ._models_py3 import FollowerDatabaseDefinition @@ -56,6 +61,7 @@ from ._models_py3 import ManagedPrivateEndpoint from ._models_py3 import ManagedPrivateEndpointListResult from ._models_py3 import ManagedPrivateEndpointsCheckNameRequest +from ._models_py3 import MigrationClusterProperties from ._models_py3 import Operation from ._models_py3 import OperationDisplay from ._models_py3 import OperationListResult @@ -81,6 +87,7 @@ from ._models_py3 import SkuDescription from ._models_py3 import SkuDescriptionList from ._models_py3 import SkuLocationInfoItem +from ._models_py3 import SuspensionDetails from ._models_py3 import SystemData from ._models_py3 import TableLevelSharingProperties from ._models_py3 import TrackedResource @@ -110,6 +117,7 @@ from ._kusto_management_client_enums import Kind from ._kusto_management_client_enums import LanguageExtensionImageName from ._kusto_management_client_enums import LanguageExtensionName +from ._kusto_management_client_enums import MigrationClusterRole from ._kusto_management_client_enums import PrincipalType from ._kusto_management_client_enums import PrincipalsModificationKind from ._kusto_management_client_enums import ProvisioningState @@ -133,10 +141,10 @@ "AzureSku", "CheckNameRequest", "CheckNameResult", - "CloudErrorBody", "Cluster", "ClusterCheckNameRequest", "ClusterListResult", + "ClusterMigrateRequest", "ClusterPrincipalAssignment", "ClusterPrincipalAssignmentCheckNameRequest", "ClusterPrincipalAssignmentListResult", @@ -150,6 +158,8 @@ "DataConnectionValidationListResult", "DataConnectionValidationResult", "Database", + "DatabaseInviteFollowerRequest", + "DatabaseInviteFollowerResult", "DatabaseListResult", "DatabasePrincipal", "DatabasePrincipalAssignment", @@ -161,6 +171,9 @@ "DiagnoseVirtualNetworkResult", "EndpointDependency", "EndpointDetail", + "ErrorAdditionalInfo", + "ErrorDetail", + "ErrorResponse", "EventGridDataConnection", "EventHubDataConnection", "FollowerDatabaseDefinition", @@ -174,6 +187,7 @@ "ManagedPrivateEndpoint", "ManagedPrivateEndpointListResult", "ManagedPrivateEndpointsCheckNameRequest", + "MigrationClusterProperties", "Operation", "OperationDisplay", "OperationListResult", @@ -199,6 +213,7 @@ "SkuDescription", "SkuDescriptionList", "SkuLocationInfoItem", + "SuspensionDetails", "SystemData", "TableLevelSharingProperties", "TrackedResource", @@ -227,6 +242,7 @@ "Kind", "LanguageExtensionImageName", "LanguageExtensionName", + "MigrationClusterRole", "PrincipalType", "PrincipalsModificationKind", "ProvisioningState", diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/_kusto_management_client_enums.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/_kusto_management_client_enums.py index 7c3d7c4dcf3e..230c2896c4ed 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/_kusto_management_client_enums.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/_kusto_management_client_enums.py @@ -287,8 +287,6 @@ class LanguageExtensionImageName(str, Enum, metaclass=CaseInsensitiveEnumMeta): R = "R" PYTHON3_6_5 = "Python3_6_5" - PYTHON3_9_12 = "Python3_9_12" - PYTHON3_9_12_INCLUDE_DEEP_LEARNING = "Python3_9_12IncludeDeepLearning" PYTHON3_10_8 = "Python3_10_8" @@ -299,6 +297,13 @@ class LanguageExtensionName(str, Enum, metaclass=CaseInsensitiveEnumMeta): R = "R" +class MigrationClusterRole(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The role of the cluster in the migration process.""" + + SOURCE = "Source" + DESTINATION = "Destination" + + class PrincipalsModificationKind(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The principals modification kind of the database.""" @@ -362,6 +367,7 @@ class State(str, Enum, metaclass=CaseInsensitiveEnumMeta): STOPPED = "Stopped" STARTING = "Starting" UPDATING = "Updating" + MIGRATED = "Migrated" class Status(str, Enum, metaclass=CaseInsensitiveEnumMeta): diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/_models_py3.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/_models_py3.py index a737807859fa..4baa74e8de85 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/_models_py3.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/models/_models_py3.py @@ -546,58 +546,6 @@ def __init__( self.reason = reason -class CloudErrorBody(_serialization.Model): - """An error response from Kusto. - - :ivar code: An identifier for the error. Codes are invariant and are intended to be consumed - programmatically. - :vartype code: str - :ivar message: A message describing the error, intended to be suitable for displaying in a user - interface. - :vartype message: str - :ivar target: The target of the particular error. For example, the name of the property in - error. - :vartype target: str - :ivar details: A list of additional details about the error. - :vartype details: list[~azure.mgmt.kusto.models.CloudErrorBody] - """ - - _attribute_map = { - "code": {"key": "code", "type": "str"}, - "message": {"key": "message", "type": "str"}, - "target": {"key": "target", "type": "str"}, - "details": {"key": "details", "type": "[CloudErrorBody]"}, - } - - def __init__( - self, - *, - code: Optional[str] = None, - message: Optional[str] = None, - target: Optional[str] = None, - details: Optional[List["_models.CloudErrorBody"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword code: An identifier for the error. Codes are invariant and are intended to be consumed - programmatically. - :paramtype code: str - :keyword message: A message describing the error, intended to be suitable for displaying in a - user interface. - :paramtype message: str - :keyword target: The target of the particular error. For example, the name of the property in - error. - :paramtype target: str - :keyword details: A list of additional details about the error. - :paramtype details: list[~azure.mgmt.kusto.models.CloudErrorBody] - """ - super().__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - - class TrackedResource(Resource): """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. @@ -677,7 +625,7 @@ class Cluster(TrackedResource): # pylint: disable=too-many-instance-attributes :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str :ivar state: The state of the resource. Known values are: "Creating", "Unavailable", "Running", - "Deleting", "Deleted", "Stopping", "Stopped", "Starting", and "Updating". + "Deleting", "Deleted", "Stopping", "Stopped", "Starting", "Updating", and "Migrated". :vartype state: str or ~azure.mgmt.kusto.models.State :ivar provisioning_state: The provisioned state of the resource. Known values are: "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving", and "Canceled". @@ -737,6 +685,9 @@ class Cluster(TrackedResource): # pylint: disable=too-many-instance-attributes :vartype virtual_cluster_graduation_properties: str :ivar private_endpoint_connections: A list of private endpoint connections. :vartype private_endpoint_connections: list[~azure.mgmt.kusto.models.PrivateEndpointConnection] + :ivar migration_cluster: Properties of the peer cluster involved in a migration to/from this + cluster. + :vartype migration_cluster: ~azure.mgmt.kusto.models.MigrationClusterProperties """ _validation = { @@ -753,6 +704,7 @@ class Cluster(TrackedResource): # pylint: disable=too-many-instance-attributes "data_ingestion_uri": {"readonly": True}, "state_reason": {"readonly": True}, "private_endpoint_connections": {"readonly": True}, + "migration_cluster": {"readonly": True}, } _attribute_map = { @@ -799,6 +751,7 @@ class Cluster(TrackedResource): # pylint: disable=too-many-instance-attributes "key": "properties.privateEndpointConnections", "type": "[PrivateEndpointConnection]", }, + "migration_cluster": {"key": "properties.migrationCluster", "type": "MigrationClusterProperties"}, } def __init__( # pylint: disable=too-many-locals @@ -919,6 +872,7 @@ def __init__( # pylint: disable=too-many-locals self.public_ip_type = public_ip_type self.virtual_cluster_graduation_properties = virtual_cluster_graduation_properties self.private_endpoint_connections = None + self.migration_cluster = None class ClusterCheckNameRequest(_serialization.Model): @@ -976,6 +930,32 @@ def __init__(self, *, value: Optional[List["_models.Cluster"]] = None, **kwargs: self.value = value +class ClusterMigrateRequest(_serialization.Model): + """A cluster migrate request. + + All required parameters must be populated in order to send to Azure. + + :ivar cluster_resource_id: Resource ID of the destination cluster or kusto pool. Required. + :vartype cluster_resource_id: str + """ + + _validation = { + "cluster_resource_id": {"required": True}, + } + + _attribute_map = { + "cluster_resource_id": {"key": "clusterResourceId", "type": "str"}, + } + + def __init__(self, *, cluster_resource_id: str, **kwargs: Any) -> None: + """ + :keyword cluster_resource_id: Resource ID of the destination cluster or kusto pool. Required. + :paramtype cluster_resource_id: str + """ + super().__init__(**kwargs) + self.cluster_resource_id = cluster_resource_id + + class ClusterPrincipalAssignment(ProxyResource): # pylint: disable=too-many-instance-attributes """Class representing a cluster principal assignment. @@ -1143,7 +1123,7 @@ class ClusterUpdate(Resource): # pylint: disable=too-many-instance-attributes :ivar identity: The identity of the cluster, if configured. :vartype identity: ~azure.mgmt.kusto.models.Identity :ivar state: The state of the resource. Known values are: "Creating", "Unavailable", "Running", - "Deleting", "Deleted", "Stopping", "Stopped", "Starting", and "Updating". + "Deleting", "Deleted", "Stopping", "Stopped", "Starting", "Updating", and "Migrated". :vartype state: str or ~azure.mgmt.kusto.models.State :ivar provisioning_state: The provisioned state of the resource. Known values are: "Running", "Creating", "Deleting", "Succeeded", "Failed", "Moving", and "Canceled". @@ -1203,6 +1183,9 @@ class ClusterUpdate(Resource): # pylint: disable=too-many-instance-attributes :vartype virtual_cluster_graduation_properties: str :ivar private_endpoint_connections: A list of private endpoint connections. :vartype private_endpoint_connections: list[~azure.mgmt.kusto.models.PrivateEndpointConnection] + :ivar migration_cluster: Properties of the peer cluster involved in a migration to/from this + cluster. + :vartype migration_cluster: ~azure.mgmt.kusto.models.MigrationClusterProperties """ _validation = { @@ -1215,6 +1198,7 @@ class ClusterUpdate(Resource): # pylint: disable=too-many-instance-attributes "data_ingestion_uri": {"readonly": True}, "state_reason": {"readonly": True}, "private_endpoint_connections": {"readonly": True}, + "migration_cluster": {"readonly": True}, } _attribute_map = { @@ -1258,6 +1242,7 @@ class ClusterUpdate(Resource): # pylint: disable=too-many-instance-attributes "key": "properties.privateEndpointConnections", "type": "[PrivateEndpointConnection]", }, + "migration_cluster": {"key": "properties.migrationCluster", "type": "MigrationClusterProperties"}, } def __init__( # pylint: disable=too-many-locals @@ -1374,6 +1359,7 @@ def __init__( # pylint: disable=too-many-locals self.public_ip_type = public_ip_type self.virtual_cluster_graduation_properties = virtual_cluster_graduation_properties self.private_endpoint_connections = None + self.migration_cluster = None class ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties(_serialization.Model): @@ -1636,23 +1622,91 @@ def __init__(self, *, location: Optional[str] = None, **kwargs: Any) -> None: self.kind: Optional[str] = None +class DatabaseInviteFollowerRequest(_serialization.Model): + """The request to invite a follower to a database. + + All required parameters must be populated in order to send to Azure. + + :ivar invitee_email: The email of the invited user for which the follower invitation is + generated. Required. + :vartype invitee_email: str + :ivar table_level_sharing_properties: Table level sharing specifications. + :vartype table_level_sharing_properties: ~azure.mgmt.kusto.models.TableLevelSharingProperties + """ + + _validation = { + "invitee_email": {"required": True}, + } + + _attribute_map = { + "invitee_email": {"key": "inviteeEmail", "type": "str"}, + "table_level_sharing_properties": {"key": "tableLevelSharingProperties", "type": "TableLevelSharingProperties"}, + } + + def __init__( + self, + *, + invitee_email: str, + table_level_sharing_properties: Optional["_models.TableLevelSharingProperties"] = None, + **kwargs: Any + ) -> None: + """ + :keyword invitee_email: The email of the invited user for which the follower invitation is + generated. Required. + :paramtype invitee_email: str + :keyword table_level_sharing_properties: Table level sharing specifications. + :paramtype table_level_sharing_properties: ~azure.mgmt.kusto.models.TableLevelSharingProperties + """ + super().__init__(**kwargs) + self.invitee_email = invitee_email + self.table_level_sharing_properties = table_level_sharing_properties + + +class DatabaseInviteFollowerResult(_serialization.Model): + """The result returned from a follower invitation generation request. + + :ivar generated_invitation: The generated invitation token. + :vartype generated_invitation: str + """ + + _attribute_map = { + "generated_invitation": {"key": "generatedInvitation", "type": "str"}, + } + + def __init__(self, *, generated_invitation: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword generated_invitation: The generated invitation token. + :paramtype generated_invitation: str + """ + super().__init__(**kwargs) + self.generated_invitation = generated_invitation + + class DatabaseListResult(_serialization.Model): """The list Kusto databases operation response. + :ivar next_link: Link to the next page of results. + :vartype next_link: str :ivar value: The list of Kusto databases. :vartype value: list[~azure.mgmt.kusto.models.Database] """ _attribute_map = { + "next_link": {"key": "nextLink", "type": "str"}, "value": {"key": "value", "type": "[Database]"}, } - def __init__(self, *, value: Optional[List["_models.Database"]] = None, **kwargs: Any) -> None: + def __init__( + self, *, next_link: Optional[str] = None, value: Optional[List["_models.Database"]] = None, **kwargs: Any + ) -> None: """ + :keyword next_link: Link to the next page of results. + :paramtype next_link: str :keyword value: The list of Kusto databases. :paramtype value: list[~azure.mgmt.kusto.models.Database] """ super().__init__(**kwargs) + self.next_link = next_link self.value = value @@ -2139,6 +2193,98 @@ def __init__(self, *, port: Optional[int] = None, **kwargs: Any) -> None: self.port = port +class ErrorAdditionalInfo(_serialization.Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: JSON + """ + + _validation = { + "type": {"readonly": True}, + "info": {"readonly": True}, + } + + _attribute_map = { + "type": {"key": "type", "type": "str"}, + "info": {"key": "info", "type": "object"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.type = None + self.info = None + + +class ErrorDetail(_serialization.Model): + """The error detail. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: list[~azure.mgmt.kusto.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~azure.mgmt.kusto.models.ErrorAdditionalInfo] + """ + + _validation = { + "code": {"readonly": True}, + "message": {"readonly": True}, + "target": {"readonly": True}, + "details": {"readonly": True}, + "additional_info": {"readonly": True}, + } + + _attribute_map = { + "code": {"key": "code", "type": "str"}, + "message": {"key": "message", "type": "str"}, + "target": {"key": "target", "type": "str"}, + "details": {"key": "details", "type": "[ErrorDetail]"}, + "additional_info": {"key": "additionalInfo", "type": "[ErrorAdditionalInfo]"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +class ErrorResponse(_serialization.Model): + """Common error response for all Azure Resource Manager APIs to return error details for failed + operations. (This also follows the OData error response format.). + + :ivar error: The error object. + :vartype error: ~azure.mgmt.kusto.models.ErrorDetail + """ + + _attribute_map = { + "error": {"key": "error", "type": "ErrorDetail"}, + } + + def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs: Any) -> None: + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kusto.models.ErrorDetail + """ + super().__init__(**kwargs) + self.error = error + + class EventGridDataConnection(DataConnection): # pylint: disable=too-many-instance-attributes """Class representing an Event Grid data connection. @@ -2789,7 +2935,7 @@ class LanguageExtension(_serialization.Model): :ivar language_extension_name: The language extension name. Known values are: "PYTHON" and "R". :vartype language_extension_name: str or ~azure.mgmt.kusto.models.LanguageExtensionName :ivar language_extension_image_name: The language extension image name. Known values are: "R", - "Python3_6_5", "Python3_9_12", "Python3_9_12IncludeDeepLearning", and "Python3_10_8". + "Python3_6_5", and "Python3_10_8". :vartype language_extension_image_name: str or ~azure.mgmt.kusto.models.LanguageExtensionImageName """ @@ -2811,7 +2957,7 @@ def __init__( "R". :paramtype language_extension_name: str or ~azure.mgmt.kusto.models.LanguageExtensionName :keyword language_extension_image_name: The language extension image name. Known values are: - "R", "Python3_6_5", "Python3_9_12", "Python3_9_12IncludeDeepLearning", and "Python3_10_8". + "R", "Python3_6_5", and "Python3_10_8". :paramtype language_extension_image_name: str or ~azure.mgmt.kusto.models.LanguageExtensionImageName """ @@ -2996,6 +3142,45 @@ def __init__(self, *, name: str, **kwargs: Any) -> None: self.name = name +class MigrationClusterProperties(_serialization.Model): + """Represents a properties of a cluster that is part of a migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource ID of the cluster. + :vartype id: str + :ivar uri: The public URL of the cluster. + :vartype uri: str + :ivar data_ingestion_uri: The public data ingestion URL of the cluster. + :vartype data_ingestion_uri: str + :ivar role: The role of the cluster in the migration process. Known values are: "Source" and + "Destination". + :vartype role: str or ~azure.mgmt.kusto.models.MigrationClusterRole + """ + + _validation = { + "id": {"readonly": True}, + "uri": {"readonly": True}, + "data_ingestion_uri": {"readonly": True}, + "role": {"readonly": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "uri": {"key": "uri", "type": "str"}, + "data_ingestion_uri": {"key": "dataIngestionUri", "type": "str"}, + "role": {"key": "role", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.id = None + self.uri = None + self.data_ingestion_uri = None + self.role = None + + class Operation(_serialization.Model): """A REST API operation. @@ -3629,6 +3814,9 @@ class ReadOnlyFollowingDatabase(Database): # pylint: disable=too-many-instance- :ivar database_share_origin: The origin of the following setup. Known values are: "Direct", "DataShare", and "Other". :vartype database_share_origin: str or ~azure.mgmt.kusto.models.DatabaseShareOrigin + :ivar suspension_details: The database suspension details. If the database is suspended, this + object contains information related to the database's suspension state. + :vartype suspension_details: ~azure.mgmt.kusto.models.SuspensionDetails """ _validation = { @@ -3645,6 +3833,7 @@ class ReadOnlyFollowingDatabase(Database): # pylint: disable=too-many-instance- "table_level_sharing_properties": {"readonly": True}, "original_database_name": {"readonly": True}, "database_share_origin": {"readonly": True}, + "suspension_details": {"readonly": True}, } _attribute_map = { @@ -3666,6 +3855,7 @@ class ReadOnlyFollowingDatabase(Database): # pylint: disable=too-many-instance- }, "original_database_name": {"key": "properties.originalDatabaseName", "type": "str"}, "database_share_origin": {"key": "properties.databaseShareOrigin", "type": "str"}, + "suspension_details": {"key": "properties.suspensionDetails", "type": "SuspensionDetails"}, } def __init__( @@ -3690,9 +3880,10 @@ def __init__( self.table_level_sharing_properties = None self.original_database_name = None self.database_share_origin = None + self.suspension_details = None -class ReadWriteDatabase(Database): +class ReadWriteDatabase(Database): # pylint: disable=too-many-instance-attributes """Class representing a read write database. Variables are only populated by the server, and will be ignored when sending a request. @@ -3724,6 +3915,11 @@ class ReadWriteDatabase(Database): :vartype statistics: ~azure.mgmt.kusto.models.DatabaseStatistics :ivar is_followed: Indicates whether the database is followed. :vartype is_followed: bool + :ivar key_vault_properties: KeyVault properties for the database encryption. + :vartype key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties + :ivar suspension_details: The database suspension details. If the database is suspended, this + object contains information related to the database's suspension state. + :vartype suspension_details: ~azure.mgmt.kusto.models.SuspensionDetails """ _validation = { @@ -3734,6 +3930,7 @@ class ReadWriteDatabase(Database): "provisioning_state": {"readonly": True}, "statistics": {"readonly": True}, "is_followed": {"readonly": True}, + "suspension_details": {"readonly": True}, } _attribute_map = { @@ -3747,6 +3944,8 @@ class ReadWriteDatabase(Database): "hot_cache_period": {"key": "properties.hotCachePeriod", "type": "duration"}, "statistics": {"key": "properties.statistics", "type": "DatabaseStatistics"}, "is_followed": {"key": "properties.isFollowed", "type": "bool"}, + "key_vault_properties": {"key": "properties.keyVaultProperties", "type": "KeyVaultProperties"}, + "suspension_details": {"key": "properties.suspensionDetails", "type": "SuspensionDetails"}, } def __init__( @@ -3755,6 +3954,7 @@ def __init__( location: Optional[str] = None, soft_delete_period: Optional[datetime.timedelta] = None, hot_cache_period: Optional[datetime.timedelta] = None, + key_vault_properties: Optional["_models.KeyVaultProperties"] = None, **kwargs: Any ) -> None: """ @@ -3766,6 +3966,8 @@ def __init__( :keyword hot_cache_period: The time the data should be kept in cache for fast queries in TimeSpan. :paramtype hot_cache_period: ~datetime.timedelta + :keyword key_vault_properties: KeyVault properties for the database encryption. + :paramtype key_vault_properties: ~azure.mgmt.kusto.models.KeyVaultProperties """ super().__init__(location=location, **kwargs) self.kind: str = "ReadWrite" @@ -3774,6 +3976,8 @@ def __init__( self.hot_cache_period = hot_cache_period self.statistics = None self.is_followed = None + self.key_vault_properties = key_vault_properties + self.suspension_details = None class ResourceSkuCapabilities(_serialization.Model): @@ -4096,6 +4300,27 @@ def __init__( self.zone_details = zone_details +class SuspensionDetails(_serialization.Model): + """The database suspension details. If the database is suspended, this object contains information + related to the database's suspension state. + + :ivar suspension_start_date: The starting date and time of the suspension state. + :vartype suspension_start_date: ~datetime.datetime + """ + + _attribute_map = { + "suspension_start_date": {"key": "suspensionStartDate", "type": "iso-8601"}, + } + + def __init__(self, *, suspension_start_date: Optional[datetime.datetime] = None, **kwargs: Any) -> None: + """ + :keyword suspension_start_date: The starting date and time of the suspension state. + :paramtype suspension_start_date: ~datetime.datetime + """ + super().__init__(**kwargs) + self.suspension_start_date = suspension_start_date + + class SystemData(_serialization.Model): """Metadata pertaining to creation and last modification of the resource. diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/__init__.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/__init__.py index 9730dc492f1b..cae10efe6d88 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/__init__.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/__init__.py @@ -12,6 +12,7 @@ from ._databases_operations import DatabasesOperations from ._attached_database_configurations_operations import AttachedDatabaseConfigurationsOperations from ._managed_private_endpoints_operations import ManagedPrivateEndpointsOperations +from ._database_operations import DatabaseOperations from ._database_principal_assignments_operations import DatabasePrincipalAssignmentsOperations from ._scripts_operations import ScriptsOperations from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations @@ -32,6 +33,7 @@ "DatabasesOperations", "AttachedDatabaseConfigurationsOperations", "ManagedPrivateEndpointsOperations", + "DatabaseOperations", "DatabasePrincipalAssignmentsOperations", "ScriptsOperations", "PrivateEndpointConnectionsOperations", diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_attached_database_configurations_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_attached_database_configurations_operations.py index 5b307f6c62b1..668beeee5d19 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_attached_database_configurations_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_attached_database_configurations_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -32,10 +32,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -49,7 +45,7 @@ def build_check_name_availability_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -59,9 +55,11 @@ def build_check_name_availability_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurationCheckNameAvailability", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -83,7 +81,7 @@ def build_list_by_cluster_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -92,9 +90,11 @@ def build_list_by_cluster_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -118,7 +118,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -127,12 +127,14 @@ def build_get_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), "attachedDatabaseConfigurationName": _SERIALIZER.url( - "attached_database_configuration_name", attached_database_configuration_name, "str" + "attached_database_configuration_name", attached_database_configuration_name, "str", pattern=r"^.*$" ), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -156,7 +158,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -166,12 +168,14 @@ def build_create_or_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), "attachedDatabaseConfigurationName": _SERIALIZER.url( - "attached_database_configuration_name", attached_database_configuration_name, "str" + "attached_database_configuration_name", attached_database_configuration_name, "str", pattern=r"^.*$" ), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -197,7 +201,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -206,12 +210,14 @@ def build_delete_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), "attachedDatabaseConfigurationName": _SERIALIZER.url( - "attached_database_configuration_name", attached_database_configuration_name, "str" + "attached_database_configuration_name", attached_database_configuration_name, "str", pattern=r"^.*$" ), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -257,7 +263,7 @@ def check_name_availability( """Checks that the attached database configuration resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -286,7 +292,7 @@ def check_name_availability( """Checks that the attached database configuration resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -313,12 +319,13 @@ def check_name_availability( """Checks that the attached database configuration resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param resource_name: The name of the resource. Is either a model type or a IO type. Required. + :param resource_name: The name of the resource. Is either a + AttachedDatabaseConfigurationsCheckNameRequest type or a IO type. Required. :type resource_name: ~azure.mgmt.kusto.models.AttachedDatabaseConfigurationsCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -340,16 +347,14 @@ def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(resource_name, (IO, bytes)): + if isinstance(resource_name, (IOBase, bytes)): _content = resource_name else: _json = self._serialize.body(resource_name, "AttachedDatabaseConfigurationsCheckNameRequest") @@ -369,15 +374,17 @@ def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -396,7 +403,7 @@ def list_by_cluster( ) -> Iterable["_models.AttachedDatabaseConfiguration"]: """Returns the list of attached database configurations of the given Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -410,9 +417,7 @@ def list_by_cluster( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.AttachedDatabaseConfigurationListResult] = kwargs.pop("cls", None) error_map = { @@ -466,14 +471,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -489,7 +496,7 @@ def get( ) -> _models.AttachedDatabaseConfiguration: """Returns an attached database configuration. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -513,9 +520,7 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.AttachedDatabaseConfiguration] = kwargs.pop("cls", None) request = build_get_request( @@ -531,15 +536,17 @@ def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("AttachedDatabaseConfiguration", pipeline_response) @@ -571,16 +578,14 @@ def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.AttachedDatabaseConfiguration] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "AttachedDatabaseConfiguration") @@ -601,16 +606,19 @@ def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("AttachedDatabaseConfiguration", pipeline_response) @@ -618,10 +626,14 @@ def _create_or_update_initial( deserialized = self._deserialize("AttachedDatabaseConfiguration", pipeline_response) if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + deserialized = self._deserialize("AttachedDatabaseConfiguration", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @@ -642,7 +654,7 @@ def begin_create_or_update( ) -> LROPoller[_models.AttachedDatabaseConfiguration]: """Creates or updates an attached database configuration. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -682,7 +694,7 @@ def begin_create_or_update( ) -> LROPoller[_models.AttachedDatabaseConfiguration]: """Creates or updates an attached database configuration. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -720,7 +732,7 @@ def begin_create_or_update( ) -> LROPoller[_models.AttachedDatabaseConfiguration]: """Creates or updates an attached database configuration. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -729,7 +741,7 @@ def begin_create_or_update( Required. :type attached_database_configuration_name: str :param parameters: The database parameters supplied to the CreateOrUpdate operation. Is either - a model type or a IO type. Required. + a AttachedDatabaseConfiguration type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.AttachedDatabaseConfiguration or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -750,9 +762,7 @@ def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.AttachedDatabaseConfiguration] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -780,7 +790,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -812,9 +824,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -830,18 +840,26 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}" @@ -853,7 +871,7 @@ def begin_delete( ) -> LROPoller[None]: """Deletes the attached database configuration with the given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -876,9 +894,7 @@ def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -901,7 +917,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_cluster_principal_assignments_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_cluster_principal_assignments_operations.py index ee3c232b3c6e..113637571b95 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_cluster_principal_assignments_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_cluster_principal_assignments_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -32,10 +32,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -49,7 +45,7 @@ def build_check_name_availability_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -59,9 +55,11 @@ def build_check_name_availability_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkPrincipalAssignmentNameAvailability", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -83,7 +81,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -92,10 +90,14 @@ def build_get_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "principalAssignmentName": _SERIALIZER.url("principal_assignment_name", principal_assignment_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "principalAssignmentName": _SERIALIZER.url( + "principal_assignment_name", principal_assignment_name, "str", pattern=r"^.*$" + ), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -115,7 +117,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -125,10 +127,14 @@ def build_create_or_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "principalAssignmentName": _SERIALIZER.url("principal_assignment_name", principal_assignment_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "principalAssignmentName": _SERIALIZER.url( + "principal_assignment_name", principal_assignment_name, "str", pattern=r"^.*$" + ), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -150,7 +156,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -159,10 +165,14 @@ def build_delete_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "principalAssignmentName": _SERIALIZER.url("principal_assignment_name", principal_assignment_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "principalAssignmentName": _SERIALIZER.url( + "principal_assignment_name", principal_assignment_name, "str", pattern=r"^.*$" + ), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -180,7 +190,7 @@ def build_list_request(resource_group_name: str, cluster_name: str, subscription _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -189,9 +199,11 @@ def build_list_request(resource_group_name: str, cluster_name: str, subscription "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -236,7 +248,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the principal assignment name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -265,7 +277,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the principal assignment name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -291,13 +303,13 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the principal assignment name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param principal_assignment_name: The name of the principal assignment. Is either a model type - or a IO type. Required. + :param principal_assignment_name: The name of the principal assignment. Is either a + ClusterPrincipalAssignmentCheckNameRequest type or a IO type. Required. :type principal_assignment_name: ~azure.mgmt.kusto.models.ClusterPrincipalAssignmentCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -319,16 +331,14 @@ def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(principal_assignment_name, (IO, bytes)): + if isinstance(principal_assignment_name, (IOBase, bytes)): _content = principal_assignment_name else: _json = self._serialize.body(principal_assignment_name, "ClusterPrincipalAssignmentCheckNameRequest") @@ -348,15 +358,17 @@ def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -375,7 +387,7 @@ def get( ) -> _models.ClusterPrincipalAssignment: """Gets a Kusto cluster principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -398,9 +410,7 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ClusterPrincipalAssignment] = kwargs.pop("cls", None) request = build_get_request( @@ -416,15 +426,17 @@ def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("ClusterPrincipalAssignment", pipeline_response) @@ -456,16 +468,14 @@ def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ClusterPrincipalAssignment] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "ClusterPrincipalAssignment") @@ -486,15 +496,17 @@ def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize("ClusterPrincipalAssignment", pipeline_response) @@ -524,7 +536,7 @@ def begin_create_or_update( ) -> LROPoller[_models.ClusterPrincipalAssignment]: """Create a Kusto cluster principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -564,7 +576,7 @@ def begin_create_or_update( ) -> LROPoller[_models.ClusterPrincipalAssignment]: """Create a Kusto cluster principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -602,7 +614,7 @@ def begin_create_or_update( ) -> LROPoller[_models.ClusterPrincipalAssignment]: """Create a Kusto cluster principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -610,7 +622,7 @@ def begin_create_or_update( :param principal_assignment_name: The name of the Kusto principalAssignment. Required. :type principal_assignment_name: str :param parameters: The Kusto cluster principalAssignment's parameters supplied for the - operation. Is either a model type or a IO type. Required. + operation. Is either a ClusterPrincipalAssignment type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.ClusterPrincipalAssignment or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -631,9 +643,7 @@ def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ClusterPrincipalAssignment] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -661,7 +671,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -693,9 +705,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -711,18 +721,26 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}" @@ -734,7 +752,7 @@ def begin_delete( ) -> LROPoller[None]: """Deletes a Kusto cluster principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -756,9 +774,7 @@ def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -781,7 +797,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -805,7 +823,7 @@ def list( ) -> Iterable["_models.ClusterPrincipalAssignment"]: """Lists all Kusto cluster principalAssignments. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -819,9 +837,7 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ClusterPrincipalAssignmentListResult] = kwargs.pop("cls", None) error_map = { @@ -875,14 +891,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_clusters_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_clusters_operations.py index 522e33b086d6..791eb2fa538d 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_clusters_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_clusters_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -32,10 +32,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -47,7 +43,7 @@ def build_get_request(resource_group_name: str, cluster_name: str, subscription_ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -56,9 +52,11 @@ def build_get_request(resource_group_name: str, cluster_name: str, subscription_ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -84,7 +82,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -94,9 +92,11 @@ def build_create_or_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -122,7 +122,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -132,9 +132,11 @@ def build_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -158,7 +160,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -167,9 +169,11 @@ def build_delete_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -187,7 +191,7 @@ def build_stop_request(resource_group_name: str, cluster_name: str, subscription _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -196,9 +200,11 @@ def build_stop_request(resource_group_name: str, cluster_name: str, subscription "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -218,7 +224,7 @@ def build_start_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -227,9 +233,11 @@ def build_start_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -243,13 +251,49 @@ def build_start_request( return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) +def build_migrate_request( + resource_group_name: str, cluster_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/migrate", + ) # pylint: disable=line-too-long + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + } + + _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + def build_list_follower_databases_request( resource_group_name: str, cluster_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -258,9 +302,11 @@ def build_list_follower_databases_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -280,7 +326,7 @@ def build_detach_follower_databases_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -290,9 +336,11 @@ def build_detach_follower_databases_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -314,7 +362,7 @@ def build_diagnose_virtual_network_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -323,9 +371,11 @@ def build_diagnose_virtual_network_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -343,7 +393,7 @@ def build_list_by_resource_group_request(resource_group_name: str, subscription_ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -352,8 +402,10 @@ def build_list_by_resource_group_request(resource_group_name: str, subscription_ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -371,13 +423,13 @@ def build_list_request(subscription_id: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters") path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -395,13 +447,13 @@ def build_list_skus_request(subscription_id: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus") path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -419,7 +471,7 @@ def build_check_name_availability_request(location: str, subscription_id: str, * _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -429,8 +481,8 @@ def build_check_name_availability_request(location: str, subscription_id: str, * "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "location": _SERIALIZER.url("location", location, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -452,7 +504,7 @@ def build_list_skus_by_resource_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -461,9 +513,11 @@ def build_list_skus_by_resource_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -483,7 +537,7 @@ def build_list_outbound_network_dependencies_endpoints_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -492,9 +546,11 @@ def build_list_outbound_network_dependencies_endpoints_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/outboundNetworkDependenciesEndpoints", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -514,7 +570,7 @@ def build_list_language_extensions_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -523,9 +579,11 @@ def build_list_language_extensions_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -545,7 +603,7 @@ def build_add_language_extensions_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -555,9 +613,11 @@ def build_add_language_extensions_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -579,7 +639,7 @@ def build_remove_language_extensions_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -589,9 +649,11 @@ def build_remove_language_extensions_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -630,7 +692,7 @@ def __init__(self, *args, **kwargs): def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _models.Cluster: """Gets a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -651,9 +713,7 @@ def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _mo _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) request = build_get_request( @@ -668,15 +728,17 @@ def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _mo request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("Cluster", pipeline_response) @@ -709,16 +771,14 @@ def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "Cluster") @@ -740,15 +800,17 @@ def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize("Cluster", pipeline_response) @@ -779,7 +841,7 @@ def begin_create_or_update( ) -> LROPoller[_models.Cluster]: """Create or update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -825,7 +887,7 @@ def begin_create_or_update( ) -> LROPoller[_models.Cluster]: """Create or update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -869,13 +931,13 @@ def begin_create_or_update( ) -> LROPoller[_models.Cluster]: """Create or update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param parameters: The Kusto cluster parameters supplied to the CreateOrUpdate operation. Is - either a model type or a IO type. Required. + either a Cluster type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.Cluster or IO :param if_match: The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent @@ -903,9 +965,7 @@ def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -934,7 +994,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -971,16 +1033,14 @@ def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "ClusterUpdate") @@ -1001,15 +1061,17 @@ def _update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 200: @@ -1051,7 +1113,7 @@ def begin_update( ) -> LROPoller[_models.Cluster]: """Update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1091,7 +1153,7 @@ def begin_update( ) -> LROPoller[_models.Cluster]: """Update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1129,13 +1191,13 @@ def begin_update( ) -> LROPoller[_models.Cluster]: """Update a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param parameters: The Kusto cluster parameters supplied to the Update operation. Is either a - model type or a IO type. Required. + ClusterUpdate type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.ClusterUpdate or IO :param if_match: The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent @@ -1159,9 +1221,7 @@ def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -1189,7 +1249,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1221,9 +1283,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -1238,18 +1298,26 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}" @@ -1259,7 +1327,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements def begin_delete(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> LROPoller[None]: """Deletes a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1279,9 +1347,7 @@ def begin_delete(self, resource_group_name: str, cluster_name: str, **kwargs: An _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1303,7 +1369,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1335,9 +1403,7 @@ def _stop_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_stop_request( @@ -1352,18 +1418,26 @@ def _stop_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _stop_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop" @@ -1373,7 +1447,7 @@ def _stop_initial( # pylint: disable=inconsistent-return-statements def begin_stop(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> LROPoller[None]: """Stops a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1393,9 +1467,7 @@ def begin_stop(self, resource_group_name: str, cluster_name: str, **kwargs: Any) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1417,7 +1489,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1449,9 +1523,7 @@ def _start_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_start_request( @@ -1466,18 +1538,26 @@ def _start_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _start_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start" @@ -1487,7 +1567,7 @@ def _start_initial( # pylint: disable=inconsistent-return-statements def begin_start(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> LROPoller[None]: """Starts a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1507,9 +1587,7 @@ def begin_start(self, resource_group_name: str, cluster_name: str, **kwargs: Any _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1531,7 +1609,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1549,6 +1629,227 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start" } + def _migrate_initial( # pylint: disable=inconsistent-return-statements + self, + resource_group_name: str, + cluster_name: str, + cluster_migrate_request: Union[_models.ClusterMigrateRequest, IO], + **kwargs: Any + ) -> None: + error_map = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[None] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(cluster_migrate_request, (IOBase, bytes)): + _content = cluster_migrate_request + else: + _json = self._serialize.body(cluster_migrate_request, "ClusterMigrateRequest") + + request = build_migrate_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + template_url=self._migrate_initial.metadata["url"], + headers=_headers, + params=_params, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + if cls: + return cls(pipeline_response, None, response_headers) + + _migrate_initial.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/migrate" + } + + @overload + def begin_migrate( + self, + resource_group_name: str, + cluster_name: str, + cluster_migrate_request: _models.ClusterMigrateRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[None]: + """Migrate data from a Kusto cluster to another cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param cluster_migrate_request: The cluster migrate request parameters. Required. + :type cluster_migrate_request: ~azure.mgmt.kusto.models.ClusterMigrateRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :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] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_migrate( + self, + resource_group_name: str, + cluster_name: str, + cluster_migrate_request: IO, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[None]: + """Migrate data from a Kusto cluster to another cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param cluster_migrate_request: The cluster migrate request parameters. Required. + :type cluster_migrate_request: IO + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :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] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_migrate( + self, + resource_group_name: str, + cluster_name: str, + cluster_migrate_request: Union[_models.ClusterMigrateRequest, IO], + **kwargs: Any + ) -> LROPoller[None]: + """Migrate data from a Kusto cluster to another cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param cluster_migrate_request: The cluster migrate request parameters. Is either a + ClusterMigrateRequest type or a IO type. Required. + :type cluster_migrate_request: ~azure.mgmt.kusto.models.ClusterMigrateRequest or IO + :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. + Default value is None. + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :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] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._migrate_initial( # type: ignore + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_migrate_request=cluster_migrate_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + begin_migrate.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/migrate" + } + @distributed_trace def list_follower_databases( self, resource_group_name: str, cluster_name: str, **kwargs: Any @@ -1556,7 +1857,7 @@ def list_follower_databases( """Returns a list of databases that are owned by this cluster and were followed by another cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1570,9 +1871,7 @@ def list_follower_databases( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.FollowerDatabaseListResult] = kwargs.pop("cls", None) error_map = { @@ -1626,14 +1925,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1661,16 +1962,14 @@ def _detach_follower_databases_initial( # pylint: disable=inconsistent-return-s _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(follower_database_to_remove, (IO, bytes)): + if isinstance(follower_database_to_remove, (IOBase, bytes)): _content = follower_database_to_remove else: _json = self._serialize.body(follower_database_to_remove, "FollowerDatabaseDefinition") @@ -1690,18 +1989,26 @@ def _detach_follower_databases_initial( # pylint: disable=inconsistent-return-s request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _detach_follower_databases_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases" @@ -1719,7 +2026,7 @@ def begin_detach_follower_databases( ) -> LROPoller[None]: """Detaches all followers of a database owned by this cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1754,7 +2061,7 @@ def begin_detach_follower_databases( ) -> LROPoller[None]: """Detaches all followers of a database owned by this cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1787,13 +2094,13 @@ def begin_detach_follower_databases( ) -> LROPoller[None]: """Detaches all followers of a database owned by this cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param follower_database_to_remove: The follower databases properties to remove. Is either a - model type or a IO type. Required. + FollowerDatabaseDefinition type or a IO type. Required. :type follower_database_to_remove: ~azure.mgmt.kusto.models.FollowerDatabaseDefinition or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -1813,9 +2120,7 @@ def begin_detach_follower_databases( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -1840,7 +2145,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1872,9 +2179,7 @@ def _diagnose_virtual_network_initial( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[Optional[_models.DiagnoseVirtualNetworkResult]] = kwargs.pop("cls", None) request = build_diagnose_virtual_network_request( @@ -1889,22 +2194,30 @@ def _diagnose_virtual_network_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("DiagnoseVirtualNetworkResult", pipeline_response) + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, response_headers) return deserialized @@ -1919,7 +2232,7 @@ def begin_diagnose_virtual_network( """Diagnoses network connectivity status for external resources on which the service is dependent on. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1940,9 +2253,7 @@ def begin_diagnose_virtual_network( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DiagnoseVirtualNetworkResult] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1990,7 +2301,7 @@ def get_long_running_output(pipeline_response): def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Iterable["_models.Cluster"]: """Lists all Kusto clusters within a resource group. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :keyword callable cls: A custom type or function that will be passed the direct response @@ -2001,9 +2312,7 @@ def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Ite _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ClusterListResult] = kwargs.pop("cls", None) error_map = { @@ -2056,14 +2365,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2085,9 +2396,7 @@ def list(self, **kwargs: Any) -> Iterable["_models.Cluster"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ClusterListResult] = kwargs.pop("cls", None) error_map = { @@ -2139,14 +2448,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2166,9 +2477,7 @@ def list_skus(self, **kwargs: Any) -> Iterable["_models.SkuDescription"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.SkuDescriptionList] = kwargs.pop("cls", None) error_map = { @@ -2220,14 +2529,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2246,7 +2557,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the cluster name is valid and is not already in use. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str :param cluster_name: The name of the cluster. Required. :type cluster_name: ~azure.mgmt.kusto.models.ClusterCheckNameRequest @@ -2265,7 +2576,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the cluster name is valid and is not already in use. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str :param cluster_name: The name of the cluster. Required. :type cluster_name: IO @@ -2284,9 +2595,10 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the cluster name is valid and is not already in use. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str - :param cluster_name: The name of the cluster. Is either a model type or a IO type. Required. + :param cluster_name: The name of the cluster. Is either a ClusterCheckNameRequest type or a IO + type. Required. :type cluster_name: ~azure.mgmt.kusto.models.ClusterCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -2307,16 +2619,14 @@ def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(cluster_name, (IO, bytes)): + if isinstance(cluster_name, (IOBase, bytes)): _content = cluster_name else: _json = self._serialize.body(cluster_name, "ClusterCheckNameRequest") @@ -2335,15 +2645,17 @@ def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -2362,7 +2674,7 @@ def list_skus_by_resource( ) -> Iterable["_models.AzureResourceSku"]: """Returns the SKUs available for the provided resource. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2375,9 +2687,7 @@ def list_skus_by_resource( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ListResourceSkusResult] = kwargs.pop("cls", None) error_map = { @@ -2431,14 +2741,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2454,7 +2766,7 @@ def list_outbound_network_dependencies_endpoints( ) -> Iterable["_models.OutboundNetworkDependenciesEndpoint"]: """Gets the network endpoints of all outbound dependencies of a Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2469,9 +2781,7 @@ def list_outbound_network_dependencies_endpoints( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.OutboundNetworkDependenciesEndpointListResult] = kwargs.pop("cls", None) error_map = { @@ -2525,14 +2835,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2548,7 +2860,7 @@ def list_language_extensions( ) -> Iterable["_models.LanguageExtension"]: """Returns a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2561,9 +2873,7 @@ def list_language_extensions( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.LanguageExtensionsList] = kwargs.pop("cls", None) error_map = { @@ -2617,14 +2927,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -2652,16 +2964,14 @@ def _add_language_extensions_initial( # pylint: disable=inconsistent-return-sta _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(language_extensions_to_add, (IO, bytes)): + if isinstance(language_extensions_to_add, (IOBase, bytes)): _content = language_extensions_to_add else: _json = self._serialize.body(language_extensions_to_add, "LanguageExtensionsList") @@ -2681,18 +2991,26 @@ def _add_language_extensions_initial( # pylint: disable=inconsistent-return-sta request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _add_language_extensions_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions" @@ -2710,7 +3028,7 @@ def begin_add_language_extensions( ) -> LROPoller[None]: """Add a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2745,7 +3063,7 @@ def begin_add_language_extensions( ) -> LROPoller[None]: """Add a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2778,13 +3096,13 @@ def begin_add_language_extensions( ) -> LROPoller[None]: """Add a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param language_extensions_to_add: The language extensions to add. Is either a model type or a - IO type. Required. + :param language_extensions_to_add: The language extensions to add. Is either a + LanguageExtensionsList type or a IO type. Required. :type language_extensions_to_add: ~azure.mgmt.kusto.models.LanguageExtensionsList or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -2804,9 +3122,7 @@ def begin_add_language_extensions( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -2831,7 +3147,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -2867,16 +3185,14 @@ def _remove_language_extensions_initial( # pylint: disable=inconsistent-return- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(language_extensions_to_remove, (IO, bytes)): + if isinstance(language_extensions_to_remove, (IOBase, bytes)): _content = language_extensions_to_remove else: _json = self._serialize.body(language_extensions_to_remove, "LanguageExtensionsList") @@ -2896,18 +3212,26 @@ def _remove_language_extensions_initial( # pylint: disable=inconsistent-return- request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _remove_language_extensions_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions" @@ -2925,7 +3249,7 @@ def begin_remove_language_extensions( ) -> LROPoller[None]: """Remove a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2960,7 +3284,7 @@ def begin_remove_language_extensions( ) -> LROPoller[None]: """Remove a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -2993,13 +3317,13 @@ def begin_remove_language_extensions( ) -> LROPoller[None]: """Remove a list of language extensions that can run within KQL queries. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param language_extensions_to_remove: The language extensions to remove. Is either a model type - or a IO type. Required. + :param language_extensions_to_remove: The language extensions to remove. Is either a + LanguageExtensionsList type or a IO type. Required. :type language_extensions_to_remove: ~azure.mgmt.kusto.models.LanguageExtensionsList or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -3019,9 +3343,7 @@ def begin_remove_language_extensions( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -3046,7 +3368,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_data_connections_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_data_connections_operations.py index 0f39696cf6c7..d6a713437dcc 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_data_connections_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_data_connections_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -32,10 +32,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -49,7 +45,7 @@ def build_list_by_database_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -58,10 +54,12 @@ def build_list_by_database_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -81,7 +79,7 @@ def build_data_connection_validation_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -91,10 +89,12 @@ def build_data_connection_validation_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -116,7 +116,7 @@ def build_check_name_availability_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -126,10 +126,12 @@ def build_check_name_availability_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -156,7 +158,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -165,11 +167,13 @@ def build_get_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "dataConnectionName": _SERIALIZER.url("data_connection_name", data_connection_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "dataConnectionName": _SERIALIZER.url("data_connection_name", data_connection_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -194,7 +198,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -204,11 +208,13 @@ def build_create_or_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "dataConnectionName": _SERIALIZER.url("data_connection_name", data_connection_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "dataConnectionName": _SERIALIZER.url("data_connection_name", data_connection_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -235,7 +241,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -245,11 +251,13 @@ def build_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "dataConnectionName": _SERIALIZER.url("data_connection_name", data_connection_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "dataConnectionName": _SERIALIZER.url("data_connection_name", data_connection_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -276,7 +284,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -285,11 +293,13 @@ def build_delete_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "dataConnectionName": _SERIALIZER.url("data_connection_name", data_connection_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "dataConnectionName": _SERIALIZER.url("data_connection_name", data_connection_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -328,7 +338,7 @@ def list_by_database( ) -> Iterable["_models.DataConnection"]: """Returns the list of data connections of the given Kusto database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -343,9 +353,7 @@ def list_by_database( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DataConnectionListResult] = kwargs.pop("cls", None) error_map = { @@ -400,14 +408,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -436,16 +446,14 @@ def _data_connection_validation_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[Optional[_models.DataConnectionValidationListResult]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "DataConnectionValidation") @@ -466,22 +474,30 @@ def _data_connection_validation_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("DataConnectionValidationListResult", pipeline_response) + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, response_headers) return deserialized @@ -502,7 +518,7 @@ def begin_data_connection_validation( ) -> LROPoller[_models.DataConnectionValidationListResult]: """Checks that the data connection parameters are valid. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -543,7 +559,7 @@ def begin_data_connection_validation( ) -> LROPoller[_models.DataConnectionValidationListResult]: """Checks that the data connection parameters are valid. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -582,7 +598,7 @@ def begin_data_connection_validation( ) -> LROPoller[_models.DataConnectionValidationListResult]: """Checks that the data connection parameters are valid. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -590,7 +606,7 @@ def begin_data_connection_validation( :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str :param parameters: The data connection parameters supplied to the CreateOrUpdate operation. Is - either a model type or a IO type. Required. + either a DataConnectionValidation type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.DataConnectionValidation or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -612,9 +628,7 @@ def begin_data_connection_validation( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DataConnectionValidationListResult] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -675,7 +689,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the data connection name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -706,7 +720,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the data connection name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -735,15 +749,15 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the data connection name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param data_connection_name: The name of the data connection. Is either a model type or a IO - type. Required. + :param data_connection_name: The name of the data connection. Is either a + DataConnectionCheckNameRequest type or a IO type. Required. :type data_connection_name: ~azure.mgmt.kusto.models.DataConnectionCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -764,16 +778,14 @@ def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(data_connection_name, (IO, bytes)): + if isinstance(data_connection_name, (IOBase, bytes)): _content = data_connection_name else: _json = self._serialize.body(data_connection_name, "DataConnectionCheckNameRequest") @@ -794,15 +806,17 @@ def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -821,7 +835,7 @@ def get( ) -> _models.DataConnection: """Returns a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -846,9 +860,7 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DataConnection] = kwargs.pop("cls", None) request = build_get_request( @@ -865,15 +877,17 @@ def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("DataConnection", pipeline_response) @@ -906,16 +920,14 @@ def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DataConnection] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "DataConnection") @@ -937,16 +949,19 @@ def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("DataConnection", pipeline_response) @@ -954,10 +969,14 @@ def _create_or_update_initial( deserialized = self._deserialize("DataConnection", pipeline_response) if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + deserialized = self._deserialize("DataConnection", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @@ -979,7 +998,7 @@ def begin_create_or_update( ) -> LROPoller[_models.DataConnection]: """Creates or updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1022,7 +1041,7 @@ def begin_create_or_update( ) -> LROPoller[_models.DataConnection]: """Creates or updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1063,7 +1082,7 @@ def begin_create_or_update( ) -> LROPoller[_models.DataConnection]: """Creates or updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1073,7 +1092,7 @@ def begin_create_or_update( :param data_connection_name: The name of the data connection. Required. :type data_connection_name: str :param parameters: The data connection parameters supplied to the CreateOrUpdate operation. Is - either a model type or a IO type. Required. + either a DataConnection type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.DataConnection or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -1094,9 +1113,7 @@ def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DataConnection] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -1125,7 +1142,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1163,16 +1182,14 @@ def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DataConnection] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "DataConnection") @@ -1194,15 +1211,17 @@ def _update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 200: @@ -1245,7 +1264,7 @@ def begin_update( ) -> LROPoller[_models.DataConnection]: """Updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1287,7 +1306,7 @@ def begin_update( ) -> LROPoller[_models.DataConnection]: """Updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1327,7 +1346,7 @@ def begin_update( ) -> LROPoller[_models.DataConnection]: """Updates a data connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1337,7 +1356,7 @@ def begin_update( :param data_connection_name: The name of the data connection. Required. :type data_connection_name: str :param parameters: The data connection parameters supplied to the Update operation. Is either a - model type or a IO type. Required. + DataConnection type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.DataConnection or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -1358,9 +1377,7 @@ def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DataConnection] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -1389,7 +1406,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1421,9 +1440,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -1440,18 +1457,26 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}" @@ -1463,7 +1488,7 @@ def begin_delete( ) -> LROPoller[None]: """Deletes the data connection with the given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1487,9 +1512,7 @@ def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1513,7 +1536,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_database_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_database_operations.py new file mode 100644 index 000000000000..4f022b30fd40 --- /dev/null +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_database_operations.py @@ -0,0 +1,245 @@ +# pylint: disable=too-many-lines +# 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 io import IOBase +from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload + +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.utils import case_insensitive_dict +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models as _models +from .._serialization import Serializer +from .._vendor import _convert_request, _format_url_section + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + + +def build_invite_follower_request( + resource_group_name: str, cluster_name: str, database_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/inviteFollower", + ) # pylint: disable=line-too-long + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + } + + _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +class DatabaseOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.kusto.KustoManagementClient`'s + :attr:`database` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs): + input_args = list(args) + self._client = input_args.pop(0) if input_args else kwargs.pop("client") + self._config = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @overload + def invite_follower( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + parameters: _models.DatabaseInviteFollowerRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.DatabaseInviteFollowerResult: + """Generates an invitation token that allows attaching a follower database to this database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. Required. + :type database_name: str + :param parameters: The follower invitation request parameters. Required. + :type parameters: ~azure.mgmt.kusto.models.DatabaseInviteFollowerRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseInviteFollowerResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabaseInviteFollowerResult + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def invite_follower( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + parameters: IO, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.DatabaseInviteFollowerResult: + """Generates an invitation token that allows attaching a follower database to this database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. Required. + :type database_name: str + :param parameters: The follower invitation request parameters. Required. + :type parameters: IO + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseInviteFollowerResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabaseInviteFollowerResult + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def invite_follower( + self, + resource_group_name: str, + cluster_name: str, + database_name: str, + parameters: Union[_models.DatabaseInviteFollowerRequest, IO], + **kwargs: Any + ) -> _models.DatabaseInviteFollowerResult: + """Generates an invitation token that allows attaching a follower database to this database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the Kusto cluster. Required. + :type cluster_name: str + :param database_name: The name of the database in the Kusto cluster. Required. + :type database_name: str + :param parameters: The follower invitation request parameters. Is either a + DatabaseInviteFollowerRequest type or a IO type. Required. + :type parameters: ~azure.mgmt.kusto.models.DatabaseInviteFollowerRequest or IO + :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. + Default value is None. + :paramtype content_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseInviteFollowerResult or the result of cls(response) + :rtype: ~azure.mgmt.kusto.models.DatabaseInviteFollowerResult + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.DatabaseInviteFollowerResult] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _json = self._serialize.body(parameters, "DatabaseInviteFollowerRequest") + + request = build_invite_follower_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + template_url=self.invite_follower.metadata["url"], + headers=_headers, + params=_params, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize("DatabaseInviteFollowerResult", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + invite_follower.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/inviteFollower" + } diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_database_principal_assignments_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_database_principal_assignments_operations.py index 202682096f11..646c3feea713 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_database_principal_assignments_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_database_principal_assignments_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -32,10 +32,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -49,7 +45,7 @@ def build_check_name_availability_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -59,10 +55,12 @@ def build_check_name_availability_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkPrincipalAssignmentNameAvailability", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -89,7 +87,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -98,11 +96,15 @@ def build_get_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "principalAssignmentName": _SERIALIZER.url("principal_assignment_name", principal_assignment_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "principalAssignmentName": _SERIALIZER.url( + "principal_assignment_name", principal_assignment_name, "str", pattern=r"^.*$" + ), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -127,7 +129,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -137,11 +139,15 @@ def build_create_or_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "principalAssignmentName": _SERIALIZER.url("principal_assignment_name", principal_assignment_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "principalAssignmentName": _SERIALIZER.url( + "principal_assignment_name", principal_assignment_name, "str", pattern=r"^.*$" + ), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -168,7 +174,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -177,11 +183,15 @@ def build_delete_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "principalAssignmentName": _SERIALIZER.url("principal_assignment_name", principal_assignment_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "principalAssignmentName": _SERIALIZER.url( + "principal_assignment_name", principal_assignment_name, "str", pattern=r"^.*$" + ), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -201,7 +211,7 @@ def build_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -210,10 +220,12 @@ def build_list_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -259,7 +271,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the database principal assignment is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -291,7 +303,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the database principal assignment is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -320,15 +332,15 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the database principal assignment is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param principal_assignment_name: The name of the resource. Is either a model type or a IO - type. Required. + :param principal_assignment_name: The name of the resource. Is either a + DatabasePrincipalAssignmentCheckNameRequest type or a IO type. Required. :type principal_assignment_name: ~azure.mgmt.kusto.models.DatabasePrincipalAssignmentCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -350,16 +362,14 @@ def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(principal_assignment_name, (IO, bytes)): + if isinstance(principal_assignment_name, (IOBase, bytes)): _content = principal_assignment_name else: _json = self._serialize.body(principal_assignment_name, "DatabasePrincipalAssignmentCheckNameRequest") @@ -380,15 +390,17 @@ def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -412,7 +424,7 @@ def get( ) -> _models.DatabasePrincipalAssignment: """Gets a Kusto cluster database principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -437,9 +449,7 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DatabasePrincipalAssignment] = kwargs.pop("cls", None) request = build_get_request( @@ -456,15 +466,17 @@ def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("DatabasePrincipalAssignment", pipeline_response) @@ -497,16 +509,14 @@ def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DatabasePrincipalAssignment] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "DatabasePrincipalAssignment") @@ -528,15 +538,17 @@ def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize("DatabasePrincipalAssignment", pipeline_response) @@ -567,7 +579,7 @@ def begin_create_or_update( ) -> LROPoller[_models.DatabasePrincipalAssignment]: """Creates a Kusto cluster database principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -610,7 +622,7 @@ def begin_create_or_update( ) -> LROPoller[_models.DatabasePrincipalAssignment]: """Creates a Kusto cluster database principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -651,7 +663,7 @@ def begin_create_or_update( ) -> LROPoller[_models.DatabasePrincipalAssignment]: """Creates a Kusto cluster database principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -661,7 +673,7 @@ def begin_create_or_update( :param principal_assignment_name: The name of the Kusto principalAssignment. Required. :type principal_assignment_name: str :param parameters: The Kusto principalAssignments parameters supplied for the operation. Is - either a model type or a IO type. Required. + either a DatabasePrincipalAssignment type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.DatabasePrincipalAssignment or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -682,9 +694,7 @@ def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DatabasePrincipalAssignment] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -713,7 +723,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -750,9 +762,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -769,18 +779,26 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}" @@ -797,7 +815,7 @@ def begin_delete( ) -> LROPoller[None]: """Deletes a Kusto principalAssignment. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -821,9 +839,7 @@ def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -847,7 +863,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -871,7 +889,7 @@ def list( ) -> Iterable["_models.DatabasePrincipalAssignment"]: """Lists all Kusto cluster database principalAssignments. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -887,9 +905,7 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DatabasePrincipalAssignmentListResult] = kwargs.pop("cls", None) error_map = { @@ -944,14 +960,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_databases_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_databases_operations.py index 28e3791579dd..a7d714c4f147 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_databases_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_databases_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -32,10 +32,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -49,7 +45,7 @@ def build_check_name_availability_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -59,9 +55,11 @@ def build_check_name_availability_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -78,12 +76,18 @@ def build_check_name_availability_request( def build_list_by_cluster_request( - resource_group_name: str, cluster_name: str, subscription_id: str, **kwargs: Any + resource_group_name: str, + cluster_name: str, + subscription_id: str, + *, + top: Optional[int] = None, + skiptoken: Optional[str] = None, + **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -92,15 +96,21 @@ def build_list_by_cluster_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + if top is not None: + _params["$top"] = _SERIALIZER.query("top", top, "int", maximum=1000, minimum=5) + if skiptoken is not None: + _params["$skiptoken"] = _SERIALIZER.query("skiptoken", skiptoken, "str") # Construct headers _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") @@ -114,7 +124,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -123,10 +133,12 @@ def build_get_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -152,7 +164,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -162,10 +174,12 @@ def build_create_or_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -195,7 +209,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -205,10 +219,12 @@ def build_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -232,7 +248,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -241,10 +257,12 @@ def build_delete_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -264,7 +282,7 @@ def build_list_principals_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -273,10 +291,12 @@ def build_list_principals_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -296,7 +316,7 @@ def build_add_principals_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -306,10 +326,12 @@ def build_add_principals_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -331,7 +353,7 @@ def build_remove_principals_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -341,10 +363,12 @@ def build_remove_principals_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -391,7 +415,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the databases resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -419,7 +443,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the databases resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -445,12 +469,13 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the databases resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param resource_name: The name of the resource. Is either a model type or a IO type. Required. + :param resource_name: The name of the resource. Is either a CheckNameRequest type or a IO type. + Required. :type resource_name: ~azure.mgmt.kusto.models.CheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -471,16 +496,14 @@ def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(resource_name, (IO, bytes)): + if isinstance(resource_name, (IOBase, bytes)): _content = resource_name else: _json = self._serialize.body(resource_name, "CheckNameRequest") @@ -500,15 +523,17 @@ def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -523,15 +548,27 @@ def check_name_availability( @distributed_trace def list_by_cluster( - self, resource_group_name: str, cluster_name: str, **kwargs: Any + self, + resource_group_name: str, + cluster_name: str, + top: Optional[int] = None, + skiptoken: Optional[str] = None, + **kwargs: Any ) -> Iterable["_models.Database"]: """Returns the list of databases of the given Kusto cluster. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str + :param top: limit the number of results. Default value is None. + :type top: int + :param skiptoken: Skiptoken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skiptoken parameter that specifies a starting point to use for subsequent calls. Default + value is None. + :type skiptoken: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either Database or the result of cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kusto.models.Database] @@ -540,9 +577,7 @@ def list_by_cluster( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DatabaseListResult] = kwargs.pop("cls", None) error_map = { @@ -560,6 +595,8 @@ def prepare_request(next_link=None): resource_group_name=resource_group_name, cluster_name=cluster_name, subscription_id=self._config.subscription_id, + top=top, + skiptoken=skiptoken, api_version=api_version, template_url=self.list_by_cluster.metadata["url"], headers=_headers, @@ -591,19 +628,21 @@ def extract_data(pipeline_response): list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) # type: ignore - return None, iter(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -617,7 +656,7 @@ def get_next(next_link=None): def get(self, resource_group_name: str, cluster_name: str, database_name: str, **kwargs: Any) -> _models.Database: """Returns a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -640,9 +679,7 @@ def get(self, resource_group_name: str, cluster_name: str, database_name: str, * _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.Database] = kwargs.pop("cls", None) request = build_get_request( @@ -658,15 +695,17 @@ def get(self, resource_group_name: str, cluster_name: str, database_name: str, * request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("Database", pipeline_response) @@ -699,16 +738,14 @@ def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Database] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "Database") @@ -730,16 +767,19 @@ def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("Database", pipeline_response) @@ -747,10 +787,14 @@ def _create_or_update_initial( deserialized = self._deserialize("Database", pipeline_response) if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + deserialized = self._deserialize("Database", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @@ -772,7 +816,7 @@ def begin_create_or_update( ) -> LROPoller[_models.Database]: """Creates or updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -815,7 +859,7 @@ def begin_create_or_update( ) -> LROPoller[_models.Database]: """Creates or updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -856,7 +900,7 @@ def begin_create_or_update( ) -> LROPoller[_models.Database]: """Creates or updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -864,7 +908,7 @@ def begin_create_or_update( :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str :param parameters: The database parameters supplied to the CreateOrUpdate operation. Is either - a model type or a IO type. Required. + a Database type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.Database or IO :param caller_role: By default, any user who run operation on a database become an Admin on it. This property allows the caller to exclude the caller from Admins list. Known values are: @@ -888,9 +932,7 @@ def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Database] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -919,7 +961,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -957,16 +1001,14 @@ def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Database] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "Database") @@ -988,15 +1030,17 @@ def _update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 200: @@ -1039,7 +1083,7 @@ def begin_update( ) -> LROPoller[_models.Database]: """Updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1082,7 +1126,7 @@ def begin_update( ) -> LROPoller[_models.Database]: """Updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1123,15 +1167,15 @@ def begin_update( ) -> LROPoller[_models.Database]: """Updates a database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param parameters: The database parameters supplied to the Update operation. Is either a model - type or a IO type. Required. + :param parameters: The database parameters supplied to the Update operation. Is either a + Database type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.Database or IO :param caller_role: By default, any user who run operation on a database become an Admin on it. This property allows the caller to exclude the caller from Admins list. Known values are: @@ -1155,9 +1199,7 @@ def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Database] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -1186,7 +1228,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1218,9 +1262,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -1236,18 +1278,26 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}" @@ -1259,7 +1309,7 @@ def begin_delete( ) -> LROPoller[None]: """Deletes the database with the given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1281,9 +1331,7 @@ def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1306,7 +1354,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1330,7 +1380,7 @@ def list_principals( ) -> Iterable["_models.DatabasePrincipal"]: """Returns a list of database principals of the given Kusto cluster and database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1345,9 +1395,7 @@ def list_principals( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.DatabasePrincipalListResult] = kwargs.pop("cls", None) error_map = { @@ -1402,14 +1450,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -1432,7 +1482,7 @@ def add_principals( ) -> _models.DatabasePrincipalListResult: """Add Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1463,7 +1513,7 @@ def add_principals( ) -> _models.DatabasePrincipalListResult: """Add Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1492,15 +1542,15 @@ def add_principals( ) -> _models.DatabasePrincipalListResult: """Add Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param database_principals_to_add: List of database principals to add. Is either a model type - or a IO type. Required. + :param database_principals_to_add: List of database principals to add. Is either a + DatabasePrincipalListRequest type or a IO type. Required. :type database_principals_to_add: ~azure.mgmt.kusto.models.DatabasePrincipalListRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -1521,16 +1571,14 @@ def add_principals( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DatabasePrincipalListResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(database_principals_to_add, (IO, bytes)): + if isinstance(database_principals_to_add, (IOBase, bytes)): _content = database_principals_to_add else: _json = self._serialize.body(database_principals_to_add, "DatabasePrincipalListRequest") @@ -1551,15 +1599,17 @@ def add_principals( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("DatabasePrincipalListResult", pipeline_response) @@ -1585,7 +1635,7 @@ def remove_principals( ) -> _models.DatabasePrincipalListResult: """Remove Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1616,7 +1666,7 @@ def remove_principals( ) -> _models.DatabasePrincipalListResult: """Remove Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1645,15 +1695,15 @@ def remove_principals( ) -> _models.DatabasePrincipalListResult: """Remove Database principals permissions. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param database_principals_to_remove: List of database principals to remove. Is either a model - type or a IO type. Required. + :param database_principals_to_remove: List of database principals to remove. Is either a + DatabasePrincipalListRequest type or a IO type. Required. :type database_principals_to_remove: ~azure.mgmt.kusto.models.DatabasePrincipalListRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -1675,16 +1725,14 @@ def remove_principals( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DatabasePrincipalListResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(database_principals_to_remove, (IO, bytes)): + if isinstance(database_principals_to_remove, (IOBase, bytes)): _content = database_principals_to_remove else: _json = self._serialize.body(database_principals_to_remove, "DatabasePrincipalListRequest") @@ -1705,15 +1753,17 @@ def remove_principals( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("DatabasePrincipalListResult", pipeline_response) diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_managed_private_endpoints_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_managed_private_endpoints_operations.py index bf1b995c3e0d..870d669578d5 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_managed_private_endpoints_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_managed_private_endpoints_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -32,10 +32,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -49,7 +45,7 @@ def build_check_name_availability_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -59,9 +55,11 @@ def build_check_name_availability_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpointsCheckNameAvailability", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -81,7 +79,7 @@ def build_list_request(resource_group_name: str, cluster_name: str, subscription _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -90,9 +88,11 @@ def build_list_request(resource_group_name: str, cluster_name: str, subscription "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -112,7 +112,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -121,11 +121,13 @@ def build_get_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints/{managedPrivateEndpointName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), "managedPrivateEndpointName": _SERIALIZER.url( - "managed_private_endpoint_name", managed_private_endpoint_name, "str" + "managed_private_endpoint_name", managed_private_endpoint_name, "str", pattern=r"^.*$" ), } @@ -146,7 +148,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -156,11 +158,13 @@ def build_create_or_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints/{managedPrivateEndpointName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), "managedPrivateEndpointName": _SERIALIZER.url( - "managed_private_endpoint_name", managed_private_endpoint_name, "str" + "managed_private_endpoint_name", managed_private_endpoint_name, "str", pattern=r"^.*$" ), } @@ -183,7 +187,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -193,11 +197,13 @@ def build_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints/{managedPrivateEndpointName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), "managedPrivateEndpointName": _SERIALIZER.url( - "managed_private_endpoint_name", managed_private_endpoint_name, "str" + "managed_private_endpoint_name", managed_private_endpoint_name, "str", pattern=r"^.*$" ), } @@ -220,7 +226,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -229,11 +235,13 @@ def build_delete_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints/{managedPrivateEndpointName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), "managedPrivateEndpointName": _SERIALIZER.url( - "managed_private_endpoint_name", managed_private_endpoint_name, "str" + "managed_private_endpoint_name", managed_private_endpoint_name, "str", pattern=r"^.*$" ), } @@ -279,7 +287,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the managed private endpoints resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -307,7 +315,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the managed private endpoints resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -333,12 +341,13 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the managed private endpoints resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str - :param resource_name: The name of the resource. Is either a model type or a IO type. Required. + :param resource_name: The name of the resource. Is either a + ManagedPrivateEndpointsCheckNameRequest type or a IO type. Required. :type resource_name: ~azure.mgmt.kusto.models.ManagedPrivateEndpointsCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -359,16 +368,14 @@ def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(resource_name, (IO, bytes)): + if isinstance(resource_name, (IOBase, bytes)): _content = resource_name else: _json = self._serialize.body(resource_name, "ManagedPrivateEndpointsCheckNameRequest") @@ -388,15 +395,17 @@ def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) @@ -415,7 +424,7 @@ def list( ) -> Iterable["_models.ManagedPrivateEndpoint"]: """Returns the list of managed private endpoints. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -429,9 +438,7 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ManagedPrivateEndpointListResult] = kwargs.pop("cls", None) error_map = { @@ -485,14 +492,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -508,7 +517,7 @@ def get( ) -> _models.ManagedPrivateEndpoint: """Gets a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -531,9 +540,7 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ManagedPrivateEndpoint] = kwargs.pop("cls", None) request = build_get_request( @@ -549,15 +556,17 @@ def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("ManagedPrivateEndpoint", pipeline_response) @@ -589,16 +598,14 @@ def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ManagedPrivateEndpoint] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "ManagedPrivateEndpoint") @@ -619,16 +626,19 @@ def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("ManagedPrivateEndpoint", pipeline_response) @@ -636,10 +646,14 @@ def _create_or_update_initial( deserialized = self._deserialize("ManagedPrivateEndpoint", pipeline_response) if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + deserialized = self._deserialize("ManagedPrivateEndpoint", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @@ -660,7 +674,7 @@ def begin_create_or_update( ) -> LROPoller[_models.ManagedPrivateEndpoint]: """Creates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -699,7 +713,7 @@ def begin_create_or_update( ) -> LROPoller[_models.ManagedPrivateEndpoint]: """Creates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -736,15 +750,15 @@ def begin_create_or_update( ) -> LROPoller[_models.ManagedPrivateEndpoint]: """Creates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param managed_private_endpoint_name: The name of the managed private endpoint. Required. :type managed_private_endpoint_name: str - :param parameters: The managed private endpoint parameters. Is either a model type or a IO - type. Required. + :param parameters: The managed private endpoint parameters. Is either a ManagedPrivateEndpoint + type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.ManagedPrivateEndpoint or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -765,9 +779,7 @@ def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ManagedPrivateEndpoint] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -795,7 +807,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -832,16 +846,14 @@ def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ManagedPrivateEndpoint] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "ManagedPrivateEndpoint") @@ -862,15 +874,17 @@ def _update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 200: @@ -905,7 +919,7 @@ def begin_update( ) -> LROPoller[_models.ManagedPrivateEndpoint]: """Updates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -944,7 +958,7 @@ def begin_update( ) -> LROPoller[_models.ManagedPrivateEndpoint]: """Updates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -981,15 +995,15 @@ def begin_update( ) -> LROPoller[_models.ManagedPrivateEndpoint]: """Updates a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param managed_private_endpoint_name: The name of the managed private endpoint. Required. :type managed_private_endpoint_name: str - :param parameters: The managed private endpoint parameters. Is either a model type or a IO - type. Required. + :param parameters: The managed private endpoint parameters. Is either a ManagedPrivateEndpoint + type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.ManagedPrivateEndpoint or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -1010,9 +1024,7 @@ def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.ManagedPrivateEndpoint] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -1040,7 +1052,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1072,9 +1086,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -1090,18 +1102,26 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints/{managedPrivateEndpointName}" @@ -1113,7 +1133,7 @@ def begin_delete( ) -> LROPoller[None]: """Deletes a managed private endpoint. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1135,9 +1155,7 @@ def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1160,7 +1178,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations.py index d2ccc8d648a4..372fd901cfe8 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, Callable, Dict, Iterable, Optional, TypeVar import urllib.parse @@ -30,10 +29,6 @@ from .._serialization import Serializer from .._vendor import _convert_request -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -45,7 +40,7 @@ def build_list_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -91,9 +86,7 @@ def list(self, **kwargs: Any) -> Iterable["_models.Operation"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.OperationListResult] = kwargs.pop("cls", None) error_map = { @@ -144,14 +137,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations_results_location_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations_results_location_operations.py index 19fad0d53c9a..2dc82586e910 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations_results_location_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations_results_location_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, Callable, Dict, Optional, TypeVar from azure.core.exceptions import ( @@ -28,10 +27,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -42,16 +37,16 @@ def build_get_request(location: str, operation_id: str, subscription_id: str, **kwargs: Any) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/operationResults/{operationId}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), - "operationId": _SERIALIZER.url("operation_id", operation_id, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "location": _SERIALIZER.url("location", location, "str", min_length=1), + "operationId": _SERIALIZER.url("operation_id", operation_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -87,9 +82,9 @@ def get( # pylint: disable=inconsistent-return-statements ) -> None: """Returns operation results. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str - :param operation_id: The Guid of the operation ID. Required. + :param operation_id: The ID of an ongoing async operation. Required. :type operation_id: str :keyword callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) @@ -107,9 +102,7 @@ def get( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_get_request( @@ -124,8 +117,9 @@ def get( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response @@ -134,8 +128,14 @@ def get( # pylint: disable=inconsistent-return-statements map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) get.metadata = { "url": "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/operationResults/{operationId}" diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations_results_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations_results_operations.py index 689352860d8b..5cc408b4e220 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations_results_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_operations_results_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, Callable, Dict, Optional, TypeVar from azure.core.exceptions import ( @@ -28,10 +27,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -43,7 +38,7 @@ def build_get_request(location: str, operation_id: str, subscription_id: str, ** _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -52,9 +47,9 @@ def build_get_request(location: str, operation_id: str, subscription_id: str, ** "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/operationResults/{operationId}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), - "operationId": _SERIALIZER.url("operation_id", operation_id, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "location": _SERIALIZER.url("location", location, "str", min_length=1), + "operationId": _SERIALIZER.url("operation_id", operation_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -91,9 +86,9 @@ def __init__(self, *args, **kwargs): def get(self, location: str, operation_id: str, **kwargs: Any) -> _models.OperationResult: """Returns operation results. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str - :param operation_id: The Guid of the operation ID. Required. + :param operation_id: The ID of an ongoing async operation. Required. :type operation_id: str :keyword callable cls: A custom type or function that will be passed the direct response :return: OperationResult or the result of cls(response) @@ -111,9 +106,7 @@ def get(self, location: str, operation_id: str, **kwargs: Any) -> _models.Operat _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.OperationResult] = kwargs.pop("cls", None) request = build_get_request( @@ -128,15 +121,17 @@ def get(self, location: str, operation_id: str, **kwargs: Any) -> _models.Operat request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("OperationResult", pipeline_response) diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_private_endpoint_connections_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_private_endpoint_connections_operations.py index 6619e274c235..922d5afd550e 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_private_endpoint_connections_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_private_endpoint_connections_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -32,10 +32,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -47,7 +43,7 @@ def build_list_request(resource_group_name: str, cluster_name: str, subscription _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -56,9 +52,11 @@ def build_list_request(resource_group_name: str, cluster_name: str, subscription "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateEndpointConnections", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -82,7 +80,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -91,11 +89,13 @@ def build_get_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), "privateEndpointConnectionName": _SERIALIZER.url( - "private_endpoint_connection_name", private_endpoint_connection_name, "str" + "private_endpoint_connection_name", private_endpoint_connection_name, "str", pattern=r"^.*$" ), } @@ -120,7 +120,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -130,11 +130,13 @@ def build_create_or_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), "privateEndpointConnectionName": _SERIALIZER.url( - "private_endpoint_connection_name", private_endpoint_connection_name, "str" + "private_endpoint_connection_name", private_endpoint_connection_name, "str", pattern=r"^.*$" ), } @@ -161,7 +163,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -170,11 +172,13 @@ def build_delete_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), "privateEndpointConnectionName": _SERIALIZER.url( - "private_endpoint_connection_name", private_endpoint_connection_name, "str" + "private_endpoint_connection_name", private_endpoint_connection_name, "str", pattern=r"^.*$" ), } @@ -214,7 +218,7 @@ def list( ) -> Iterable["_models.PrivateEndpointConnection"]: """Returns the list of private endpoint connections. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -228,9 +232,7 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.PrivateEndpointConnectionListResult] = kwargs.pop("cls", None) error_map = { @@ -284,14 +286,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -307,7 +311,7 @@ def get( ) -> _models.PrivateEndpointConnection: """Gets a private endpoint connection. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -330,9 +334,7 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) request = build_get_request( @@ -348,15 +350,17 @@ def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("PrivateEndpointConnection", pipeline_response) @@ -388,16 +392,14 @@ def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "PrivateEndpointConnection") @@ -418,15 +420,17 @@ def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize("PrivateEndpointConnection", pipeline_response) @@ -456,7 +460,7 @@ def begin_create_or_update( ) -> LROPoller[_models.PrivateEndpointConnection]: """Approve or reject a private endpoint connection with a given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -495,7 +499,7 @@ def begin_create_or_update( ) -> LROPoller[_models.PrivateEndpointConnection]: """Approve or reject a private endpoint connection with a given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -532,14 +536,14 @@ def begin_create_or_update( ) -> LROPoller[_models.PrivateEndpointConnection]: """Approve or reject a private endpoint connection with a given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param private_endpoint_connection_name: The name of the private endpoint connection. Required. :type private_endpoint_connection_name: str - :param parameters: Is either a model type or a IO type. Required. + :param parameters: Is either a PrivateEndpointConnection type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.PrivateEndpointConnection or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -560,9 +564,7 @@ def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -590,7 +592,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -622,9 +626,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -640,18 +642,26 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}" @@ -663,7 +673,7 @@ def begin_delete( ) -> LROPoller[None]: """Deletes a private endpoint connection with a given name. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -685,9 +695,7 @@ def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -710,7 +718,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_private_link_resources_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_private_link_resources_operations.py index 691e21068ab5..396db53dafaf 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_private_link_resources_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_private_link_resources_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, Callable, Dict, Iterable, Optional, TypeVar import urllib.parse @@ -30,10 +29,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -45,7 +40,7 @@ def build_list_request(resource_group_name: str, cluster_name: str, subscription _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -54,9 +49,11 @@ def build_list_request(resource_group_name: str, cluster_name: str, subscription "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateLinkResources", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -76,7 +73,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -85,10 +82,14 @@ def build_get_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateLinkResources/{privateLinkResourceName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "privateLinkResourceName": _SERIALIZER.url("private_link_resource_name", private_link_resource_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "privateLinkResourceName": _SERIALIZER.url( + "private_link_resource_name", private_link_resource_name, "str", pattern=r"^.*$" + ), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -127,7 +128,7 @@ def list( ) -> Iterable["_models.PrivateLinkResource"]: """Returns the list of private link resources. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -140,9 +141,7 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.PrivateLinkResourceListResult] = kwargs.pop("cls", None) error_map = { @@ -196,14 +195,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -219,7 +220,7 @@ def get( ) -> _models.PrivateLinkResource: """Gets a private link resource. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -242,9 +243,7 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.PrivateLinkResource] = kwargs.pop("cls", None) request = build_get_request( @@ -260,15 +259,17 @@ def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("PrivateLinkResource", pipeline_response) diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_scripts_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_scripts_operations.py index 6de979c1bfe1..5e1ed08f668e 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_scripts_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_scripts_operations.py @@ -6,7 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -32,10 +32,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -49,7 +45,7 @@ def build_list_by_database_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -58,10 +54,12 @@ def build_list_by_database_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -86,7 +84,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -95,11 +93,13 @@ def build_get_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts/{scriptName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "scriptName": _SERIALIZER.url("script_name", script_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "scriptName": _SERIALIZER.url("script_name", script_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -124,7 +124,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -134,11 +134,13 @@ def build_create_or_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts/{scriptName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "scriptName": _SERIALIZER.url("script_name", script_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "scriptName": _SERIALIZER.url("script_name", script_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -165,7 +167,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -175,11 +177,13 @@ def build_update_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts/{scriptName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "scriptName": _SERIALIZER.url("script_name", script_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "scriptName": _SERIALIZER.url("script_name", script_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -206,7 +210,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -215,11 +219,13 @@ def build_delete_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts/{scriptName}", ) # pylint: disable=line-too-long path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "scriptName": _SERIALIZER.url("script_name", script_name, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "scriptName": _SERIALIZER.url("script_name", script_name, "str", pattern=r"^.*$"), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -239,7 +245,7 @@ def build_check_name_availability_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -249,10 +255,12 @@ def build_check_name_availability_request( "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scriptsCheckNameAvailability", ) # pylint: disable=line-too-long path_format_arguments = { - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str", pattern=r"^.*$"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str", pattern=r"^.*$"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -293,7 +301,7 @@ def list_by_database( ) -> Iterable["_models.Script"]: """Returns the list of database scripts for given database. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -308,9 +316,7 @@ def list_by_database( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.ScriptListResult] = kwargs.pop("cls", None) error_map = { @@ -365,14 +371,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -388,7 +396,7 @@ def get( ) -> _models.Script: """Gets a Kusto cluster database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -413,9 +421,7 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.Script] = kwargs.pop("cls", None) request = build_get_request( @@ -432,15 +438,17 @@ def get( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("Script", pipeline_response) @@ -473,16 +481,14 @@ def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Script] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "Script") @@ -504,16 +510,19 @@ def _create_or_update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: deserialized = self._deserialize("Script", pipeline_response) @@ -521,10 +530,14 @@ def _create_or_update_initial( deserialized = self._deserialize("Script", pipeline_response) if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + deserialized = self._deserialize("Script", pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore @@ -546,7 +559,7 @@ def begin_create_or_update( ) -> LROPoller[_models.Script]: """Creates a Kusto database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -587,7 +600,7 @@ def begin_create_or_update( ) -> LROPoller[_models.Script]: """Creates a Kusto database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -626,7 +639,7 @@ def begin_create_or_update( ) -> LROPoller[_models.Script]: """Creates a Kusto database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -635,7 +648,7 @@ def begin_create_or_update( :type database_name: str :param script_name: The name of the Kusto database script. Required. :type script_name: str - :param parameters: The Kusto Script parameters contains the KQL to run. Is either a model type + :param parameters: The Kusto Script parameters contains the KQL to run. Is either a Script type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.Script or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -656,9 +669,7 @@ def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Script] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -687,7 +698,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -725,16 +738,14 @@ def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Script] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): + if isinstance(parameters, (IOBase, bytes)): _content = parameters else: _json = self._serialize.body(parameters, "Script") @@ -756,15 +767,17 @@ def _update_initial( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} if response.status_code == 200: @@ -800,7 +813,7 @@ def begin_update( ) -> LROPoller[_models.Script]: """Updates a database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -841,7 +854,7 @@ def begin_update( ) -> LROPoller[_models.Script]: """Updates a database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -880,7 +893,7 @@ def begin_update( ) -> LROPoller[_models.Script]: """Updates a database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -889,7 +902,7 @@ def begin_update( :type database_name: str :param script_name: The name of the Kusto database script. Required. :type script_name: str - :param parameters: The Kusto Script parameters contains to the KQL to run. Is either a model + :param parameters: The Kusto Script parameters contains to the KQL to run. Is either a Script type or a IO type. Required. :type parameters: ~azure.mgmt.kusto.models.Script or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. @@ -910,9 +923,7 @@ def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.Script] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -941,7 +952,9 @@ def get_long_running_output(pipeline_response): return deserialized if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -973,9 +986,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) request = build_delete_request( @@ -992,18 +1003,26 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, response_headers) _delete_initial.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts/{scriptName}" @@ -1013,9 +1032,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements def begin_delete( self, resource_group_name: str, cluster_name: str, database_name: str, script_name: str, **kwargs: Any ) -> LROPoller[None]: - """Deletes a Kusto principalAssignment. + """Deletes a Kusto database script. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1039,9 +1058,7 @@ def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -1065,7 +1082,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return cls(pipeline_response, None, {}) if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) elif polling is False: polling_method = cast(PollingMethod, NoPolling()) else: @@ -1096,7 +1115,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the script name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1127,7 +1146,7 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the script name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. @@ -1156,14 +1175,15 @@ def check_name_availability( ) -> _models.CheckNameResult: """Checks that the script name is valid and is not already in use. - :param resource_group_name: The name of the resource group containing the Kusto cluster. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the Kusto cluster. Required. :type cluster_name: str :param database_name: The name of the database in the Kusto cluster. Required. :type database_name: str - :param script_name: The name of the script. Is either a model type or a IO type. Required. + :param script_name: The name of the script. Is either a ScriptCheckNameRequest type or a IO + type. Required. :type script_name: ~azure.mgmt.kusto.models.ScriptCheckNameRequest or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. @@ -1184,16 +1204,14 @@ def check_name_availability( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.CheckNameResult] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(script_name, (IO, bytes)): + if isinstance(script_name, (IOBase, bytes)): _content = script_name else: _json = self._serialize.body(script_name, "ScriptCheckNameRequest") @@ -1214,15 +1232,17 @@ def check_name_availability( request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("CheckNameResult", pipeline_response) diff --git a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_skus_operations.py b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_skus_operations.py index 97e8f32c9e0a..33226e3408e4 100644 --- a/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_skus_operations.py +++ b/sdk/kusto/azure-mgmt-kusto/azure/mgmt/kusto/operations/_skus_operations.py @@ -6,7 +6,6 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys from typing import Any, Callable, Dict, Iterable, Optional, TypeVar import urllib.parse @@ -30,10 +29,6 @@ from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -if sys.version_info >= (3, 8): - from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports -else: - from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -45,7 +40,7 @@ def build_list_request(location: str, subscription_id: str, **kwargs: Any) -> Ht _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop("api_version", _params.pop("api-version", "2022-12-29")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-05-02")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -53,8 +48,8 @@ def build_list_request(location: str, subscription_id: str, **kwargs: Any) -> Ht "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/skus" ) path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "location": _SERIALIZER.url("location", location, "str"), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), + "location": _SERIALIZER.url("location", location, "str", min_length=1), } _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore @@ -91,7 +86,7 @@ def __init__(self, *args, **kwargs): def list(self, location: str, **kwargs: Any) -> Iterable["_models.SkuDescription"]: """Lists eligible region SKUs for Kusto resource provider by Azure region. - :param location: Azure location (region) name. Required. + :param location: The name of Azure region. Required. :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SkuDescription or the result of cls(response) @@ -101,9 +96,7 @@ def list(self, location: str, **kwargs: Any) -> Iterable["_models.SkuDescription _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-12-29"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) cls: ClsType[_models.SkuDescriptionList] = kwargs.pop("cls", None) error_map = { @@ -156,14 +149,16 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configuration_check_name_availability.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configuration_check_name_availability.py index faadb48d2cca..9d83a75cdf96 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configuration_check_name_availability.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configuration_check_name_availability.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoAttachedDatabaseConfigurationCheckNameAvailability.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoAttachedDatabaseConfigurationCheckNameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_create_or_update.py index 59c37de35092..0db87574ee9a 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_create_or_update.py @@ -54,6 +54,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_delete.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_delete.py index 00564c681896..9ef4e6a9b655 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_delete.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.attached_database_configurations.begin_delete( + client.attached_database_configurations.begin_delete( resource_group_name="kustorptest", cluster_name="kustoCluster", attached_database_configuration_name="attachedDatabaseConfigurationsTest", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoAttachedDatabaseConfigurationsDelete.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoAttachedDatabaseConfigurationsDelete.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_get.py index c6e2019a558c..d9ee5f0a7c59 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoAttachedDatabaseConfigurationsGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoAttachedDatabaseConfigurationsGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_list_by_cluster.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_list_by_cluster.py index e4c8274c0869..675cb047e229 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_list_by_cluster.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_attached_database_configurations_list_by_cluster.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoAttachedDatabaseConfigurationsListByCluster.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoAttachedDatabaseConfigurationsListByCluster.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_add_language_extensions.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_add_language_extensions.py index 6d897476f26a..a361bba47af9 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_add_language_extensions.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_add_language_extensions.py @@ -29,14 +29,13 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.clusters.begin_add_language_extensions( + client.clusters.begin_add_language_extensions( resource_group_name="kustorptest", cluster_name="kustoCluster", language_extensions_to_add={"value": [{"languageExtensionName": "PYTHON"}, {"languageExtensionName": "R"}]}, ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClusterAddLanguageExtensions.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterAddLanguageExtensions.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_detach_follower_databases.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_detach_follower_databases.py index ea5fdcebb62e..0035936523a9 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_detach_follower_databases.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_detach_follower_databases.py @@ -29,7 +29,7 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.clusters.begin_detach_follower_databases( + client.clusters.begin_detach_follower_databases( resource_group_name="kustorptest", cluster_name="kustoCluster", follower_database_to_remove={ @@ -37,9 +37,8 @@ def main(): "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/kustoCluster2", }, ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClusterDetachFollowerDatabases.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterDetachFollowerDatabases.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_list_follower_databases.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_list_follower_databases.py index a8a9efea8698..bdc0fe06cd3a 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_list_follower_databases.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_list_follower_databases.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClusterListFollowerDatabases.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterListFollowerDatabases.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_list_language_extensions.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_list_language_extensions.py index a1459477dcaf..338cf3a62480 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_list_language_extensions.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_list_language_extensions.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClusterListLanguageExtensions.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterListLanguageExtensions.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_migrate.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_migrate.py new file mode 100644 index 000000000000..07fa03918a4d --- /dev/null +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_migrate.py @@ -0,0 +1,43 @@ +# 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.identity import DefaultAzureCredential +from azure.mgmt.kusto import KustoManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-kusto +# USAGE + python kusto_cluster_migrate.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = KustoManagementClient( + credential=DefaultAzureCredential(), + subscription_id="12345678-1234-1234-1234-123456789098", + ) + + client.clusters.begin_migrate( + resource_group_name="kustorptest", + cluster_name="kustoCluster1", + cluster_migrate_request={ + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/kustoCluster2" + }, + ).result() + + +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterMigrate.json +if __name__ == "__main__": + main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_check_name_availability.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_check_name_availability.py index 4425fb874d09..6dea71f2e2fa 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_check_name_availability.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_check_name_availability.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_create_or_update.py index f0302931be84..e0e47939baf5 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_create_or_update.py @@ -45,6 +45,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_delete.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_delete.py index defea9b180a3..e467a4e1eb3b 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_delete.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.cluster_principal_assignments.begin_delete( + client.cluster_principal_assignments.begin_delete( resource_group_name="kustorptest", cluster_name="kustoCluster", principal_assignment_name="kustoprincipal1", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClusterPrincipalAssignmentsDelete.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterPrincipalAssignmentsDelete.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_get.py index 4f809232322c..5ad566fcb911 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClusterPrincipalAssignmentsGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterPrincipalAssignmentsGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_list.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_list.py index 9ad61cf3332b..5604928c00f1 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_list.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_principal_assignments_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClusterPrincipalAssignmentsList.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterPrincipalAssignmentsList.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_remove_language_extensions.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_remove_language_extensions.py index e2c21fed2f83..3afd2721ab68 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_remove_language_extensions.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_cluster_remove_language_extensions.py @@ -29,14 +29,13 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.clusters.begin_remove_language_extensions( + client.clusters.begin_remove_language_extensions( resource_group_name="kustorptest", cluster_name="kustoCluster", language_extensions_to_remove={"value": [{"languageExtensionName": "PYTHON"}, {"languageExtensionName": "R"}]}, ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClusterRemoveLanguageExtensions.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClusterRemoveLanguageExtensions.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_check_name_availability.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_check_name_availability.py index c1bf39a85121..7b481365857d 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_check_name_availability.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_check_name_availability.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersCheckNameAvailability.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersCheckNameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_create_or_update.py index 046e0b4df465..87584b356ac6 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_create_or_update.py @@ -41,6 +41,12 @@ def main(): "enableDoubleEncryption": False, "enablePurge": True, "enableStreamingIngest": True, + "languageExtensions": { + "value": [ + {"languageExtensionImageName": "Python3_10_8", "languageExtensionName": "PYTHON"}, + {"languageExtensionImageName": "R", "languageExtensionName": "R"}, + ] + }, "publicIPType": "DualStack", "publicNetworkAccess": "Enabled", }, @@ -50,6 +56,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_delete.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_delete.py index f359c6252571..f9004fa39f78 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_delete.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_delete.py @@ -29,13 +29,12 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.clusters.begin_delete( + client.clusters.begin_delete( resource_group_name="kustorptest", cluster_name="kustoCluster2", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersDelete.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersDelete.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_diagnose_virtual_network.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_diagnose_virtual_network.py index 8279590cd5e2..80de79c7290a 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_diagnose_virtual_network.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_diagnose_virtual_network.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersDiagnoseVirtualNetwork.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersDiagnoseVirtualNetwork.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_get.py index 882465745a3b..e2444d2b5330 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_get.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list.py index 2c107ef64336..9c0f0026b091 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list.py @@ -34,6 +34,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersList.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersList.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_by_resource_group.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_by_resource_group.py index 84668b572934..5455cfc94330 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_by_resource_group.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_by_resource_group.py @@ -36,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersListByResourceGroup.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_resource_skus.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_resource_skus.py index 741045085420..e9c41e3badb2 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_resource_skus.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_resource_skus.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersListResourceSkus.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersListResourceSkus.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_skus.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_skus.py index 4fdd4c1adc01..88ffef6bd9a4 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_skus.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_list_skus.py @@ -34,6 +34,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersListSkus.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersListSkus.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_start.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_start.py index 231d223d1ea7..053f8b609288 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_start.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_start.py @@ -29,13 +29,12 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.clusters.begin_start( + client.clusters.begin_start( resource_group_name="kustorptest", cluster_name="kustoCluster2", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersStart.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersStart.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_stop.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_stop.py index 0906f443acd5..c2ec0ea41130 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_stop.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_stop.py @@ -29,13 +29,12 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.clusters.begin_stop( + client.clusters.begin_stop( resource_group_name="kustorptest", cluster_name="kustoCluster2", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersStop.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersStop.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_update.py index 77706107c061..ce410f4a98e2 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_clusters_update.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoClustersUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoClustersUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connection_event_grid_validation_async.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connection_event_grid_validation_async.py index fe84f68f0ac4..f8609e266a57 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connection_event_grid_validation_async.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connection_event_grid_validation_async.py @@ -56,6 +56,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionEventGridValidationAsync.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionEventGridValidationAsync.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connection_validation_async.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connection_validation_async.py index 18322c66d2ce..cc80ffb6b2d8 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connection_validation_async.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connection_validation_async.py @@ -52,6 +52,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionValidationAsync.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionValidationAsync.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_check_name_availability.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_check_name_availability.py index e844e8aa2ea0..4d5418109998 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_check_name_availability.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_check_name_availability.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsCheckNameAvailability.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsCheckNameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_create_or_update.py index 1ae340c1e4b8..4b17658a3121 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_create_or_update.py @@ -51,6 +51,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsCosmosDbCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsCosmosDbCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_get.py index c39beadae898..055c4ccf8c60 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsCosmosDbGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsCosmosDbGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_update.py index 6b5f4262e7fb..14b3290a4c56 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_cosmos_db_update.py @@ -51,6 +51,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsCosmosDbUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsCosmosDbUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_create_or_update.py index 5d55ec930a09..e1f477ca6d94 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_create_or_update.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_delete.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_delete.py index 21cec350a5b4..ec268c064c80 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_delete.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_delete.py @@ -29,15 +29,14 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.data_connections.begin_delete( + client.data_connections.begin_delete( resource_group_name="kustorptest", cluster_name="kustoCluster", database_name="KustoDatabase8", data_connection_name="dataConnectionTest", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsDelete.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsDelete.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_create_or_update.py index 7d3ecc4882ac..cdba7abaa632 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_create_or_update.py @@ -55,6 +55,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsEventGridCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsEventGridCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_get.py index 27d8864aa059..1943246b32be 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsEventGridGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsEventGridGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_update.py index 386e344909fa..df3eb710838b 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_event_grid_update.py @@ -55,6 +55,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsEventGridUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsEventGridUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_get.py index 9275dc3fa52e..34cd998757b5 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_list_by_database.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_list_by_database.py index b814327e3b9e..986199f7f56e 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_list_by_database.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_list_by_database.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsListByDatabase.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsListByDatabase.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_update.py index 5d7b97a0c2ad..6e2cc5c93fe8 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_data_connections_update.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDataConnectionsUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDataConnectionsUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_add_principals.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_add_principals.py index 6bcd9a953409..95de7303f39e 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_add_principals.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_add_principals.py @@ -65,6 +65,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabaseAddPrincipals.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabaseAddPrincipals.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_invite_follower.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_invite_follower.py new file mode 100644 index 000000000000..c50e87444df4 --- /dev/null +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_invite_follower.py @@ -0,0 +1,55 @@ +# 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.identity import DefaultAzureCredential +from azure.mgmt.kusto import KustoManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-kusto +# USAGE + python kusto_database_invite_follower.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = KustoManagementClient( + credential=DefaultAzureCredential(), + subscription_id="12345678-1234-1234-1234-123456789098", + ) + + response = client.database.invite_follower( + resource_group_name="kustorptest", + cluster_name="kustoCluster", + database_name="database", + parameters={ + "inviteeEmail": "invitee@contoso.com", + "tableLevelSharingProperties": { + "externalTablesToExclude": [], + "externalTablesToInclude": ["ExternalTable*"], + "functionsToExclude": ["functionsToExclude2"], + "functionsToInclude": ["functionsToInclude1"], + "materializedViewsToExclude": ["MaterializedViewTable2"], + "materializedViewsToInclude": ["MaterializedViewTable1"], + "tablesToExclude": ["Table2"], + "tablesToInclude": ["Table1"], + }, + }, + ) + print(response) + + +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabaseInviteFollower.json +if __name__ == "__main__": + main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_list_principals.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_list_principals.py index 294559a73306..75c071316aa7 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_list_principals.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_list_principals.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabaseListPrincipals.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabaseListPrincipals.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_check_name_availability.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_check_name_availability.py index c1a1bd69085e..115a634256a2 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_check_name_availability.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_check_name_availability.py @@ -41,6 +41,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_create_or_update.py index 9483e566765b..b6e5c71573ab 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_create_or_update.py @@ -46,6 +46,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_delete.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_delete.py index 2be3f82a2d63..fa282accdf90 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_delete.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_delete.py @@ -29,15 +29,14 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.database_principal_assignments.begin_delete( + client.database_principal_assignments.begin_delete( resource_group_name="kustorptest", cluster_name="kustoCluster", database_name="Kustodatabase8", principal_assignment_name="kustoprincipal1", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasePrincipalAssignmentsDelete.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasePrincipalAssignmentsDelete.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_get.py index f834a5161d6c..616d186858a9 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasePrincipalAssignmentsGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasePrincipalAssignmentsGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_list.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_list.py index 36e49d284df3..f57530ed0d4b 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_list.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_principal_assignments_list.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasePrincipalAssignmentsList.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasePrincipalAssignmentsList.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_readonly_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_readonly_update.py index 08b1d7eab7fe..f3934cfd2f67 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_readonly_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_readonly_update.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabaseReadonlyUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabaseReadonlyUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_remove_principals.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_remove_principals.py index daad934fb658..e145530b8926 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_remove_principals.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_database_remove_principals.py @@ -65,6 +65,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabaseRemovePrincipals.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabaseRemovePrincipals.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_check_name_availability.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_check_name_availability.py index 891e53c656e6..5ff4aa412512 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_check_name_availability.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_check_name_availability.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasesCheckNameAvailability.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasesCheckNameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_create_or_update.py index 7d49250d435f..b4923a226d40 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_create_or_update.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasesCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasesCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_delete.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_delete.py index 825cc37de15a..e55f109389d7 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_delete.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.databases.begin_delete( + client.databases.begin_delete( resource_group_name="kustorptest", cluster_name="kustoCluster", database_name="KustoDatabase8", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasesDelete.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasesDelete.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_get.py index a712cb0f901f..47ba1bf5f3e6 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasesGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasesGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_list_by_cluster.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_list_by_cluster.py index 7903a69f9136..263065fdb68c 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_list_by_cluster.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_list_by_cluster.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasesListByCluster.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasesListByCluster.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_update.py index a717fc0b5be8..8a501067d12e 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_databases_update.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoDatabasesUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoDatabasesUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_check_name_availability.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_check_name_availability.py index d083c2ac2bc0..3ccfc9a68d42 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_check_name_availability.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_check_name_availability.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoManagedPrivateEndpointsCheckNameAvailability.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoManagedPrivateEndpointsCheckNameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_create_or_update.py index 5adf9a3833df..24572023230c 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_create_or_update.py @@ -44,6 +44,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoManagedPrivateEndpointsCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoManagedPrivateEndpointsCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_delete.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_delete.py index 8791bf504ebd..89a6d9620507 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_delete.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.managed_private_endpoints.begin_delete( + client.managed_private_endpoints.begin_delete( resource_group_name="kustorptest", cluster_name="kustoCluster", managed_private_endpoint_name="managedPrivateEndpointTest", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoManagedPrivateEndpointsDelete.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoManagedPrivateEndpointsDelete.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_get.py index 8b8f557f721b..a223b7c97f1f 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoManagedPrivateEndpointsGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoManagedPrivateEndpointsGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_list.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_list.py index 11af537e9705..164fce7beb62 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_list.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoManagedPrivateEndpointsList.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoManagedPrivateEndpointsList.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_update.py index 7bb5ad328912..d9a48e276630 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_managed_private_endpoints_update.py @@ -44,6 +44,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoManagedPrivateEndpointsUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoManagedPrivateEndpointsUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operation_results_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operation_results_get.py index 45b858f5051f..bddd63a6e26d 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operation_results_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operation_results_get.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoOperationResultsGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoOperationResultsGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operation_results_operation_result_response_type_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operation_results_operation_result_response_type_get.py index 11952e9b1514..be5252f21084 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operation_results_operation_result_response_type_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operation_results_operation_result_response_type_get.py @@ -29,13 +29,12 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.operations_results_location.get( + client.operations_results_location.get( location="westus", operation_id="30972f1b-b61d-4fd8-bd34-3dcfa24670f3", ) - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoOperationResultsOperationResultResponseTypeGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoOperationResultsOperationResultResponseTypeGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operations_list.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operations_list.py index 714e6d00dde2..9921fc33bc86 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operations_list.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_operations_list.py @@ -34,6 +34,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoOperationsList.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoOperationsList.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_outbound_network_dependencies_list.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_outbound_network_dependencies_list.py index 7ccae7a32494..ab1c71c90b12 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_outbound_network_dependencies_list.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_outbound_network_dependencies_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoOutboundNetworkDependenciesList.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoOutboundNetworkDependenciesList.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_create_or_update.py index 25be83a7820d..fb29bd1d8d47 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_create_or_update.py @@ -45,6 +45,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoPrivateEndpointConnectionsCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoPrivateEndpointConnectionsCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_delete.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_delete.py index a1292e15f521..65e032271dc2 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_delete.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.private_endpoint_connections.begin_delete( + client.private_endpoint_connections.begin_delete( resource_group_name="kustorptest", cluster_name="kustoCluster", private_endpoint_connection_name="privateEndpointTest", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoPrivateEndpointConnectionsDelete.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoPrivateEndpointConnectionsDelete.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_get.py index 9cf43809d093..b9bc77999b97 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoPrivateEndpointConnectionsGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoPrivateEndpointConnectionsGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_list.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_list.py index 79dfa77bbb7c..9146883a3148 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_list.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_endpoint_connections_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoPrivateEndpointConnectionsList.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoPrivateEndpointConnectionsList.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_link_resources_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_link_resources_get.py index 5996467d5f64..02a7ec73b4d2 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_link_resources_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_link_resources_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoPrivateLinkResourcesGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoPrivateLinkResourcesGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_link_resources_list.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_link_resources_list.py index 09e2f8330ca5..71e44b994a1f 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_link_resources_list.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_private_link_resources_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoPrivateLinkResourcesList.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoPrivateLinkResourcesList.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_check_name_availability.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_check_name_availability.py index 0f1bf69cad8e..5057a6a98d14 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_check_name_availability.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_check_name_availability.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoScriptsCheckNameAvailability.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoScriptsCheckNameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_create_or_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_create_or_update.py index 6082d8353862..88c9728ca5bd 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_create_or_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_create_or_update.py @@ -46,6 +46,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoScriptsCreateOrUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoScriptsCreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_delete.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_delete.py index 7c57136c7528..9bcb8ba9a798 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_delete.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_delete.py @@ -29,15 +29,14 @@ def main(): subscription_id="12345678-1234-1234-1234-123456789098", ) - response = client.scripts.begin_delete( + client.scripts.begin_delete( resource_group_name="kustorptest", cluster_name="kustoCluster", database_name="KustoDatabase8", script_name="kustoScript", ).result() - print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoScriptsDelete.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoScriptsDelete.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_get.py index 617e39a97d31..c5f5a54f5a7c 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_get.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoScriptsGet.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoScriptsGet.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_list_by_database.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_list_by_database.py index 0d004c9698e1..fb39bde87052 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_list_by_database.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_list_by_database.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoScriptsListByDatabase.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoScriptsListByDatabase.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_update.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_update.py index 35be24fb4192..98b32376f6d4 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_update.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_scripts_update.py @@ -46,6 +46,6 @@ def main(): print(response) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoScriptsUpdate.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoScriptsUpdate.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_skus.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_skus.py index 5c801139705b..8e81b2a74356 100644 --- a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_skus.py +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_skus.py @@ -36,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-12-29/examples/KustoSkus.json +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoSkus.json if __name__ == "__main__": main() diff --git a/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_suspended_databases_get.py b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_suspended_databases_get.py new file mode 100644 index 000000000000..df2a7720628f --- /dev/null +++ b/sdk/kusto/azure-mgmt-kusto/generated_samples/kusto_suspended_databases_get.py @@ -0,0 +1,42 @@ +# 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.identity import DefaultAzureCredential +from azure.mgmt.kusto import KustoManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-kusto +# USAGE + python kusto_suspended_databases_get.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = KustoManagementClient( + credential=DefaultAzureCredential(), + subscription_id="12345678-1234-1234-1234-123456789098", + ) + + response = client.databases.get( + resource_group_name="kustorptest", + cluster_name="kustoCluster", + database_name="KustoDatabase9", + ) + print(response) + + +# x-ms-original-file: specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/examples/KustoSuspendedDatabasesGet.json +if __name__ == "__main__": + main()