From 19d658b3e869526fc4313af7975cc6a35f786cb5 Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 Date: Wed, 1 Apr 2026 11:23:43 +0800 Subject: [PATCH 1/8] generated from swagger:2fd80c47054b7965d7d149dd7fca7e81c18df994 --- .../azure-mgmt-azurearcdata/CHANGELOG.md | 4 + .../azure-mgmt-azurearcdata/MANIFEST.in | 9 +- .../azure-mgmt-azurearcdata/README.md | 55 +- .../azure-mgmt-azurearcdata/_meta.json | 11 - .../azure-mgmt-azurearcdata/_metadata.json | 11 + .../apiview-properties.json | 405 + .../azure-mgmt-azurearcdata/azure/__init__.py | 2 +- .../azure/mgmt/__init__.py | 2 +- .../azure/mgmt/azurearcdata/__init__.py | 12 +- .../_azure_arc_data_management_client.py | 94 +- .../azure/mgmt/azurearcdata/_configuration.py | 33 +- .../mgmt/azurearcdata/_utils/__init__.py | 6 + .../serialization.py} | 751 +- .../azure/mgmt/azurearcdata/_vendor.py | 27 - .../azure/mgmt/azurearcdata/_version.py | 2 +- .../azure/mgmt/azurearcdata/aio/__init__.py | 12 +- .../aio/_azure_arc_data_management_client.py | 100 +- .../mgmt/azurearcdata/aio/_configuration.py | 33 +- .../azurearcdata/aio/operations/__init__.py | 32 +- ..._active_directory_connectors_operations.py | 266 +- .../_data_controllers_operations.py | 410 +- .../operations/_failover_groups_operations.py | 545 + .../aio/operations/_operations.py | 65 +- .../_postgres_instances_operations.py | 350 +- .../_sql_managed_instances_operations.py | 349 +- ...l_server_availability_groups_operations.py | 2176 + .../_sql_server_databases_operations.py | 696 + .../_sql_server_esu_licenses_operations.py | 618 + .../_sql_server_instances_operations.py | 2923 +- .../_sql_server_licenses_operations.py | 609 + .../mgmt/azurearcdata/models/__init__.py | 497 +- ..._azure_arc_data_management_client_enums.py | 604 +- .../mgmt/azurearcdata/models/_models_py3.py | 9313 +++- .../mgmt/azurearcdata/operations/__init__.py | 32 +- ..._active_directory_connectors_operations.py | 302 +- .../_data_controllers_operations.py | 458 +- .../operations/_failover_groups_operations.py | 679 + .../azurearcdata/operations/_operations.py | 72 +- .../_postgres_instances_operations.py | 400 +- .../_sql_managed_instances_operations.py | 401 +- ...l_server_availability_groups_operations.py | 2705 ++ .../_sql_server_databases_operations.py | 855 + .../_sql_server_esu_licenses_operations.py | 815 + .../_sql_server_instances_operations.py | 3938 +- .../_sql_server_licenses_operations.py | 792 + .../code_report_swagger.json | 35855 ++++++++++++++++ .../add_databases_to_availability_group.py | 45 + ...te_or_update_active_directory_connector.py | 4 +- ...pdate_arc_sql_server_availability_group.py | 79 + ...reate_or_update_arc_sql_server_database.py | 96 + .../create_or_update_data_controller.py | 4 +- .../create_or_update_failover_group.py | 50 + .../create_or_update_managed_instance_link.py | 76 + .../create_or_update_postgres_instance.py | 4 +- .../create_or_update_sql_managed_instance.py | 22 +- ...create_or_update_sql_server_esu_license.py | 54 + .../create_or_update_sql_server_instance.py | 42 +- .../create_or_update_sql_server_license.py | 54 + .../create_sql_server_availability_group.py | 94 + ...l_server_distributed_availability_group.py | 62 + .../delete_active_directory_connector.py | 7 +- ...elete_arc_sql_server_availability_group.py | 43 + .../delete_arc_sql_server_database.py | 43 + .../delete_data_controller.py | 7 +- .../delete_failover_group.py | 43 + .../generated_samples/delete_mi_link.py | 43 + .../delete_postgres_instance.py | 7 +- .../delete_sql_managed_instance.py | 7 +- .../delete_sql_server_esu_license.py | 42 + .../delete_sql_server_instance.py | 7 +- .../delete_sql_server_license.py | 42 + ...lover_arc_sql_server_availability_group.py | 44 + .../generated_samples/failover_mi_link.py | 47 + ..._sql_server_instance_availability_group.py | 44 + ...lover_arc_sql_server_availability_group.py | 44 + .../get_active_directory_connector.py | 4 +- .../get_arc_sql_server_availability_group.py | 44 + .../get_arc_sql_server_database.py | 44 + .../generated_samples/get_data_controller.py | 4 +- .../generated_samples/get_failover_group.py | 44 + .../get_postgres_instance.py | 4 +- .../get_sql_managed_instance.py | 4 +- .../get_sql_server_esu_license.py | 43 + .../get_sql_server_instance.py | 4 +- .../get_sql_server_instance_bpa.py | 49 + .../get_sql_server_instance_jobs.py | 43 + .../get_sql_server_instance_jobs_status.py | 43 + ...ver_instance_migration_readiness_report.py | 43 + ..._instance_target_recommendation_reports.py | 43 + ...target_recommendation_reports_last_page.py | 43 + ...get_recommendation_reports_with_filters.py | 43 + .../get_sql_server_instance_telemetry.py | 48 + .../get_sql_server_license.py | 43 + ...a_controller_active_directory_connector.py | 4 +- .../list_by_resource_group_data_controller.py | 4 +- ...ist_by_resource_group_postgres_instance.py | 4 +- ..._by_resource_group_sql_managed_instance.py | 4 +- ...y_resource_group_sql_server_esu_license.py | 43 + ...t_by_resource_group_sql_server_instance.py | 4 +- ...st_by_resource_group_sql_server_license.py | 43 + ..._by_sql_managed_instance_failover_group.py | 44 + ..._sql_server_instance_availability_group.py | 44 + .../list_by_sql_server_instance_database.py | 44 + .../generated_samples/list_operation.py | 4 +- .../list_subscription_data_controller.py | 4 +- .../list_subscription_postgres_instance.py | 4 +- .../list_subscription_sql_managed_instance.py | 4 +- ...ist_subscription_sql_server_esu_license.py | 41 + .../list_subscription_sql_server_instance.py | 4 +- .../list_subscription_sql_server_license.py | 41 + .../post_upgrade_sql_server_instance.py | 43 + .../pre_upgrade_sql_server_instance.py | 43 + ...emove_databases_from_availability_group.py | 45 + ...practice_assessment_sql_server_instance.py | 43 + ...ractices_assessment_sql_server_instance.py | 43 + .../run_managed_instance_link_assessment.py | 57 + ...igration_assessment_sql_server_instance.py | 43 + ...eadiness_assessment_sql_server_instance.py | 43 + ..._recommendation_job_sql_server_instance.py | 43 + ...pdate_arc_sql_server_availability_group.py | 45 + .../update_data_controller.py | 4 +- .../update_postgres_instance.py | 4 +- .../update_sql_managed_instance.py | 4 +- .../update_sql_server_database.py | 45 + .../update_sql_server_esu_license.py | 47 + .../update_sql_server_instance.py | 8 +- .../update_sql_server_license.py | 44 + .../view_arc_sql_server_availability_group.py | 44 + .../generated_tests/conftest.py | 41 + ..._active_directory_connectors_operations.py | 106 + ...e_directory_connectors_operations_async.py | 111 + ..._management_data_controllers_operations.py | 163 + ...ement_data_controllers_operations_async.py | 170 + ...a_management_failover_groups_operations.py | 97 + ...gement_failover_groups_operations_async.py | 102 + ...st_azure_arc_data_management_operations.py | 29 + ...re_arc_data_management_operations_async.py | 30 + ...anagement_postgres_instances_operations.py | 131 + ...ent_postgres_instances_operations_async.py | 136 + ...gement_sql_managed_instances_operations.py | 146 + ..._sql_managed_instances_operations_async.py | 153 + ...l_server_availability_groups_operations.py | 526 + ...er_availability_groups_operations_async.py | 541 + ...agement_sql_server_databases_operations.py | 459 + ...t_sql_server_databases_operations_async.py | 464 + ...ment_sql_server_esu_licenses_operations.py | 128 + ...ql_server_esu_licenses_operations_async.py | 129 + ...agement_sql_server_instances_operations.py | 799 + ...t_sql_server_instances_operations_async.py | 832 + ...nagement_sql_server_licenses_operations.py | 126 + ...nt_sql_server_licenses_operations_async.py | 127 + .../azure-mgmt-azurearcdata/pyproject.toml | 82 + .../sdk_packaging.toml | 8 - .../azure-mgmt-azurearcdata/setup.py | 79 - 154 files changed, 72483 insertions(+), 4295 deletions(-) delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/_meta.json create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/__init__.py rename sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/{_serialization.py => _utils/serialization.py} (76%) delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_vendor.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_failover_groups_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_availability_groups_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_databases_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_esu_licenses_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_licenses_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_failover_groups_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_availability_groups_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_databases_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_esu_licenses_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_licenses_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_swagger.json create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations_async.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations_async.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations_async.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations_async.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations_async.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations_async.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations_async.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations_async.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations_async.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations_async.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/sdk_packaging.toml delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/setup.py diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md index 0680ab6497d5..db68876cbb50 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History +## 2.0.0b2 (2026-04-01) + +skip changelog generation + ## 2.0.0b1 (2022-11-18) ### Features Added diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/MANIFEST.in b/sdk/azurearcdata/azure-mgmt-azurearcdata/MANIFEST.in index df108237316d..1b74b19eceff 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/MANIFEST.in +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/MANIFEST.in @@ -1,8 +1,7 @@ -include _meta.json -recursive-include tests *.py *.json -recursive-include samples *.py *.md include *.md -include azure/__init__.py -include azure/mgmt/__init__.py include LICENSE include azure/mgmt/azurearcdata/py.typed +recursive-include tests *.py +recursive-include samples *.py *.md +include azure/__init__.py +include azure/mgmt/__init__.py diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/README.md b/sdk/azurearcdata/azure-mgmt-azurearcdata/README.md index 3e1bd634a508..468de500b448 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/README.md +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/README.md @@ -1,28 +1,61 @@ # Microsoft Azure SDK for Python This is the Microsoft Azure Azure Arc Data Management Client Library. -This package has been tested with Python 3.7+. +This package has been tested with Python 3.9+. For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all). ## _Disclaimer_ _Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For more information and questions, please refer to https://github.com/Azure/azure-sdk-for-python/issues/20691_ -# Usage +## Getting started +### Prerequisites -To learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt) - -For docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/) -Code samples for this package can be found at [Azure Arc Data Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com. -Additional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples) +- Python 3.9+ is required to use this package. +- [Azure subscription](https://azure.microsoft.com/free/) +### Install the package -# Provide Feedback +```bash +pip install azure-mgmt-azurearcdata +pip install azure-identity +``` -If you encounter any bugs or have suggestions, please file an issue in the -[Issues](https://github.com/Azure/azure-sdk-for-python/issues) -section of the project. +### Authentication + +By default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configuration of the following environment variables. + +- `AZURE_CLIENT_ID` for Azure client ID. +- `AZURE_TENANT_ID` for Azure tenant ID. +- `AZURE_CLIENT_SECRET` for Azure client secret. + +In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`. + +With above configuration, client can be authenticated by following code: + +```python +from azure.identity import DefaultAzureCredential +from azure.mgmt.azurearcdata import AzureArcDataManagementClient +import os +sub_id = os.getenv("AZURE_SUBSCRIPTION_ID") +client = AzureArcDataManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id) +``` +## Examples +Code samples for this package can be found at: +- [Search Azure Arc Data Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com +- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples) + + +## Troubleshooting + +## Next steps + +## Provide Feedback + +If you encounter any bugs or have suggestions, please file an issue in the +[Issues](https://github.com/Azure/azure-sdk-for-python/issues) +section of the project. diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/_meta.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/_meta.json deleted file mode 100644 index f285b3b3d35a..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/_meta.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "commit": "be6cd9ccfcb6ba08c1c206627026eabfbff31fc1", - "repository_url": "https://github.com/Azure/azure-rest-api-specs", - "autorest": "3.9.2", - "use": [ - "@autorest/python@6.2.7", - "@autorest/modelerfour@4.24.3" - ], - "autorest_command": "autorest specification/azurearcdata/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.7 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False", - "readme": "specification/azurearcdata/resource-manager/readme.md" -} \ No newline at end of file diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json new file mode 100644 index 000000000000..230ca4ce3d61 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json @@ -0,0 +1,11 @@ +{ + "commit": "2fd80c47054b7965d7d149dd7fca7e81c18df994", + "repository_url": "https://github.com/Azure/azure-rest-api-specs", + "autorest": "3.10.2", + "use": [ + "@autorest/python@6.50.0", + "@autorest/modelerfour@4.27.0" + ], + "autorest_command": "autorest specification/azurearcdata/resource-manager/readme.md --generate-sample=True --generate-test=True --include-x-ms-examples-original-file=True --package-mode=azure-mgmt --python --python-sdks-folder=/home/v-chenjiang/spec/worktrees/sdk-azure-mgmt-azurearcdata/sdk --use=@autorest/python@6.50.0 --use=@autorest/modelerfour@4.27.0 --version=3.10.2 --version-tolerant=False", + "readme": "specification/azurearcdata/resource-manager/readme.md" +} \ No newline at end of file diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json new file mode 100644 index 000000000000..05748c671ea0 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json @@ -0,0 +1,405 @@ +{ + "CrossLanguagePackageId": null, + "CrossLanguageDefinitionId": { + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDNSDetails": null, + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDomainDetails": null, + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorListResult": null, + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorProperties": null, + "azure.mgmt.azurearcdata.models.Resource": null, + "azure.mgmt.azurearcdata.models.ProxyResource": null, + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource": null, + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorSpec": null, + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorStatus": null, + "azure.mgmt.azurearcdata.models.ActiveDirectoryDomainController": null, + "azure.mgmt.azurearcdata.models.ActiveDirectoryDomainControllers": null, + "azure.mgmt.azurearcdata.models.ActiveDirectoryInformation": null, + "azure.mgmt.azurearcdata.models.AdditionalMigrationJobAttributes": null, + "azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityGroupListResult": null, + "azure.mgmt.azurearcdata.models.ArcSqlServerDatabaseListResult": null, + "azure.mgmt.azurearcdata.models.Authentication": null, + "azure.mgmt.azurearcdata.models.AvailabilityGroupConfigure": null, + "azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration": null, + "azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateReplicaConfiguration": null, + "azure.mgmt.azurearcdata.models.AvailabilityGroupInfo": null, + "azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters": null, + "azure.mgmt.azurearcdata.models.AvailabilityGroupState": null, + "azure.mgmt.azurearcdata.models.BackgroundJob": null, + "azure.mgmt.azurearcdata.models.BackupPolicy": null, + "azure.mgmt.azurearcdata.models.BasicLoginInformation": null, + "azure.mgmt.azurearcdata.models.BestPracticesAssessment": null, + "azure.mgmt.azurearcdata.models.ClientConnection": null, + "azure.mgmt.azurearcdata.models.CommonSku": null, + "azure.mgmt.azurearcdata.models.CostOptionSelectedValues": null, + "azure.mgmt.azurearcdata.models.CostTypeValues": null, + "azure.mgmt.azurearcdata.models.CronTrigger": null, + "azure.mgmt.azurearcdata.models.DatabaseAssessmentsItem": null, + "azure.mgmt.azurearcdata.models.DataBaseMigration": null, + "azure.mgmt.azurearcdata.models.DataBaseMigrationAssessment": null, + "azure.mgmt.azurearcdata.models.DatabaseMigrationJobsItem": null, + "azure.mgmt.azurearcdata.models.Databases": null, + "azure.mgmt.azurearcdata.models.DataControllerProperties": null, + "azure.mgmt.azurearcdata.models.TrackedResource": null, + "azure.mgmt.azurearcdata.models.DataControllerResource": null, + "azure.mgmt.azurearcdata.models.DataControllerUpdate": null, + "azure.mgmt.azurearcdata.models.DBMEndpoint": null, + "azure.mgmt.azurearcdata.models.DiskSizes": null, + "azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration": null, + "azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration": null, + "azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration": null, + "azure.mgmt.azurearcdata.models.EntraAuthentication": null, + "azure.mgmt.azurearcdata.models.ErrorAdditionalInfo": null, + "azure.mgmt.azurearcdata.models.ErrorDetail": null, + "azure.mgmt.azurearcdata.models.ErrorResponse": null, + "azure.mgmt.azurearcdata.models.ExtendedLocation": null, + "azure.mgmt.azurearcdata.models.FailoverCluster": null, + "azure.mgmt.azurearcdata.models.FailoverGroupListResult": null, + "azure.mgmt.azurearcdata.models.FailoverGroupProperties": null, + "azure.mgmt.azurearcdata.models.FailoverGroupResource": null, + "azure.mgmt.azurearcdata.models.FailoverGroupSpec": null, + "azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId": null, + "azure.mgmt.azurearcdata.models.HostIPAddressInformation": null, + "azure.mgmt.azurearcdata.models.ImpactedObjectsInfo": null, + "azure.mgmt.azurearcdata.models.ImpactedObjectsSuitabilitySummary": null, + "azure.mgmt.azurearcdata.models.K8SActiveDirectory": null, + "azure.mgmt.azurearcdata.models.K8SActiveDirectoryConnector": null, + "azure.mgmt.azurearcdata.models.K8SNetworkSettings": null, + "azure.mgmt.azurearcdata.models.K8SResourceRequirements": null, + "azure.mgmt.azurearcdata.models.K8SScheduling": null, + "azure.mgmt.azurearcdata.models.K8SSchedulingOptions": null, + "azure.mgmt.azurearcdata.models.K8SSecurity": null, + "azure.mgmt.azurearcdata.models.K8SSettings": null, + "azure.mgmt.azurearcdata.models.K8StransparentDataEncryption": null, + "azure.mgmt.azurearcdata.models.KeytabInformation": null, + "azure.mgmt.azurearcdata.models.LogAnalyticsWorkspaceConfig": null, + "azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration": null, + "azure.mgmt.azurearcdata.models.Migration": null, + "azure.mgmt.azurearcdata.models.MigrationAssessment": null, + "azure.mgmt.azurearcdata.models.MigrationAssessmentSettings": null, + "azure.mgmt.azurearcdata.models.MiLinkCreateUpdateConfiguration": null, + "azure.mgmt.azurearcdata.models.Monitoring": null, + "azure.mgmt.azurearcdata.models.OnPremiseProperty": null, + "azure.mgmt.azurearcdata.models.Operation": null, + "azure.mgmt.azurearcdata.models.OperationDisplay": null, + "azure.mgmt.azurearcdata.models.OperationListResult": null, + "azure.mgmt.azurearcdata.models.PageOfDataControllerResource": null, + "azure.mgmt.azurearcdata.models.PostgresInstance": null, + "azure.mgmt.azurearcdata.models.PostgresInstanceListResult": null, + "azure.mgmt.azurearcdata.models.PostgresInstanceProperties": null, + "azure.mgmt.azurearcdata.models.PostgresInstanceSku": null, + "azure.mgmt.azurearcdata.models.PostgresInstanceUpdate": null, + "azure.mgmt.azurearcdata.models.ResourceAutoGenerated": null, + "azure.mgmt.azurearcdata.models.Schedule": null, + "azure.mgmt.azurearcdata.models.SequencerAction": null, + "azure.mgmt.azurearcdata.models.ServerAssessmentsItem": null, + "azure.mgmt.azurearcdata.models.ServerAssessmentsPropertiesItemsItem": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResults": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabase": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSku": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstance": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachine": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationSummary": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSku": null, + "azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSkuCategory": null, + "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupDatabaseReplicaResourceProperties": null, + "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupDhcpListenerProperties": null, + "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem": null, + "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupReplicaResourceProperties": null, + "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties": null, + "azure.mgmt.azurearcdata.models.SqlManagedInstance": null, + "azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SRaw": null, + "azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SSpec": null, + "azure.mgmt.azurearcdata.models.SqlManagedInstanceListResult": null, + "azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties": null, + "azure.mgmt.azurearcdata.models.SqlManagedInstanceSku": null, + "azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate": null, + "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource": null, + "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties": null, + "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesDatabases": null, + "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesReplicas": null, + "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate": null, + "azure.mgmt.azurearcdata.models.SqlServerDatabaseResource": null, + "azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties": null, + "azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesBackupInformation": null, + "azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesDatabaseOptions": null, + "azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate": null, + "azure.mgmt.azurearcdata.models.TrackedResourceAutoGenerated": null, + "azure.mgmt.azurearcdata.models.SqlServerEsuLicense": null, + "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseListResult": null, + "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseProperties": null, + "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate": null, + "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdateProperties": null, + "azure.mgmt.azurearcdata.models.SqlServerInstance": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumn": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceJob": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceJobStatus": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceListResult": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessment": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceMigrationReadinessReportResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceProperties": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationAssessmentResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationReadinessAssessmentResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReport": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSection": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumn": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryResponse": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceUpdateProperties": null, + "azure.mgmt.azurearcdata.models.SqlServerLicense": null, + "azure.mgmt.azurearcdata.models.SqlServerLicenseListResult": null, + "azure.mgmt.azurearcdata.models.SqlServerLicenseProperties": null, + "azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate": null, + "azure.mgmt.azurearcdata.models.SqlServerLicenseUpdateProperties": null, + "azure.mgmt.azurearcdata.models.SystemData": null, + "azure.mgmt.azurearcdata.models.TargetReadiness": null, + "azure.mgmt.azurearcdata.models.UploadServicePrincipal": null, + "azure.mgmt.azurearcdata.models.UploadWatermark": null, + "azure.mgmt.azurearcdata.models.OperationOrigin": null, + "azure.mgmt.azurearcdata.models.CreatedByType": null, + "azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType": null, + "azure.mgmt.azurearcdata.models.ExtendedLocationTypes": null, + "azure.mgmt.azurearcdata.models.SqlManagedInstanceSkuTier": null, + "azure.mgmt.azurearcdata.models.ProvisioningState": null, + "azure.mgmt.azurearcdata.models.FailoverGroupPartnerSyncMode": null, + "azure.mgmt.azurearcdata.models.InstanceFailoverGroupRole": null, + "azure.mgmt.azurearcdata.models.IdentityType": null, + "azure.mgmt.azurearcdata.models.SqlVersion": null, + "azure.mgmt.azurearcdata.models.EditionType": null, + "azure.mgmt.azurearcdata.models.ConnectionStatus": null, + "azure.mgmt.azurearcdata.models.DiscoverySource": null, + "azure.mgmt.azurearcdata.models.ArcSqlServerLicenseType": null, + "azure.mgmt.azurearcdata.models.DefenderStatus": null, + "azure.mgmt.azurearcdata.models.HostType": null, + "azure.mgmt.azurearcdata.models.AlwaysOnRole": null, + "azure.mgmt.azurearcdata.models.Role": null, + "azure.mgmt.azurearcdata.models.EncryptionAlgorithm": null, + "azure.mgmt.azurearcdata.models.ConnectionAuth": null, + "azure.mgmt.azurearcdata.models.DifferentialBackupHours": null, + "azure.mgmt.azurearcdata.models.RecommendationStatus": null, + "azure.mgmt.azurearcdata.models.ServiceType": null, + "azure.mgmt.azurearcdata.models.Mode": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumnType": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumnType": null, + "azure.mgmt.azurearcdata.models.SequencerState": null, + "azure.mgmt.azurearcdata.models.Result": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType": null, + "azure.mgmt.azurearcdata.models.JobStatus": null, + "azure.mgmt.azurearcdata.models.State": null, + "azure.mgmt.azurearcdata.models.ExecutionState": null, + "azure.mgmt.azurearcdata.models.LastExecutionStatus": null, + "azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory": null, + "azure.mgmt.azurearcdata.models.AssessmentStatus": null, + "azure.mgmt.azurearcdata.models.BillingPlan": null, + "azure.mgmt.azurearcdata.models.LicenseCategory": null, + "azure.mgmt.azurearcdata.models.ActivationState": null, + "azure.mgmt.azurearcdata.models.ScopeType": null, + "azure.mgmt.azurearcdata.models.Infrastructure": null, + "azure.mgmt.azurearcdata.models.AccountProvisioningMode": null, + "azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode": null, + "azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode": null, + "azure.mgmt.azurearcdata.models.PrimaryAllowConnections": null, + "azure.mgmt.azurearcdata.models.SecondaryAllowConnections": null, + "azure.mgmt.azurearcdata.models.SeedingMode": null, + "azure.mgmt.azurearcdata.models.ReplicationPartnerType": null, + "azure.mgmt.azurearcdata.models.MigrationMode": null, + "azure.mgmt.azurearcdata.models.InitiatedFrom": null, + "azure.mgmt.azurearcdata.models.MigrationStatus": null, + "azure.mgmt.azurearcdata.models.TargetType": null, + "azure.mgmt.azurearcdata.models.DatabaseState": null, + "azure.mgmt.azurearcdata.models.RecoveryMode": null, + "azure.mgmt.azurearcdata.models.DatabaseCreateMode": null, + "azure.mgmt.azurearcdata.models.Version": null, + "azure.mgmt.azurearcdata.models.AggregationType": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaReportType": null, + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaQueryType": null, + "azure.mgmt.azurearcdata.models.ResourceUpdateMode": null, + "azure.mgmt.azurearcdata.models.AzureManagedInstanceRole": null, + "azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityGroupTypeFilter": null, + "azure.mgmt.azurearcdata.models.AutomatedBackupPreference": null, + "azure.mgmt.azurearcdata.models.FailureConditionLevel": null, + "azure.mgmt.azurearcdata.models.DbFailover": null, + "azure.mgmt.azurearcdata.models.DtcSupport": null, + "azure.mgmt.azurearcdata.models.ClusterType": null, + "azure.mgmt.azurearcdata.operations.Operations.list": null, + "azure.mgmt.azurearcdata.aio.operations.Operations.list": null, + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.list": null, + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.list": null, + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.list_by_resource_group": null, + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.list_by_resource_group": null, + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.get": null, + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.get": null, + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.begin_create": null, + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.begin_create": null, + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.begin_delete": null, + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.begin_delete": null, + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.update": null, + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.update": null, + "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.list": null, + "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.list": null, + "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.begin_create": null, + "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.begin_create": null, + "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.begin_delete": null, + "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.begin_delete": null, + "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.get": null, + "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.get": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.list": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.list": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.list_by_resource_group": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.list_by_resource_group": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.get": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.get": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_create": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_create": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_delete": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_delete": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_update": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_update": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_telemetry": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_telemetry": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_best_practices_assessment": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_best_practices_assessment": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.run_migration_assessment": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.run_migration_assessment": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_target_recommendation_job": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_target_recommendation_job": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_target_recommendation_reports": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_target_recommendation_reports": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_migration_readiness_report": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_migration_readiness_report": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.run_best_practices_assessment": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.run_best_practices_assessment": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_best_practice_assessment": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_best_practice_assessment": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_migration_readiness_assessment": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_migration_readiness_assessment": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.get_jobs_status": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.get_jobs_status": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_jobs": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_jobs": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.pre_upgrade": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.pre_upgrade": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.post_upgrade": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.post_upgrade": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_managed_instance_link_assessment": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_managed_instance_link_assessment": null, + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.get_all_availability_groups": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.get_all_availability_groups": null, + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.list": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.list": null, + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.list_by_resource_group": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.list_by_resource_group": null, + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.get": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.get": null, + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.create": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.create": null, + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.delete": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.delete": null, + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.update": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.update": null, + "azure.mgmt.azurearcdata.operations.DataControllersOperations.list_in_subscription": null, + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.list_in_subscription": null, + "azure.mgmt.azurearcdata.operations.DataControllersOperations.list_in_group": null, + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.list_in_group": null, + "azure.mgmt.azurearcdata.operations.DataControllersOperations.begin_put_data_controller": null, + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.begin_put_data_controller": null, + "azure.mgmt.azurearcdata.operations.DataControllersOperations.begin_delete_data_controller": null, + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.begin_delete_data_controller": null, + "azure.mgmt.azurearcdata.operations.DataControllersOperations.get_data_controller": null, + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.get_data_controller": null, + "azure.mgmt.azurearcdata.operations.DataControllersOperations.begin_patch_data_controller": null, + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.begin_patch_data_controller": null, + "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.list": null, + "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.list": null, + "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.begin_create": null, + "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.begin_create": null, + "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.begin_delete": null, + "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.begin_delete": null, + "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.get": null, + "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.get": null, + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.list": null, + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.list": null, + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.list_by_resource_group": null, + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.list_by_resource_group": null, + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.get": null, + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.get": null, + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.begin_create": null, + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.begin_create": null, + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.begin_delete": null, + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.begin_delete": null, + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.update": null, + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.update": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.create": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.create": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_delete": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_delete": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.get": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.get": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_update": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_update": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.detail_view": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.detail_view": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.failover": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.failover": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.force_failover_allow_data_loss": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.force_failover_allow_data_loss": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_create_availability_group": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_create_availability_group": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_create_distributed_availability_group": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_create_distributed_availability_group": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_create_managed_instance_link": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_create_managed_instance_link": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.add_databases": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.add_databases": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_failover_mi_link": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_failover_mi_link": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_delete_mi_link": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_delete_mi_link": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.remove_databases": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.remove_databases": null, + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.list": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.list": null, + "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.create": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.create": null, + "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.begin_delete": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.begin_delete": null, + "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.get": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.get": null, + "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.begin_update": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.begin_update": null, + "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.list": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.list": null, + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.list": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.list": null, + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.list_by_resource_group": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.list_by_resource_group": null, + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.get": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.get": null, + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.create": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.create": null, + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.delete": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.delete": null, + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.update": null, + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.update": null + } +} \ No newline at end of file diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/__init__.py index 8db66d3d0f0f..d55ccad1f573 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/__init__.py @@ -1 +1 @@ -__path__ = __import__("pkgutil").extend_path(__path__, __name__) +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/__init__.py index 8db66d3d0f0f..d55ccad1f573 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/__init__.py @@ -1 +1 @@ -__path__ = __import__("pkgutil").extend_path(__path__, __name__) +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py index fdb269c5216e..ebf96b3e77ec 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py @@ -5,15 +5,21 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +# pylint: disable=wrong-import-position -from ._azure_arc_data_management_client import AzureArcDataManagementClient +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._patch import * # pylint: disable=unused-wildcard-import + +from ._azure_arc_data_management_client import AzureArcDataManagementClient # type: ignore from ._version import VERSION __version__ = VERSION try: from ._patch import __all__ as _patch_all - from ._patch import * # pylint: disable=unused-wildcard-import + from ._patch import * except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk @@ -21,6 +27,6 @@ __all__ = [ "AzureArcDataManagementClient", ] -__all__.extend([p for p in _patch_all if p not in __all__]) +__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore _patch_sdk() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_azure_arc_data_management_client.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_azure_arc_data_management_client.py index 2968503221e6..647c50ba2844 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_azure_arc_data_management_client.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_azure_arc_data_management_client.py @@ -7,29 +7,39 @@ # -------------------------------------------------------------------------- from copy import deepcopy -from typing import Any, TYPE_CHECKING +from typing import Any, Optional, TYPE_CHECKING, cast +from typing_extensions import Self +from azure.core.pipeline import policies from azure.core.rest import HttpRequest, HttpResponse +from azure.core.settings import settings from azure.mgmt.core import ARMPipelineClient +from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy +from azure.mgmt.core.tools import get_arm_endpoints from . import models as _models from ._configuration import AzureArcDataManagementClientConfiguration -from ._serialization import Deserializer, Serializer +from ._utils.serialization import Deserializer, Serializer from .operations import ( ActiveDirectoryConnectorsOperations, DataControllersOperations, + FailoverGroupsOperations, Operations, PostgresInstancesOperations, SqlManagedInstancesOperations, + SqlServerAvailabilityGroupsOperations, + SqlServerDatabasesOperations, + SqlServerEsuLicensesOperations, SqlServerInstancesOperations, + SqlServerLicensesOperations, ) if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports + from azure.core import AzureClouds from azure.core.credentials import TokenCredential -class AzureArcDataManagementClient: # pylint: disable=client-accepts-api-version-keyword +class AzureArcDataManagementClient: # pylint: disable=too-many-instance-attributes """The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources. @@ -38,8 +48,12 @@ class AzureArcDataManagementClient: # pylint: disable=client-accepts-api-versio :ivar sql_managed_instances: SqlManagedInstancesOperations operations :vartype sql_managed_instances: azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations + :ivar failover_groups: FailoverGroupsOperations operations + :vartype failover_groups: azure.mgmt.azurearcdata.operations.FailoverGroupsOperations :ivar sql_server_instances: SqlServerInstancesOperations operations :vartype sql_server_instances: azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations + :ivar sql_server_licenses: SqlServerLicensesOperations operations + :vartype sql_server_licenses: azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations :ivar data_controllers: DataControllersOperations operations :vartype data_controllers: azure.mgmt.azurearcdata.operations.DataControllersOperations :ivar active_directory_connectors: ActiveDirectoryConnectorsOperations operations @@ -47,13 +61,24 @@ class AzureArcDataManagementClient: # pylint: disable=client-accepts-api-versio azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations :ivar postgres_instances: PostgresInstancesOperations operations :vartype postgres_instances: azure.mgmt.azurearcdata.operations.PostgresInstancesOperations + :ivar sql_server_availability_groups: SqlServerAvailabilityGroupsOperations operations + :vartype sql_server_availability_groups: + azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations + :ivar sql_server_databases: SqlServerDatabasesOperations operations + :vartype sql_server_databases: azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations + :ivar sql_server_esu_licenses: SqlServerEsuLicensesOperations operations + :vartype sql_server_esu_licenses: + azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the Azure subscription. Required. :type subscription_id: str - :param base_url: Service URL. Default value is "https://management.azure.com". + :param base_url: Service URL. Default value is None. :type base_url: str - :keyword api_version: Api Version. Default value is "2022-03-01-preview". Note that overriding + :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is + None. + :paramtype cloud_setting: ~azure.core.AzureClouds + :keyword api_version: Api Version. Default value is "2026-03-01-preview". 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 @@ -64,13 +89,43 @@ def __init__( self, credential: "TokenCredential", subscription_id: str, - base_url: str = "https://management.azure.com", + base_url: Optional[str] = None, + *, + cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: + _cloud = cloud_setting or settings.current.azure_cloud # type: ignore + _endpoints = get_arm_endpoints(_cloud) + if not base_url: + base_url = _endpoints["resource_manager"] + credential_scopes = kwargs.pop("credential_scopes", _endpoints["credential_scopes"]) self._config = AzureArcDataManagementClientConfiguration( - credential=credential, subscription_id=subscription_id, **kwargs + credential=credential, + subscription_id=subscription_id, + cloud_setting=cloud_setting, + credential_scopes=credential_scopes, + **kwargs ) - self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + _policies = kwargs.pop("policies", None) + if _policies is None: + _policies = [ + policies.RequestIdPolicy(**kwargs), + self._config.headers_policy, + self._config.user_agent_policy, + self._config.proxy_policy, + policies.ContentDecodePolicy(**kwargs), + ARMAutoResourceProviderRegistrationPolicy(), + self._config.redirect_policy, + self._config.retry_policy, + self._config.authentication_policy, + self._config.custom_hook_policy, + self._config.logging_policy, + policies.DistributedTracingPolicy(**kwargs), + policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None, + self._config.http_logging_policy, + ] + self._client: ARMPipelineClient = ARMPipelineClient(base_url=cast(str, base_url), policies=_policies, **kwargs) client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) @@ -80,9 +135,13 @@ def __init__( self.sql_managed_instances = SqlManagedInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) + self.failover_groups = FailoverGroupsOperations(self._client, self._config, self._serialize, self._deserialize) self.sql_server_instances = SqlServerInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) + self.sql_server_licenses = SqlServerLicensesOperations( + self._client, self._config, self._serialize, self._deserialize + ) self.data_controllers = DataControllersOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -92,8 +151,17 @@ def __init__( self.postgres_instances = PostgresInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) + self.sql_server_availability_groups = SqlServerAvailabilityGroupsOperations( + self._client, self._config, self._serialize, self._deserialize + ) + self.sql_server_databases = SqlServerDatabasesOperations( + self._client, self._config, self._serialize, self._deserialize + ) + self.sql_server_esu_licenses = SqlServerEsuLicensesOperations( + self._client, self._config, self._serialize, self._deserialize + ) - def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: + def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest @@ -113,14 +181,14 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: request_copy = deepcopy(request) request_copy.url = self._client.format_url(request_copy.url) - return self._client.send_request(request_copy, **kwargs) + return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore def close(self) -> None: self._client.close() - def __enter__(self) -> "AzureArcDataManagementClient": + def __enter__(self) -> Self: 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/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py index d50ca5314a38..d1b6409ce9ca 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py @@ -6,26 +6,19 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys -from typing import Any, TYPE_CHECKING +from typing import Any, Optional, TYPE_CHECKING -from azure.core.configuration import Configuration from azure.core.pipeline import policies from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy 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 import AzureClouds from azure.core.credentials import TokenCredential -class AzureArcDataManagementClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes +class AzureArcDataManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long """Configuration for AzureArcDataManagementClient. Note that all parameters used to create this instance are saved as instance @@ -35,14 +28,22 @@ class AzureArcDataManagementClientConfiguration(Configuration): # pylint: disab :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the Azure subscription. Required. :type subscription_id: str - :keyword api_version: Api Version. Default value is "2022-03-01-preview". Note that overriding + :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is + None. + :type cloud_setting: ~azure.core.AzureClouds + :keyword api_version: Api Version. Default value is "2026-03-01-preview". 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(AzureArcDataManagementClientConfiguration, self).__init__(**kwargs) - api_version: Literal["2022-03-01-preview"] = kwargs.pop("api_version", "2022-03-01-preview") + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + cloud_setting: Optional["AzureClouds"] = None, + **kwargs: Any + ) -> None: + api_version: str = kwargs.pop("api_version", "2026-03-01-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -51,9 +52,11 @@ def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs self.credential = credential self.subscription_id = subscription_id + self.cloud_setting = cloud_setting self.api_version = api_version self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) kwargs.setdefault("sdk_moniker", "mgmt-azurearcdata/{}".format(VERSION)) + self.polling_interval = kwargs.get("polling_interval", 30) self._configure(**kwargs) def _configure(self, **kwargs: Any) -> None: @@ -62,9 +65,9 @@ def _configure(self, **kwargs: Any) -> None: self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: self.authentication_policy = ARMChallengeAuthenticationPolicy( diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/__init__.py new file mode 100644 index 000000000000..0af9b28f6607 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------- +# 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. +# -------------------------------------------------------------------------- diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_serialization.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py similarity index 76% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_serialization.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py index 2c170e28dbca..e667da542878 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_serialization.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py @@ -1,32 +1,15 @@ +# pylint: disable=line-too-long,useless-suppression,too-many-lines +# coding=utf-8 # -------------------------------------------------------------------------- -# # Copyright (c) Microsoft Corporation. All rights reserved. -# -# The MIT License (MIT) -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the ""Software""), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -# IN THE SOFTWARE. -# +# 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. # -------------------------------------------------------------------------- -# pylint: skip-file # pyright: reportUnnecessaryTypeIgnoreComment=false +from __future__ import annotations from base64 import b64decode, b64encode import calendar import datetime @@ -38,7 +21,17 @@ import re import sys import codecs -from typing import Optional, Union, AnyStr, IO, Mapping +from typing import ( + Any, + cast, + Optional, + Union, + AnyStr, + IO, + Mapping, + Callable, + MutableMapping, +) try: from urllib import quote # type: ignore @@ -47,13 +40,15 @@ import xml.etree.ElementTree as ET import isodate # type: ignore +from typing_extensions import Self -from typing import Dict, Any, cast - -from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback +from azure.core.exceptions import DeserializationError, SerializationError +from azure.core.serialization import NULL as CoreNull _BOM = codecs.BOM_UTF8.decode(encoding="utf-8") +JSON = MutableMapping[str, Any] + class RawDeserializer: @@ -74,6 +69,8 @@ def deserialize_from_text(cls, data: Optional[Union[AnyStr, IO]], content_type: :param data: Input, could be bytes or stream (will be decoded with UTF8) or text :type data: str or bytes or IO :param str content_type: The content type. + :return: The deserialized data. + :rtype: object """ if hasattr(data, "read"): # Assume a stream @@ -95,7 +92,7 @@ def deserialize_from_text(cls, data: Optional[Union[AnyStr, IO]], content_type: try: return json.loads(data_as_str) except ValueError as err: - raise DeserializationError("JSON is invalid: {}".format(err), err) + raise DeserializationError("JSON is invalid: {}".format(err), err) from err elif "xml" in (content_type or []): try: @@ -107,7 +104,7 @@ def deserialize_from_text(cls, data: Optional[Union[AnyStr, IO]], content_type: pass return ET.fromstring(data_as_str) # nosec - except ET.ParseError: + except ET.ParseError as err: # It might be because the server has an issue, and returned JSON with # content-type XML.... # So let's try a JSON load, and if it's still broken @@ -126,7 +123,9 @@ def _json_attemp(data): # The function hack is because Py2.7 messes up with exception # context otherwise. _LOGGER.critical("Wasn't XML not JSON, failing") - raise_with_traceback(DeserializationError, "XML is invalid") + raise DeserializationError("XML is invalid") from err + elif content_type.startswith("text/"): + return data_as_str raise DeserializationError("Cannot deserialize content-type: {}".format(content_type)) @classmethod @@ -136,6 +135,11 @@ def deserialize_from_http_generics(cls, body_bytes: Optional[Union[AnyStr, IO]], Use bytes and headers to NOT use any requests/aiohttp or whatever specific implementation. Headers will tested for "content-type" + + :param bytes body_bytes: The body of the response. + :param dict headers: The headers of the response. + :returns: The deserialized data. + :rtype: object """ # Try to use content-type from headers if available content_type = None @@ -153,13 +157,6 @@ def deserialize_from_http_generics(cls, body_bytes: Optional[Union[AnyStr, IO]], return None -try: - basestring # type: ignore - unicode_str = unicode # type: ignore -except NameError: - basestring = str - unicode_str = str - _LOGGER = logging.getLogger(__name__) try: @@ -167,80 +164,31 @@ def deserialize_from_http_generics(cls, body_bytes: Optional[Union[AnyStr, IO]], except NameError: _long_type = int - -class UTC(datetime.tzinfo): - """Time Zone info for handling UTC""" - - def utcoffset(self, dt): - """UTF offset for UTC is 0.""" - return datetime.timedelta(0) - - def tzname(self, dt): - """Timestamp representation.""" - return "Z" - - def dst(self, dt): - """No daylight saving for UTC.""" - return datetime.timedelta(hours=1) - - -try: - from datetime import timezone as _FixedOffset # type: ignore -except ImportError: # Python 2.7 - - class _FixedOffset(datetime.tzinfo): # type: ignore - """Fixed offset in minutes east from UTC. - Copy/pasted from Python doc - :param datetime.timedelta offset: offset in timedelta format - """ - - def __init__(self, offset): - self.__offset = offset - - def utcoffset(self, dt): - return self.__offset - - def tzname(self, dt): - return str(self.__offset.total_seconds() / 3600) - - def __repr__(self): - return "".format(self.tzname(None)) - - def dst(self, dt): - return datetime.timedelta(0) - - def __getinitargs__(self): - return (self.__offset,) - - -try: - from datetime import timezone - - TZ_UTC = timezone.utc -except ImportError: - TZ_UTC = UTC() # type: ignore +TZ_UTC = datetime.timezone.utc _FLATTEN = re.compile(r"(? None: + self.additional_properties: Optional[dict[str, Any]] = {} + for k in kwargs: # pylint: disable=consider-using-dict-items if k not in self._attribute_map: _LOGGER.warning("%s is not a known attribute of class %s and will be ignored", k, self.__class__) elif k in self._validation and self._validation[k].get("readonly", False): @@ -287,25 +242,35 @@ def __init__(self, **kwargs): else: setattr(self, k, kwargs[k]) - def __eq__(self, other): - """Compare objects by comparing all attributes.""" + def __eq__(self, other: Any) -> bool: + """Compare objects by comparing all attributes. + + :param object other: The object to compare + :returns: True if objects are equal + :rtype: bool + """ if isinstance(other, self.__class__): return self.__dict__ == other.__dict__ return False - def __ne__(self, other): - """Compare objects by comparing all attributes.""" + def __ne__(self, other: Any) -> bool: + """Compare objects by comparing all attributes. + + :param object other: The object to compare + :returns: True if objects are not equal + :rtype: bool + """ return not self.__eq__(other) - def __str__(self): + def __str__(self) -> str: return str(self.__dict__) @classmethod - def enable_additional_properties_sending(cls): + def enable_additional_properties_sending(cls) -> None: cls._attribute_map["additional_properties"] = {"key": "", "type": "{object}"} @classmethod - def is_xml_model(cls): + def is_xml_model(cls) -> bool: try: cls._xml_map # type: ignore except AttributeError: @@ -314,7 +279,11 @@ def is_xml_model(cls): @classmethod def _create_xml_node(cls): - """Create XML node.""" + """Create XML node. + + :returns: The XML node + :rtype: xml.etree.ElementTree.Element + """ try: xml_map = cls._xml_map # type: ignore except AttributeError: @@ -322,8 +291,8 @@ def _create_xml_node(cls): return _create_xml_node(xml_map.get("name", cls.__name__), xml_map.get("prefix", None), xml_map.get("ns", None)) - def serialize(self, keep_readonly=False, **kwargs): - """Return the JSON that would be sent to azure from this model. + def serialize(self, keep_readonly: bool = False, **kwargs: Any) -> JSON: + """Return the JSON that would be sent to server from this model. This is an alias to `as_dict(full_restapi_key_transformer, keep_readonly=False)`. @@ -334,10 +303,17 @@ def serialize(self, keep_readonly=False, **kwargs): :rtype: dict """ serializer = Serializer(self._infer_class_models()) - return serializer._serialize(self, keep_readonly=keep_readonly, **kwargs) + return serializer._serialize( # type: ignore # pylint: disable=protected-access + self, keep_readonly=keep_readonly, **kwargs + ) - def as_dict(self, keep_readonly=True, key_transformer=attribute_transformer, **kwargs): - """Return a dict that can be JSONify using json.dump. + def as_dict( + self, + keep_readonly: bool = True, + key_transformer: Callable[[str, dict[str, Any], Any], Any] = attribute_transformer, + **kwargs: Any + ) -> JSON: + """Return a dict that can be serialized using json.dump. Advanced usage might optionally use a callback as parameter: @@ -363,12 +339,15 @@ def my_key_transformer(key, attr_desc, value): If you want XML serialization, you can pass the kwargs is_xml=True. + :param bool keep_readonly: If you want to serialize the readonly attributes :param function key_transformer: A key transformer function. :returns: A dict JSON compatible object :rtype: dict """ serializer = Serializer(self._infer_class_models()) - return serializer._serialize(self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs) + return serializer._serialize( # type: ignore # pylint: disable=protected-access + self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs + ) @classmethod def _infer_class_models(cls): @@ -378,25 +357,31 @@ def _infer_class_models(cls): client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} if cls.__name__ not in client_models: raise ValueError("Not Autorest generated code") - except Exception: + except Exception: # pylint: disable=broad-exception-caught # Assume it's not Autorest generated (tests?). Add ourselves as dependencies. client_models = {cls.__name__: cls} return client_models @classmethod - def deserialize(cls, data, content_type=None): + def deserialize(cls, data: Any, content_type: Optional[str] = None) -> Self: """Parse a str using the RestAPI syntax and return a model. :param str data: A str using RestAPI structure. JSON by default. :param str content_type: JSON by default, set application/xml if XML. :returns: An instance of this model - :raises: DeserializationError if something went wrong + :raises DeserializationError: if something went wrong + :rtype: Self """ deserializer = Deserializer(cls._infer_class_models()) - return deserializer(cls.__name__, data, content_type=content_type) + return deserializer(cls.__name__, data, content_type=content_type) # type: ignore @classmethod - def from_dict(cls, data, key_extractors=None, content_type=None): + def from_dict( + cls, + data: Any, + key_extractors: Optional[Callable[[str, dict[str, Any], Any], Any]] = None, + content_type: Optional[str] = None, + ) -> Self: """Parse a dict using given key extractor return a model. By default consider key @@ -404,13 +389,15 @@ def from_dict(cls, data, key_extractors=None, content_type=None): and last_rest_key_case_insensitive_extractor) :param dict data: A dict using RestAPI structure + :param function key_extractors: A key extractor function. :param str content_type: JSON by default, set application/xml if XML. :returns: An instance of this model - :raises: DeserializationError if something went wrong + :raises DeserializationError: if something went wrong + :rtype: Self """ deserializer = Deserializer(cls._infer_class_models()) - deserializer.key_extractors = ( - [ + deserializer.key_extractors = ( # type: ignore + [ # type: ignore attribute_key_case_insensitive_extractor, rest_key_case_insensitive_extractor, last_rest_key_case_insensitive_extractor, @@ -418,7 +405,7 @@ def from_dict(cls, data, key_extractors=None, content_type=None): if key_extractors is None else key_extractors ) - return deserializer(cls.__name__, data, content_type=content_type) + return deserializer(cls.__name__, data, content_type=content_type) # type: ignore @classmethod def _flatten_subtype(cls, key, objects): @@ -426,21 +413,25 @@ def _flatten_subtype(cls, key, objects): return {} result = dict(cls._subtype_map[key]) for valuetype in cls._subtype_map[key].values(): - result.update(objects[valuetype]._flatten_subtype(key, objects)) + result |= objects[valuetype]._flatten_subtype(key, objects) # pylint: disable=protected-access return result @classmethod def _classify(cls, response, objects): """Check the class _subtype_map for any child classes. We want to ignore any inherited _subtype_maps. - Remove the polymorphic key from the initial data. + + :param dict response: The initial data + :param dict objects: The class objects + :returns: The class to be used + :rtype: class """ for subtype_key in cls.__dict__.get("_subtype_map", {}).keys(): subtype_value = None if not isinstance(response, ET.Element): rest_api_response_key = cls._get_rest_key_parts(subtype_key)[-1] - subtype_value = response.pop(rest_api_response_key, None) or response.pop(subtype_key, None) + subtype_value = response.get(rest_api_response_key, None) or response.get(subtype_key, None) else: subtype_value = xml_key_extractor(subtype_key, cls._attribute_map[subtype_key], response) if subtype_value: @@ -479,11 +470,13 @@ def _decode_attribute_map_key(key): inside the received data. :param str key: A key string from the generated code + :returns: The decoded key + :rtype: str """ return key.replace("\\.", ".") -class Serializer(object): +class Serializer: # pylint: disable=too-many-public-methods """Request object model serializer.""" basic_types = {str: "str", int: "int", bool: "bool", float: "float"} @@ -518,7 +511,7 @@ class Serializer(object): "multiple": lambda x, y: x % y != 0, } - def __init__(self, classes=None): + def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None: self.serialize_type = { "iso-8601": Serializer.serialize_iso, "rfc-1123": Serializer.serialize_rfc, @@ -534,17 +527,20 @@ def __init__(self, classes=None): "[]": self.serialize_iter, "{}": self.serialize_dict, } - self.dependencies = dict(classes) if classes else {} + self.dependencies: dict[str, type] = dict(classes) if classes else {} self.key_transformer = full_restapi_key_transformer self.client_side_validation = True - def _serialize(self, target_obj, data_type=None, **kwargs): + def _serialize( # pylint: disable=too-many-nested-blocks, too-many-branches, too-many-statements, too-many-locals + self, target_obj, data_type=None, **kwargs + ): """Serialize data into a string according to type. - :param target_obj: The data to be serialized. + :param object target_obj: The data to be serialized. :param str data_type: The type to be serialized from. :rtype: str, dict - :raises: SerializationError if serialization fails. + :raises SerializationError: if serialization fails. + :returns: The serialized data. """ key_transformer = kwargs.get("key_transformer", self.key_transformer) keep_readonly = kwargs.get("keep_readonly", False) @@ -570,17 +566,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): serialized = {} if is_xml_model_serialization: - serialized = target_obj._create_xml_node() + serialized = target_obj._create_xml_node() # pylint: disable=protected-access try: - attributes = target_obj._attribute_map + attributes = target_obj._attribute_map # pylint: disable=protected-access for attr, attr_desc in attributes.items(): attr_name = attr - if not keep_readonly and target_obj._validation.get(attr_name, {}).get("readonly", False): + if not keep_readonly and target_obj._validation.get( # pylint: disable=protected-access + attr_name, {} + ).get("readonly", False): continue if attr_name == "additional_properties" and attr_desc["key"] == "": if target_obj.additional_properties is not None: - serialized.update(target_obj.additional_properties) + serialized |= target_obj.additional_properties continue try: @@ -602,7 +600,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): @@ -611,7 +609,8 @@ def _serialize(self, target_obj, data_type=None, **kwargs): if isinstance(new_attr, list): serialized.extend(new_attr) # type: ignore elif isinstance(new_attr, ET.Element): - # If the down XML has no XML/Name, we MUST replace the tag with the local tag. But keeping the namespaces. + # If the down XML has no XML/Name, + # we MUST replace the tag with the local tag. But keeping the namespaces. if "name" not in getattr(orig_attr, "_xml_map", {}): splitted_tag = new_attr.tag.split("}") if len(splitted_tag) == 2: # Namespace @@ -622,12 +621,11 @@ def _serialize(self, target_obj, data_type=None, **kwargs): else: # That's a basic type # Integrate namespace if necessary local_node = _create_xml_node(xml_name, xml_prefix, xml_ns) - local_node.text = unicode_str(new_attr) + local_node.text = str(new_attr) serialized.append(local_node) # type: ignore else: # JSON for k in reversed(keys): # type: ignore - unflattened = {k: new_attr} - new_attr = unflattened + new_attr = {k: new_attr} _new_attr = new_attr _serialized = serialized @@ -636,28 +634,29 @@ def _serialize(self, target_obj, data_type=None, **kwargs): _serialized.update(_new_attr) # type: ignore _new_attr = _new_attr[k] # type: ignore _serialized = _serialized[k] - except ValueError: - continue + except ValueError as err: + if isinstance(err, SerializationError): + raise except (AttributeError, KeyError, TypeError) as err: msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj)) - raise_with_traceback(SerializationError, msg, err) - else: - return serialized + raise SerializationError(msg) from err + return serialized def body(self, data, data_type, **kwargs): """Serialize data intended for a request body. - :param data: The data to be serialized. + :param object data: The data to be serialized. :param str data_type: The type to be serialized from. :rtype: dict - :raises: SerializationError if serialization fails. - :raises: ValueError if data is None + :raises SerializationError: if serialization fails. + :raises ValueError: if data is None + :returns: The serialized request body """ # Just in case this is a dict - internal_data_type = data_type.strip("[]{}") - internal_data_type = self.dependencies.get(internal_data_type, None) + internal_data_type_str = data_type.strip("[]{}") + internal_data_type = self.dependencies.get(internal_data_type_str, None) try: is_xml_model_serialization = kwargs["is_xml"] except KeyError: @@ -681,20 +680,22 @@ def body(self, data, data_type, **kwargs): attribute_key_case_insensitive_extractor, last_rest_key_case_insensitive_extractor, ] - data = deserializer._deserialize(data_type, data) + data = deserializer._deserialize(data_type, data) # pylint: disable=protected-access except DeserializationError as err: - raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err) + raise SerializationError("Unable to build a model: " + str(err)) from err return self._serialize(data, data_type, **kwargs) def url(self, name, data, data_type, **kwargs): """Serialize data intended for a URL path. - :param data: The data to be serialized. + :param str name: The name of the URL path parameter. + :param object data: The data to be serialized. :param str data_type: The type to be serialized from. :rtype: str - :raises: TypeError if serialization fails. - :raises: ValueError if data is None + :returns: The serialized URL path + :raises TypeError: if serialization fails. + :raises ValueError: if data is None """ try: output = self.serialize_data(data, data_type, **kwargs) @@ -703,30 +704,30 @@ def url(self, name, data, data_type, **kwargs): if kwargs.get("skip_quote") is True: output = str(output) + output = output.replace("{", quote("{")).replace("}", quote("}")) else: output = quote(str(output), safe="") - except SerializationError: - raise TypeError("{} must be type {}.".format(name, data_type)) - else: - return output + except SerializationError as exc: + raise TypeError("{} must be type {}.".format(name, data_type)) from exc + return output def query(self, name, data, data_type, **kwargs): """Serialize data intended for a URL query. - :param data: The data to be serialized. + :param str name: The name of the query parameter. + :param object data: The data to be serialized. :param str data_type: The type to be serialized from. - :rtype: str - :raises: TypeError if serialization fails. - :raises: ValueError if data is None + :rtype: str, list + :raises TypeError: if serialization fails. + :raises ValueError: if data is None + :returns: The serialized query parameter """ try: # Treat the list aside, since we don't want to encode the div separator if data_type.startswith("["): internal_data_type = data_type[1:-1] - data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data] - if not kwargs.get("skip_quote", False): - data = [quote(str(d), safe="") for d in data] - return str(self.serialize_iter(data, internal_data_type, **kwargs)) + do_quote = not kwargs.get("skip_quote", False) + return self.serialize_iter(data, internal_data_type, do_quote=do_quote, **kwargs) # Not a list, regular serialization output = self.serialize_data(data, data_type, **kwargs) @@ -736,19 +737,20 @@ def query(self, name, data, data_type, **kwargs): output = str(output) else: output = quote(str(output), safe="") - except SerializationError: - raise TypeError("{} must be type {}.".format(name, data_type)) - else: - return str(output) + except SerializationError as exc: + raise TypeError("{} must be type {}.".format(name, data_type)) from exc + return str(output) def header(self, name, data, data_type, **kwargs): """Serialize data intended for a request header. - :param data: The data to be serialized. + :param str name: The name of the header. + :param object data: The data to be serialized. :param str data_type: The type to be serialized from. :rtype: str - :raises: TypeError if serialization fails. - :raises: ValueError if data is None + :raises TypeError: if serialization fails. + :raises ValueError: if data is None + :returns: The serialized header """ try: if data_type in ["[str]"]: @@ -757,35 +759,36 @@ def header(self, name, data, data_type, **kwargs): output = self.serialize_data(data, data_type, **kwargs) if data_type == "bool": output = json.dumps(output) - except SerializationError: - raise TypeError("{} must be type {}.".format(name, data_type)) - else: - return str(output) + except SerializationError as exc: + raise TypeError("{} must be type {}.".format(name, data_type)) from exc + return str(output) def serialize_data(self, data, data_type, **kwargs): """Serialize generic data according to supplied data type. - :param data: The data to be serialized. + :param object data: The data to be serialized. :param str data_type: The type to be serialized from. - :param bool required: Whether it's essential that the data not be - empty or None - :raises: AttributeError if required data is None. - :raises: ValueError if data is None - :raises: SerializationError if serialization fails. + :raises AttributeError: if required data is None. + :raises ValueError: if data is None + :raises SerializationError: if serialization fails. + :returns: The serialized data. + :rtype: str, int, float, bool, dict, list """ if data is None: raise ValueError("No value for given attribute") try: + if data is CoreNull: + return None if data_type in self.basic_types.values(): return self.serialize_basic(data, data_type, **kwargs) - elif data_type in self.serialize_type: + if data_type in self.serialize_type: return self.serialize_type[data_type](data, **kwargs) # If dependencies is empty, try with current data class # It has to be a subclass of Enum anyway - enum_type = self.dependencies.get(data_type, data.__class__) + enum_type = self.dependencies.get(data_type, cast(type, data.__class__)) if issubclass(enum_type, Enum): return Serializer.serialize_enum(data, enum_obj=enum_type) @@ -795,12 +798,11 @@ def serialize_data(self, data, data_type, **kwargs): except (ValueError, TypeError) as err: msg = "Unable to serialize value: {!r} as type: {!r}." - raise_with_traceback(SerializationError, msg.format(data, data_type), err) - else: - return self._serialize(data, **kwargs) + raise SerializationError(msg.format(data, data_type)) from err + return self._serialize(data, **kwargs) @classmethod - def _get_custom_serializers(cls, data_type, **kwargs): + def _get_custom_serializers(cls, data_type, **kwargs): # pylint: disable=inconsistent-return-statements custom_serializer = kwargs.get("basic_types_serializers", {}).get(data_type) if custom_serializer: return custom_serializer @@ -816,23 +818,33 @@ def serialize_basic(cls, data, data_type, **kwargs): - basic_types_serializers dict[str, callable] : If set, use the callable as serializer - is_xml bool : If set, use xml_basic_types_serializers - :param data: Object to be serialized. + :param obj data: Object to be serialized. :param str data_type: Type of object in the iterable. + :rtype: str, int, float, bool + :return: serialized object + :raises TypeError: raise if data_type is not one of str, int, float, bool. """ custom_serializer = cls._get_custom_serializers(data_type, **kwargs) if custom_serializer: return custom_serializer(data) if data_type == "str": return cls.serialize_unicode(data) - return eval(data_type)(data) # nosec + if data_type == "int": + return int(data) + if data_type == "float": + return float(data) + if data_type == "bool": + return bool(data) + raise TypeError("Unknown basic data type: {}".format(data_type)) @classmethod def serialize_unicode(cls, data): """Special handling for serializing unicode strings in Py2. Encode to UTF-8 if unicode, otherwise handle as a str. - :param data: Object to be serialized. + :param str data: Object to be serialized. :rtype: str + :return: serialized object """ try: # If I received an enum, return its value return data.value @@ -846,8 +858,7 @@ def serialize_unicode(cls, data): return data except NameError: return str(data) - else: - return str(data) + return str(data) def serialize_iter(self, data, iter_type, div=None, **kwargs): """Serialize iterable. @@ -857,13 +868,13 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): serialization_ctxt['type'] should be same as data_type. - is_xml bool : If set, serialize as XML - :param list attr: Object to be serialized. + :param list data: Object to be serialized. :param str iter_type: Type of object in the iterable. - :param bool required: Whether the objects in the iterable must - not be None or empty. :param str div: If set, this str will be used to combine the elements in the iterable into a combined string. Default is 'None'. + Defaults to False. :rtype: list, str + :return: serialized iterable """ if isinstance(data, str): raise SerializationError("Refuse str type as a valid iter type.") @@ -875,9 +886,14 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): for d in data: try: serialized.append(self.serialize_data(d, iter_type, **kwargs)) - except ValueError: + except ValueError as err: + if isinstance(err, SerializationError): + raise serialized.append(None) + if kwargs.get("do_quote", False): + serialized = ["" if s is None else quote(str(s), safe="") for s in serialized] + if div: serialized = ["" if s is None else str(s) for s in serialized] serialized = div.join(serialized) @@ -913,16 +929,17 @@ def serialize_dict(self, attr, dict_type, **kwargs): :param dict attr: Object to be serialized. :param str dict_type: Type of object in the dictionary. - :param bool required: Whether the objects in the dictionary must - not be None or empty. :rtype: dict + :return: serialized dictionary """ serialization_ctxt = kwargs.get("serialization_ctxt", {}) serialized = {} for key, value in attr.items(): try: serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs) - except ValueError: + except ValueError as err: + if isinstance(err, SerializationError): + raise serialized[self.serialize_unicode(key)] = None if "xml" in serialization_ctxt: @@ -937,7 +954,7 @@ def serialize_dict(self, attr, dict_type, **kwargs): return serialized - def serialize_object(self, attr, **kwargs): + def serialize_object(self, attr, **kwargs): # pylint: disable=too-many-return-statements """Serialize a generic object. This will be handled as a dictionary. If object passed in is not a basic type (str, int, float, dict, list) it will simply be @@ -945,6 +962,7 @@ def serialize_object(self, attr, **kwargs): :param dict attr: Object to be serialized. :rtype: dict or str + :return: serialized object """ if attr is None: return None @@ -955,7 +973,7 @@ def serialize_object(self, attr, **kwargs): return self.serialize_basic(attr, self.basic_types[obj_type], **kwargs) if obj_type is _long_type: return self.serialize_long(attr) - if obj_type is unicode_str: + if obj_type is str: return self.serialize_unicode(attr) if obj_type is datetime.datetime: return self.serialize_iso(attr) @@ -969,7 +987,7 @@ def serialize_object(self, attr, **kwargs): return self.serialize_decimal(attr) # If it's a model or I know this dependency, serialize as a Model - elif obj_type in self.dependencies.values() or isinstance(attr, Model): + if obj_type in self.dependencies.values() or isinstance(attr, Model): return self._serialize(attr) if obj_type == dict: @@ -1000,56 +1018,61 @@ def serialize_enum(attr, enum_obj=None): try: enum_obj(result) # type: ignore return result - except ValueError: + except ValueError as exc: for enum_value in enum_obj: # type: ignore if enum_value.value.lower() == str(attr).lower(): return enum_value.value error = "{!r} is not valid value for enum {!r}" - raise SerializationError(error.format(attr, enum_obj)) + raise SerializationError(error.format(attr, enum_obj)) from exc @staticmethod - def serialize_bytearray(attr, **kwargs): + def serialize_bytearray(attr, **kwargs): # pylint: disable=unused-argument """Serialize bytearray into base-64 string. - :param attr: Object to be serialized. + :param str attr: Object to be serialized. :rtype: str + :return: serialized base64 """ return b64encode(attr).decode() @staticmethod - def serialize_base64(attr, **kwargs): + def serialize_base64(attr, **kwargs): # pylint: disable=unused-argument """Serialize str into base-64 string. - :param attr: Object to be serialized. + :param str attr: Object to be serialized. :rtype: str + :return: serialized base64 """ encoded = b64encode(attr).decode("ascii") return encoded.strip("=").replace("+", "-").replace("/", "_") @staticmethod - def serialize_decimal(attr, **kwargs): + def serialize_decimal(attr, **kwargs): # pylint: disable=unused-argument """Serialize Decimal object to float. - :param attr: Object to be serialized. + :param decimal attr: Object to be serialized. :rtype: float + :return: serialized decimal """ return float(attr) @staticmethod - def serialize_long(attr, **kwargs): + def serialize_long(attr, **kwargs): # pylint: disable=unused-argument """Serialize long (Py2) or int (Py3). - :param attr: Object to be serialized. + :param int attr: Object to be serialized. :rtype: int/long + :return: serialized long """ return _long_type(attr) @staticmethod - def serialize_date(attr, **kwargs): + def serialize_date(attr, **kwargs): # pylint: disable=unused-argument """Serialize Date object into ISO-8601 formatted string. :param Date attr: Object to be serialized. :rtype: str + :return: serialized date """ if isinstance(attr, str): attr = isodate.parse_date(attr) @@ -1057,11 +1080,12 @@ def serialize_date(attr, **kwargs): return t @staticmethod - def serialize_time(attr, **kwargs): + def serialize_time(attr, **kwargs): # pylint: disable=unused-argument """Serialize Time object into ISO-8601 formatted string. :param datetime.time attr: Object to be serialized. :rtype: str + :return: serialized time """ if isinstance(attr, str): attr = isodate.parse_time(attr) @@ -1071,30 +1095,32 @@ def serialize_time(attr, **kwargs): return t @staticmethod - def serialize_duration(attr, **kwargs): + def serialize_duration(attr, **kwargs): # pylint: disable=unused-argument """Serialize TimeDelta object into ISO-8601 formatted string. :param TimeDelta attr: Object to be serialized. :rtype: str + :return: serialized duration """ if isinstance(attr, str): attr = isodate.parse_duration(attr) return isodate.duration_isoformat(attr) @staticmethod - def serialize_rfc(attr, **kwargs): + def serialize_rfc(attr, **kwargs): # pylint: disable=unused-argument """Serialize Datetime object into RFC-1123 formatted string. :param Datetime attr: Object to be serialized. :rtype: str - :raises: TypeError if format invalid. + :raises TypeError: if format invalid. + :return: serialized rfc """ try: if not attr.tzinfo: _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() - except AttributeError: - raise TypeError("RFC1123 object must be valid Datetime object.") + except AttributeError as exc: + raise TypeError("RFC1123 object must be valid Datetime object.") from exc return "{}, {:02} {} {:04} {:02}:{:02}:{:02} GMT".format( Serializer.days[utc.tm_wday], @@ -1107,12 +1133,13 @@ def serialize_rfc(attr, **kwargs): ) @staticmethod - def serialize_iso(attr, **kwargs): + def serialize_iso(attr, **kwargs): # pylint: disable=unused-argument """Serialize Datetime object into ISO-8601 formatted string. :param Datetime attr: Object to be serialized. :rtype: str - :raises: SerializationError if format invalid. + :raises SerializationError: if format invalid. + :return: serialized iso """ if isinstance(attr, str): attr = isodate.parse_datetime(attr) @@ -1132,19 +1159,20 @@ def serialize_iso(attr, **kwargs): return date + microseconds + "Z" except (ValueError, OverflowError) as err: msg = "Unable to serialize datetime object." - raise_with_traceback(SerializationError, msg, err) + raise SerializationError(msg) from err except AttributeError as err: msg = "ISO-8601 object must be valid Datetime object." - raise_with_traceback(TypeError, msg, err) + raise TypeError(msg) from err @staticmethod - def serialize_unix(attr, **kwargs): + def serialize_unix(attr, **kwargs): # pylint: disable=unused-argument """Serialize Datetime object into IntTime format. This is represented as seconds. :param Datetime attr: Object to be serialized. :rtype: int - :raises: SerializationError if format invalid + :raises SerializationError: if format invalid + :return: serialied unix """ if isinstance(attr, int): return attr @@ -1152,16 +1180,17 @@ def serialize_unix(attr, **kwargs): if not attr.tzinfo: _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") return int(calendar.timegm(attr.utctimetuple())) - except AttributeError: - raise TypeError("Unix time object must be valid Datetime object.") + except AttributeError as exc: + raise TypeError("Unix time object must be valid Datetime object.") from exc -def rest_key_extractor(attr, attr_desc, data): +def rest_key_extractor(attr, attr_desc, data): # pylint: disable=unused-argument key = attr_desc["key"] working_data = data while "." in key: - dict_keys = _FLATTEN.split(key) + # Need the cast, as for some reasons "split" is typed as list[str | Any] + dict_keys = cast(list[str], _FLATTEN.split(key)) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) break @@ -1170,14 +1199,15 @@ def rest_key_extractor(attr, attr_desc, data): if working_data is None: # If at any point while following flatten JSON path see None, it means # that all properties under are None as well - # https://github.com/Azure/msrest-for-python/issues/197 return None key = ".".join(dict_keys[1:]) return working_data.get(key) -def rest_key_case_insensitive_extractor(attr, attr_desc, data): +def rest_key_case_insensitive_extractor( # pylint: disable=unused-argument, inconsistent-return-statements + attr, attr_desc, data +): key = attr_desc["key"] working_data = data @@ -1191,7 +1221,6 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data): if working_data is None: # If at any point while following flatten JSON path see None, it means # that all properties under are None as well - # https://github.com/Azure/msrest-for-python/issues/197 return None key = ".".join(dict_keys[1:]) @@ -1199,17 +1228,29 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data): return attribute_key_case_insensitive_extractor(key, None, working_data) -def last_rest_key_extractor(attr, attr_desc, data): - """Extract the attribute in "data" based on the last part of the JSON path key.""" +def last_rest_key_extractor(attr, attr_desc, data): # pylint: disable=unused-argument + """Extract the attribute in "data" based on the last part of the JSON path key. + + :param str attr: The attribute to extract + :param dict attr_desc: The attribute description + :param dict data: The data to extract from + :rtype: object + :returns: The extracted attribute + """ key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_extractor(dict_keys[-1], None, data) -def last_rest_key_case_insensitive_extractor(attr, attr_desc, data): +def last_rest_key_case_insensitive_extractor(attr, attr_desc, data): # pylint: disable=unused-argument """Extract the attribute in "data" based on the last part of the JSON path key. This is the case insensitive version of "last_rest_key_extractor" + :param str attr: The attribute to extract + :param dict attr_desc: The attribute description + :param dict data: The data to extract from + :rtype: object + :returns: The extracted attribute """ key = attr_desc["key"] dict_keys = _FLATTEN.split(key) @@ -1242,11 +1283,11 @@ 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 -def xml_key_extractor(attr, attr_desc, data): +def xml_key_extractor(attr, attr_desc, data): # pylint: disable=unused-argument,too-many-return-statements if isinstance(data, dict): return None @@ -1266,7 +1307,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): @@ -1298,22 +1339,21 @@ def xml_key_extractor(attr, attr_desc, data): if is_iter_type: if is_wrapped: return None # is_wrapped no node, we want None - else: - return [] # not wrapped, assume empty list + return [] # not wrapped, assume empty list return None # Assume it's not there, maybe an optional node. # If is_iter_type and not wrapped, return all found children if is_iter_type: if not is_wrapped: return children - else: # Iter and wrapped, should have found one node only (the wrap one) - if len(children) != 1: - raise DeserializationError( - "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format( - xml_name - ) + # Iter and wrapped, should have found one node only (the wrap one) + if len(children) != 1: + raise DeserializationError( + "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format( + xml_name ) - return list(children[0]) # Might be empty list and that's ok. + ) + return list(children[0]) # Might be empty list and that's ok. # Here it's not a itertype, we should have found one element only or empty if len(children) > 1: @@ -1321,7 +1361,7 @@ def xml_key_extractor(attr, attr_desc, data): return children[0] -class Deserializer(object): +class Deserializer: """Response object model deserializer. :param dict classes: Class type dictionary for deserializing complex types. @@ -1330,9 +1370,9 @@ class Deserializer(object): basic_types = {str: "str", int: "int", bool: "bool", float: "float"} - valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?") + valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?") - def __init__(self, classes=None): + def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None: self.deserialize_type = { "iso-8601": Deserializer.deserialize_iso, "rfc-1123": Deserializer.deserialize_rfc, @@ -1352,7 +1392,7 @@ def __init__(self, classes=None): "duration": (isodate.Duration, datetime.timedelta), "iso-8601": (datetime.datetime), } - self.dependencies = dict(classes) if classes else {} + self.dependencies: dict[str, type] = dict(classes) if classes else {} self.key_extractors = [rest_key_extractor, xml_key_extractor] # Additional properties only works if the "rest_key_extractor" is used to # extract the keys. Making it to work whatever the key extractor is too much @@ -1368,27 +1408,29 @@ def __call__(self, target_obj, response_data, content_type=None): :param str target_obj: Target data type to deserialize to. :param requests.Response response_data: REST response object. :param str content_type: Swagger "produces" if available. - :raises: DeserializationError if deserialization fails. + :raises DeserializationError: if deserialization fails. :return: Deserialized object. + :rtype: object """ data = self._unpack_content(response_data, content_type) return self._deserialize(target_obj, data) - def _deserialize(self, target_obj, data): + def _deserialize(self, target_obj, data): # pylint: disable=inconsistent-return-statements """Call the deserializer on a model. Data needs to be already deserialized as JSON or XML ElementTree :param str target_obj: Target data type to deserialize to. :param object data: Object to deserialize. - :raises: DeserializationError if deserialization fails. + :raises DeserializationError: if deserialization fails. :return: Deserialized object. + :rtype: object """ # This is already a model, go recursive just in case if hasattr(data, "_attribute_map"): constants = [name for name, config in getattr(data, "_validation", {}).items() if config.get("constant")] try: - for attr, mapconfig in data._attribute_map.items(): + for attr, mapconfig in data._attribute_map.items(): # pylint: disable=protected-access if attr in constants: continue value = getattr(data, attr) @@ -1405,15 +1447,15 @@ def _deserialize(self, target_obj, data): response, class_name = self._classify_target(target_obj, data) - if isinstance(response, basestring): + if isinstance(response, str): return self.deserialize_data(data, response) - elif isinstance(response, type) and issubclass(response, Enum): + if isinstance(response, type) and issubclass(response, Enum): return self.deserialize_enum(data, response) - if data is None: + if data is None or data is CoreNull: return data try: - attributes = response._attribute_map # type: ignore + attributes = response._attribute_map # type: ignore # pylint: disable=protected-access d_attrs = {} for attr, attr_desc in attributes.items(): # Check empty string. If it's not empty, someone has a real "additionalProperties"... @@ -1442,10 +1484,9 @@ def _deserialize(self, target_obj, data): d_attrs[attr] = value except (AttributeError, TypeError, KeyError) as err: msg = "Unable to deserialize to object: " + class_name # type: ignore - raise_with_traceback(DeserializationError, msg, err) - else: - additional_properties = self._build_additional_properties(attributes, data) - return self._instantiate_model(response, d_attrs, additional_properties) + raise DeserializationError(msg) from err + additional_properties = self._build_additional_properties(attributes, data) + return self._instantiate_model(response, d_attrs, additional_properties) def _build_additional_properties(self, attribute_map, data): if not self.additional_properties_detection: @@ -1471,22 +1512,24 @@ def _classify_target(self, target, data): Once classification has been determined, initialize object. :param str target: The target object type to deserialize to. - :param str/dict data: The response data to deseralize. + :param str/dict data: The response data to deserialize. + :return: The classified target object and its class name. + :rtype: tuple """ if target is None: return None, None - if isinstance(target, basestring): + if isinstance(target, str): try: target = self.dependencies[target] except KeyError: return target, target try: - target = target._classify(data, self.dependencies) + target = target._classify(data, self.dependencies) # type: ignore # pylint: disable=protected-access except AttributeError: pass # Target is not a Model, no classify - return target, target.__class__.__name__ + return target, target.__class__.__name__ # type: ignore def failsafe_deserialize(self, target_obj, data, content_type=None): """Ignores any errors encountered in deserialization, @@ -1496,12 +1539,14 @@ def failsafe_deserialize(self, target_obj, data, content_type=None): a deserialization error. :param str target_obj: The target object type to deserialize to. - :param str/dict data: The response data to deseralize. + :param str/dict data: The response data to deserialize. :param str content_type: Swagger "produces" if available. + :return: Deserialized object. + :rtype: object """ try: return self(target_obj, data, content_type=content_type) - except: + except: # pylint: disable=bare-except _LOGGER.debug( "Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True ) @@ -1519,10 +1564,12 @@ def _unpack_content(raw_data, content_type=None): If raw_data is something else, bypass all logic and return it directly. - :param raw_data: Data to be processed. - :param content_type: How to parse if raw_data is a string/bytes. + :param obj raw_data: Data to be processed. + :param str content_type: How to parse if raw_data is a string/bytes. :raises JSONDecodeError: If JSON is requested and parsing is impossible. :raises UnicodeDecodeError: If bytes is not UTF8 + :rtype: object + :return: Unpacked content. """ # Assume this is enough to detect a Pipeline Response without importing it context = getattr(raw_data, "context", {}) @@ -1539,31 +1586,42 @@ def _unpack_content(raw_data, content_type=None): if hasattr(raw_data, "_content_consumed"): return RawDeserializer.deserialize_from_http_generics(raw_data.text, raw_data.headers) - if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, "read"): + if isinstance(raw_data, (str, bytes)) or hasattr(raw_data, "read"): return RawDeserializer.deserialize_from_text(raw_data, content_type) # type: ignore return raw_data def _instantiate_model(self, response, attrs, additional_properties=None): """Instantiate a response model passing in deserialized args. - :param response: The response model class. - :param d_attrs: The deserialized response attributes. + :param Response response: The response model class. + :param dict attrs: The deserialized response attributes. + :param dict additional_properties: Additional properties to be set. + :rtype: Response + :return: The instantiated response model. """ if callable(response): subtype = getattr(response, "_subtype_map", {}) try: - readonly = [k for k, v in response._validation.items() if v.get("readonly")] - const = [k for k, v in response._validation.items() if v.get("constant")] + readonly = [ + k + for k, v in response._validation.items() # pylint: disable=protected-access # type: ignore + if v.get("readonly") + ] + const = [ + k + for k, v in response._validation.items() # pylint: disable=protected-access # type: ignore + if v.get("constant") + ] kwargs = {k: v for k, v in attrs.items() if k not in subtype and k not in readonly + const} response_obj = response(**kwargs) for attr in readonly: setattr(response_obj, attr, attrs.get(attr)) if additional_properties: - response_obj.additional_properties = additional_properties + response_obj.additional_properties = additional_properties # type: ignore return response_obj except TypeError as err: msg = "Unable to deserialize {} into model {}. ".format(kwargs, response) # type: ignore - raise DeserializationError(msg + str(err)) + raise DeserializationError(msg + str(err)) from err else: try: for attr, value in attrs.items(): @@ -1572,15 +1630,16 @@ def _instantiate_model(self, response, attrs, additional_properties=None): except Exception as exp: msg = "Unable to populate response model. " msg += "Type: {}, Error: {}".format(type(response), exp) - raise DeserializationError(msg) + raise DeserializationError(msg) from exp - def deserialize_data(self, data, data_type): + def deserialize_data(self, data, data_type): # pylint: disable=too-many-return-statements """Process data for deserialization according to data type. :param str data: The response string to be deserialized. :param str data_type: The type to deserialize to. - :raises: DeserializationError if deserialization fails. + :raises DeserializationError: if deserialization fails. :return: Deserialized object. + :rtype: object """ if data is None: return data @@ -1594,7 +1653,11 @@ def deserialize_data(self, data, data_type): if isinstance(data, self.deserialize_expected_types.get(data_type, tuple())): return data - is_a_text_parsing_type = lambda x: x not in ["object", "[]", r"{}"] + is_a_text_parsing_type = lambda x: x not in [ # pylint: disable=unnecessary-lambda-assignment + "object", + "[]", + r"{}", + ] if isinstance(data, ET.Element) and is_a_text_parsing_type(data_type) and not data.text: return None data_val = self.deserialize_type[data_type](data) @@ -1613,15 +1676,15 @@ def deserialize_data(self, data, data_type): except (ValueError, TypeError, AttributeError) as err: msg = "Unable to deserialize response data." msg += " Data: {}, {}".format(data, data_type) - raise_with_traceback(DeserializationError, msg, err) - else: - return self._deserialize(obj_type, data) + raise DeserializationError(msg) from err + return self._deserialize(obj_type, data) def deserialize_iter(self, attr, iter_type): """Deserialize an iterable. :param list attr: Iterable to be deserialized. :param str iter_type: The type of object in the iterable. + :return: Deserialized iterable. :rtype: list """ if attr is None: @@ -1638,6 +1701,7 @@ def deserialize_dict(self, attr, dict_type): :param dict/list attr: Dictionary to be deserialized. Also accepts a list of key, value pairs. :param str dict_type: The object type of the items in the dictionary. + :return: Deserialized dictionary. :rtype: dict """ if isinstance(attr, list): @@ -1648,20 +1712,21 @@ def deserialize_dict(self, attr, dict_type): attr = {el.tag: el.text for el in attr} return {k: self.deserialize_data(v, dict_type) for k, v in attr.items()} - def deserialize_object(self, attr, **kwargs): + def deserialize_object(self, attr, **kwargs): # pylint: disable=too-many-return-statements """Deserialize a generic object. This will be handled as a dictionary. :param dict attr: Dictionary to be deserialized. + :return: Deserialized object. :rtype: dict - :raises: TypeError if non-builtin datatype encountered. + :raises TypeError: if non-builtin datatype encountered. """ if attr is None: return None if isinstance(attr, ET.Element): # Do no recurse on XML, just return the tree as-is return attr - if isinstance(attr, basestring): + if isinstance(attr, str): return self.deserialize_basic(attr, "str") obj_type = type(attr) if obj_type in self.basic_types: @@ -1687,11 +1752,10 @@ def deserialize_object(self, attr, **kwargs): pass return deserialized - else: - error = "Cannot deserialize generic object with type: " - raise TypeError(error + str(obj_type)) + error = "Cannot deserialize generic object with type: " + raise TypeError(error + str(obj_type)) - def deserialize_basic(self, attr, data_type): + def deserialize_basic(self, attr, data_type): # pylint: disable=too-many-return-statements """Deserialize basic builtin data type from string. Will attempt to convert to str, int, float and bool. This function will also accept '1', '0', 'true' and 'false' as @@ -1699,8 +1763,9 @@ def deserialize_basic(self, attr, data_type): :param str attr: response string to be deserialized. :param str data_type: deserialization data type. + :return: Deserialized basic type. :rtype: str, int, float or bool - :raises: TypeError if string format is not valid. + :raises TypeError: if string format is not valid or data_type is not one of str, int, float, bool. """ # If we're here, data is supposed to be a basic type. # If it's still an XML node, take the text @@ -1710,24 +1775,27 @@ def deserialize_basic(self, attr, data_type): if data_type == "str": # None or '', node is empty string. return "" - else: - # None or '', node with a strong type is None. - # Don't try to model "empty bool" or "empty int" - return None + # None or '', node with a strong type is None. + # Don't try to model "empty bool" or "empty int" + return None if data_type == "bool": if attr in [True, False, 1, 0]: return bool(attr) - elif isinstance(attr, basestring): + if isinstance(attr, str): if attr.lower() in ["true", "1"]: return True - elif attr.lower() in ["false", "0"]: + if attr.lower() in ["false", "0"]: return False raise TypeError("Invalid boolean value: {}".format(attr)) if data_type == "str": return self.deserialize_unicode(attr) - return eval(data_type)(attr) # nosec + if data_type == "int": + return int(attr) + if data_type == "float": + return float(attr) + raise TypeError("Unknown basic data type: {}".format(data_type)) @staticmethod def deserialize_unicode(data): @@ -1735,6 +1803,7 @@ def deserialize_unicode(data): as a string. :param str data: response string to be deserialized. + :return: Deserialized string. :rtype: str or unicode """ # We might be here because we have an enum modeled as string, @@ -1748,8 +1817,7 @@ def deserialize_unicode(data): return data except NameError: return str(data) - else: - return str(data) + return str(data) @staticmethod def deserialize_enum(data, enum_obj): @@ -1761,6 +1829,7 @@ def deserialize_enum(data, enum_obj): :param str data: Response string to be deserialized. If this value is None or invalid it will be returned as-is. :param Enum enum_obj: Enum object to deserialize to. + :return: Deserialized enum object. :rtype: Enum """ if isinstance(data, enum_obj) or data is None: @@ -1769,12 +1838,11 @@ def deserialize_enum(data, enum_obj): data = data.value if isinstance(data, int): # Workaround. We might consider remove it in the future. - # https://github.com/Azure/azure-rest-api-specs/issues/141 try: return list(enum_obj.__members__.values())[data] - except IndexError: + except IndexError as exc: error = "{!r} is not a valid index for enum {!r}" - raise DeserializationError(error.format(data, enum_obj)) + raise DeserializationError(error.format(data, enum_obj)) from exc try: return enum_obj(str(data)) except ValueError: @@ -1790,8 +1858,9 @@ def deserialize_bytearray(attr): """Deserialize string into bytearray. :param str attr: response string to be deserialized. + :return: Deserialized bytearray :rtype: bytearray - :raises: TypeError if string format invalid. + :raises TypeError: if string format invalid. """ if isinstance(attr, ET.Element): attr = attr.text @@ -1802,8 +1871,9 @@ def deserialize_base64(attr): """Deserialize base64 encoded string into string. :param str attr: response string to be deserialized. + :return: Deserialized base64 string :rtype: bytearray - :raises: TypeError if string format invalid. + :raises TypeError: if string format invalid. """ if isinstance(attr, ET.Element): attr = attr.text @@ -1817,24 +1887,26 @@ def deserialize_decimal(attr): """Deserialize string into Decimal object. :param str attr: response string to be deserialized. - :rtype: Decimal - :raises: DeserializationError if string format invalid. + :return: Deserialized decimal + :raises DeserializationError: if string format invalid. + :rtype: decimal """ if isinstance(attr, ET.Element): attr = attr.text try: - return decimal.Decimal(attr) # type: ignore + return decimal.Decimal(str(attr)) # type: ignore except decimal.DecimalException as err: msg = "Invalid decimal {}".format(attr) - raise_with_traceback(DeserializationError, msg, err) + raise DeserializationError(msg) from err @staticmethod def deserialize_long(attr): """Deserialize string into long (Py2) or int (Py3). :param str attr: response string to be deserialized. + :return: Deserialized int :rtype: long or int - :raises: ValueError if string format invalid. + :raises ValueError: if string format invalid. """ if isinstance(attr, ET.Element): attr = attr.text @@ -1845,8 +1917,9 @@ def deserialize_duration(attr): """Deserialize ISO-8601 formatted string into TimeDelta object. :param str attr: response string to be deserialized. + :return: Deserialized duration :rtype: TimeDelta - :raises: DeserializationError if string format invalid. + :raises DeserializationError: if string format invalid. """ if isinstance(attr, ET.Element): attr = attr.text @@ -1854,32 +1927,33 @@ def deserialize_duration(attr): duration = isodate.parse_duration(attr) except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize duration object." - raise_with_traceback(DeserializationError, msg, err) - else: - return duration + raise DeserializationError(msg) from err + return duration @staticmethod def deserialize_date(attr): """Deserialize ISO-8601 formatted string into Date object. :param str attr: response string to be deserialized. + :return: Deserialized date :rtype: Date - :raises: DeserializationError if string format invalid. + :raises DeserializationError: if string format invalid. """ if isinstance(attr, ET.Element): attr = attr.text if re.search(r"[^\W\d_]", attr, re.I + re.U): # type: ignore raise DeserializationError("Date must have only digits and -. Received: %s" % attr) # This must NOT use defaultmonth/defaultday. Using None ensure this raises an exception. - return isodate.parse_date(attr, defaultmonth=None, defaultday=None) + return isodate.parse_date(attr, defaultmonth=0, defaultday=0) @staticmethod def deserialize_time(attr): """Deserialize ISO-8601 formatted string into time object. :param str attr: response string to be deserialized. + :return: Deserialized time :rtype: datetime.time - :raises: DeserializationError if string format invalid. + :raises DeserializationError: if string format invalid. """ if isinstance(attr, ET.Element): attr = attr.text @@ -1892,31 +1966,32 @@ def deserialize_rfc(attr): """Deserialize RFC-1123 formatted string into Datetime object. :param str attr: response string to be deserialized. + :return: Deserialized RFC datetime :rtype: Datetime - :raises: DeserializationError if string format invalid. + :raises DeserializationError: if string format invalid. """ if isinstance(attr, ET.Element): attr = attr.text try: parsed_date = email.utils.parsedate_tz(attr) # type: ignore date_obj = datetime.datetime( - *parsed_date[:6], tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0) / 60)) + *parsed_date[:6], tzinfo=datetime.timezone(datetime.timedelta(minutes=(parsed_date[9] or 0) / 60)) ) if not date_obj.tzinfo: date_obj = date_obj.astimezone(tz=TZ_UTC) except ValueError as err: msg = "Cannot deserialize to rfc datetime object." - raise_with_traceback(DeserializationError, msg, err) - else: - return date_obj + raise DeserializationError(msg) from err + return date_obj @staticmethod def deserialize_iso(attr): """Deserialize ISO-8601 formatted string into Datetime object. :param str attr: response string to be deserialized. + :return: Deserialized ISO datetime :rtype: Datetime - :raises: DeserializationError if string format invalid. + :raises DeserializationError: if string format invalid. """ if isinstance(attr, ET.Element): attr = attr.text @@ -1943,9 +2018,8 @@ def deserialize_iso(attr): raise OverflowError("Hit max or min date") except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize datetime object." - raise_with_traceback(DeserializationError, msg, err) - else: - return date_obj + raise DeserializationError(msg) from err + return date_obj @staticmethod def deserialize_unix(attr): @@ -1953,15 +2027,16 @@ def deserialize_unix(attr): This is represented as seconds. :param int attr: Object to be serialized. + :return: Deserialized datetime :rtype: Datetime - :raises: DeserializationError if format invalid + :raises DeserializationError: if format invalid """ if isinstance(attr, ET.Element): attr = int(attr.text) # type: ignore try: + attr = int(attr) date_obj = datetime.datetime.fromtimestamp(attr, TZ_UTC) except ValueError as err: msg = "Cannot deserialize to unix datetime object." - raise_with_traceback(DeserializationError, msg, err) - else: - return date_obj + raise DeserializationError(msg) from err + return date_obj diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_vendor.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_vendor.py deleted file mode 100644 index 9aad73fc743e..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_vendor.py +++ /dev/null @@ -1,27 +0,0 @@ -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.core.pipeline.transport import HttpRequest - - -def _convert_request(request, files=None): - data = request.content if not files else None - request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) - if files: - request.set_formdata_body(files) - return request - - -def _format_url_section(template, **kwargs): - components = template.split("/") - while components: - try: - return template.format(**kwargs) - except KeyError as key: - formatted_components = template.split("/") - components = [c for c in formatted_components if "{}".format(key.args[0]) not in c] - template = "/".join(components) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_version.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_version.py index e32dc6ec4218..2eda20789583 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_version.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "2.0.0b1" +VERSION = "2.0.0b2" diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py index b5a655a5eeda..c24b5c678748 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py @@ -5,12 +5,18 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +# pylint: disable=wrong-import-position -from ._azure_arc_data_management_client import AzureArcDataManagementClient +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._patch import * # pylint: disable=unused-wildcard-import + +from ._azure_arc_data_management_client import AzureArcDataManagementClient # type: ignore try: from ._patch import __all__ as _patch_all - from ._patch import * # pylint: disable=unused-wildcard-import + from ._patch import * except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk @@ -18,6 +24,6 @@ __all__ = [ "AzureArcDataManagementClient", ] -__all__.extend([p for p in _patch_all if p not in __all__]) +__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore _patch_sdk() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_azure_arc_data_management_client.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_azure_arc_data_management_client.py index 36f94989212b..fabaa90df43d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_azure_arc_data_management_client.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_azure_arc_data_management_client.py @@ -7,29 +7,39 @@ # -------------------------------------------------------------------------- from copy import deepcopy -from typing import Any, Awaitable, TYPE_CHECKING +from typing import Any, Awaitable, Optional, TYPE_CHECKING, cast +from typing_extensions import Self +from azure.core.pipeline import policies from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.core.settings import settings from azure.mgmt.core import AsyncARMPipelineClient +from azure.mgmt.core.policies import AsyncARMAutoResourceProviderRegistrationPolicy +from azure.mgmt.core.tools import get_arm_endpoints from .. import models as _models -from .._serialization import Deserializer, Serializer +from .._utils.serialization import Deserializer, Serializer from ._configuration import AzureArcDataManagementClientConfiguration from .operations import ( ActiveDirectoryConnectorsOperations, DataControllersOperations, + FailoverGroupsOperations, Operations, PostgresInstancesOperations, SqlManagedInstancesOperations, + SqlServerAvailabilityGroupsOperations, + SqlServerDatabasesOperations, + SqlServerEsuLicensesOperations, SqlServerInstancesOperations, + SqlServerLicensesOperations, ) if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports + from azure.core import AzureClouds from azure.core.credentials_async import AsyncTokenCredential -class AzureArcDataManagementClient: # pylint: disable=client-accepts-api-version-keyword +class AzureArcDataManagementClient: # pylint: disable=too-many-instance-attributes """The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources. @@ -38,9 +48,14 @@ class AzureArcDataManagementClient: # pylint: disable=client-accepts-api-versio :ivar sql_managed_instances: SqlManagedInstancesOperations operations :vartype sql_managed_instances: azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations + :ivar failover_groups: FailoverGroupsOperations operations + :vartype failover_groups: azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations :ivar sql_server_instances: SqlServerInstancesOperations operations :vartype sql_server_instances: azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations + :ivar sql_server_licenses: SqlServerLicensesOperations operations + :vartype sql_server_licenses: + azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations :ivar data_controllers: DataControllersOperations operations :vartype data_controllers: azure.mgmt.azurearcdata.aio.operations.DataControllersOperations :ivar active_directory_connectors: ActiveDirectoryConnectorsOperations operations @@ -48,13 +63,25 @@ class AzureArcDataManagementClient: # pylint: disable=client-accepts-api-versio azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations :ivar postgres_instances: PostgresInstancesOperations operations :vartype postgres_instances: azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations + :ivar sql_server_availability_groups: SqlServerAvailabilityGroupsOperations operations + :vartype sql_server_availability_groups: + azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations + :ivar sql_server_databases: SqlServerDatabasesOperations operations + :vartype sql_server_databases: + azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations + :ivar sql_server_esu_licenses: SqlServerEsuLicensesOperations operations + :vartype sql_server_esu_licenses: + azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the Azure subscription. Required. :type subscription_id: str - :param base_url: Service URL. Default value is "https://management.azure.com". + :param base_url: Service URL. Default value is None. :type base_url: str - :keyword api_version: Api Version. Default value is "2022-03-01-preview". Note that overriding + :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is + None. + :paramtype cloud_setting: ~azure.core.AzureClouds + :keyword api_version: Api Version. Default value is "2026-03-01-preview". 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 @@ -65,13 +92,45 @@ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: str = "https://management.azure.com", + base_url: Optional[str] = None, + *, + cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: + _cloud = cloud_setting or settings.current.azure_cloud # type: ignore + _endpoints = get_arm_endpoints(_cloud) + if not base_url: + base_url = _endpoints["resource_manager"] + credential_scopes = kwargs.pop("credential_scopes", _endpoints["credential_scopes"]) self._config = AzureArcDataManagementClientConfiguration( - credential=credential, subscription_id=subscription_id, **kwargs + credential=credential, + subscription_id=subscription_id, + cloud_setting=cloud_setting, + credential_scopes=credential_scopes, + **kwargs + ) + + _policies = kwargs.pop("policies", None) + if _policies is None: + _policies = [ + policies.RequestIdPolicy(**kwargs), + self._config.headers_policy, + self._config.user_agent_policy, + self._config.proxy_policy, + policies.ContentDecodePolicy(**kwargs), + AsyncARMAutoResourceProviderRegistrationPolicy(), + self._config.redirect_policy, + self._config.retry_policy, + self._config.authentication_policy, + self._config.custom_hook_policy, + self._config.logging_policy, + policies.DistributedTracingPolicy(**kwargs), + policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None, + self._config.http_logging_policy, + ] + self._client: AsyncARMPipelineClient = AsyncARMPipelineClient( + base_url=cast(str, base_url), policies=_policies, **kwargs ) - self._client = 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) @@ -81,9 +140,13 @@ def __init__( self.sql_managed_instances = SqlManagedInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) + self.failover_groups = FailoverGroupsOperations(self._client, self._config, self._serialize, self._deserialize) self.sql_server_instances = SqlServerInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) + self.sql_server_licenses = SqlServerLicensesOperations( + self._client, self._config, self._serialize, self._deserialize + ) self.data_controllers = DataControllersOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -93,8 +156,19 @@ def __init__( self.postgres_instances = PostgresInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) + self.sql_server_availability_groups = SqlServerAvailabilityGroupsOperations( + self._client, self._config, self._serialize, self._deserialize + ) + self.sql_server_databases = SqlServerDatabasesOperations( + self._client, self._config, self._serialize, self._deserialize + ) + self.sql_server_esu_licenses = SqlServerEsuLicensesOperations( + self._client, self._config, self._serialize, self._deserialize + ) - def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: + def _send_request( + self, request: HttpRequest, *, stream: bool = False, **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest @@ -114,14 +188,14 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncH request_copy = deepcopy(request) request_copy.url = self._client.format_url(request_copy.url) - return self._client.send_request(request_copy, **kwargs) + return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore async def close(self) -> None: await self._client.close() - async def __aenter__(self) -> "AzureArcDataManagementClient": + async def __aenter__(self) -> Self: 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/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py index 5d04c84f178a..8234603e4200 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py @@ -6,26 +6,19 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -import sys -from typing import Any, TYPE_CHECKING +from typing import Any, Optional, TYPE_CHECKING -from azure.core.configuration import Configuration from azure.core.pipeline import policies from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy 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 import AzureClouds from azure.core.credentials_async import AsyncTokenCredential -class AzureArcDataManagementClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes +class AzureArcDataManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long """Configuration for AzureArcDataManagementClient. Note that all parameters used to create this instance are saved as instance @@ -35,14 +28,22 @@ class AzureArcDataManagementClientConfiguration(Configuration): # pylint: disab :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the Azure subscription. Required. :type subscription_id: str - :keyword api_version: Api Version. Default value is "2022-03-01-preview". Note that overriding + :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is + None. + :type cloud_setting: ~azure.core.AzureClouds + :keyword api_version: Api Version. Default value is "2026-03-01-preview". 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(AzureArcDataManagementClientConfiguration, self).__init__(**kwargs) - api_version: Literal["2022-03-01-preview"] = kwargs.pop("api_version", "2022-03-01-preview") + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + cloud_setting: Optional["AzureClouds"] = None, + **kwargs: Any + ) -> None: + api_version: str = kwargs.pop("api_version", "2026-03-01-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -51,9 +52,11 @@ def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **k self.credential = credential self.subscription_id = subscription_id + self.cloud_setting = cloud_setting self.api_version = api_version self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) kwargs.setdefault("sdk_moniker", "mgmt-azurearcdata/{}".format(VERSION)) + self.polling_interval = kwargs.get("polling_interval", 30) self._configure(**kwargs) def _configure(self, **kwargs: Any) -> None: @@ -62,9 +65,9 @@ def _configure(self, **kwargs: Any) -> None: self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/__init__.py index 86245dd95097..932bd07931c2 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/__init__.py @@ -5,25 +5,41 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +# pylint: disable=wrong-import-position -from ._operations import Operations -from ._sql_managed_instances_operations import SqlManagedInstancesOperations -from ._sql_server_instances_operations import SqlServerInstancesOperations -from ._data_controllers_operations import DataControllersOperations -from ._active_directory_connectors_operations import ActiveDirectoryConnectorsOperations -from ._postgres_instances_operations import PostgresInstancesOperations +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._patch import * # pylint: disable=unused-wildcard-import + +from ._operations import Operations # type: ignore +from ._sql_managed_instances_operations import SqlManagedInstancesOperations # type: ignore +from ._failover_groups_operations import FailoverGroupsOperations # type: ignore +from ._sql_server_instances_operations import SqlServerInstancesOperations # type: ignore +from ._sql_server_licenses_operations import SqlServerLicensesOperations # type: ignore +from ._data_controllers_operations import DataControllersOperations # type: ignore +from ._active_directory_connectors_operations import ActiveDirectoryConnectorsOperations # type: ignore +from ._postgres_instances_operations import PostgresInstancesOperations # type: ignore +from ._sql_server_availability_groups_operations import SqlServerAvailabilityGroupsOperations # type: ignore +from ._sql_server_databases_operations import SqlServerDatabasesOperations # type: ignore +from ._sql_server_esu_licenses_operations import SqlServerEsuLicensesOperations # type: ignore from ._patch import __all__ as _patch_all -from ._patch import * # pylint: disable=unused-wildcard-import +from ._patch import * from ._patch import patch_sdk as _patch_sdk __all__ = [ "Operations", "SqlManagedInstancesOperations", + "FailoverGroupsOperations", "SqlServerInstancesOperations", + "SqlServerLicensesOperations", "DataControllersOperations", "ActiveDirectoryConnectorsOperations", "PostgresInstancesOperations", + "SqlServerAvailabilityGroupsOperations", + "SqlServerDatabasesOperations", + "SqlServerEsuLicensesOperations", ] -__all__.extend([p for p in _patch_all if p not in __all__]) +__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore _patch_sdk() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_active_directory_connectors_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_active_directory_connectors_operations.py index 0572c8d99806..9d187ffb8d12 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_active_directory_connectors_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_active_directory_connectors_operations.py @@ -1,4 +1,3 @@ -# pylint: disable=too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,10 +5,12 @@ # 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, IO, Optional, TypeVar, Union, cast, overload +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload import urllib.parse +from azure.core import AsyncPipelineClient from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ( ClientAuthenticationError, @@ -17,12 +18,13 @@ ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.core.tracing.decorator import distributed_trace from azure.core.tracing.decorator_async import distributed_trace_async from azure.core.utils import case_insensitive_dict @@ -30,20 +32,18 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._vendor import _convert_request +from ..._utils.serialization import Deserializer, Serializer from ...operations._active_directory_connectors_operations import ( build_create_request, build_delete_request, build_get_request, build_list_request, ) +from .._configuration import AzureArcDataManagementClientConfiguration -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list class ActiveDirectoryConnectorsOperations: @@ -60,15 +60,17 @@ class ActiveDirectoryConnectorsOperations: 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") + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace def list( self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> AsyncIterable["_models.ActiveDirectoryConnectorResource"]: + ) -> AsyncItemPaged["_models.ActiveDirectoryConnectorResource"]: """List the active directory connectors associated with the given data controller. List the active directory connectors associated with the given data controller. @@ -77,7 +79,6 @@ def list( :type resource_group_name: str :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ActiveDirectoryConnectorResource or the result of cls(response) :rtype: @@ -87,12 +88,10 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.ActiveDirectoryConnectorListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -103,17 +102,15 @@ def list( def prepare_request(next_link=None): if not next_link: - request = build_list_request( + _request = build_list_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -125,13 +122,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request async def extract_data(pipeline_response): deserialized = self._deserialize("ActiveDirectoryConnectorListResult", pipeline_response) @@ -141,35 +137,35 @@ async def extract_data(pipeline_response): return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged(get_next, extract_data) - list.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors" - } - async def _create_initial( self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, - active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO], + active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO[bytes]], **kwargs: Any - ) -> _models.ActiveDirectoryConnectorResource: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -180,21 +176,19 @@ async def _create_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.ActiveDirectoryConnectorResource] = kwargs.pop("cls", None) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(active_directory_connector_resource, (IO, bytes)): + if isinstance(active_directory_connector_resource, (IOBase, bytes)): _content = active_directory_connector_resource else: _json = self._serialize.body(active_directory_connector_resource, "ActiveDirectoryConnectorResource") - request = build_create_request( + _request = build_create_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, active_directory_connector_name=active_directory_connector_name, @@ -203,39 +197,38 @@ async def _create_initial( content_type=content_type, json=_json, content=_content, - template_url=self._create_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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("ActiveDirectoryConnectorResource", pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - _create_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" - } - @overload async def begin_create( self, @@ -262,14 +255,6 @@ async def begin_create( :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 ActiveDirectoryConnectorResource or the result of cls(response) :rtype: @@ -283,7 +268,7 @@ async def begin_create( resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, - active_directory_connector_resource: IO, + active_directory_connector_resource: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -298,18 +283,10 @@ async def begin_create( Required. :type active_directory_connector_name: str :param active_directory_connector_resource: desc. Required. - :type active_directory_connector_resource: IO + :type active_directory_connector_resource: IO[bytes] :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 ActiveDirectoryConnectorResource or the result of cls(response) :rtype: @@ -323,7 +300,7 @@ async def begin_create( resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, - active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO], + active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.ActiveDirectoryConnectorResource]: """Creates or replaces an Active Directory connector resource. @@ -335,21 +312,10 @@ async def begin_create( :param active_directory_connector_name: The name of the Active Directory connector instance. Required. :type active_directory_connector_name: str - :param active_directory_connector_resource: desc. Is either a model type or a IO type. - Required. + :param active_directory_connector_resource: desc. Is either a ActiveDirectoryConnectorResource + type or a IO[bytes] type. Required. :type active_directory_connector_resource: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource 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. + ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource or IO[bytes] :return: An instance of AsyncLROPoller that returns either ActiveDirectoryConnectorResource or the result of cls(response) :rtype: @@ -359,9 +325,7 @@ async def begin_create( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.ActiveDirectoryConnectorResource] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -380,12 +344,13 @@ async def begin_create( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response) + deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -398,22 +363,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[_models.ActiveDirectoryConnectorResource].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_create.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" - } + return AsyncLROPoller[_models.ActiveDirectoryConnectorResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - async def _delete_initial( # pylint: disable=inconsistent-return-statements + async def _delete_initial( self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any - ) -> None: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -424,41 +387,46 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[None] = kwargs.pop("cls", None) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - request = build_delete_request( + _request = build_delete_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, active_directory_connector_name=active_directory_connector_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self._delete_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - _delete_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" - } + return deserialized # type: ignore @distributed_trace_async async def begin_delete( @@ -473,14 +441,6 @@ async def begin_delete( :param active_directory_connector_name: The name of the Active Directory connector instance. Required. :type active_directory_connector_name: 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: @@ -488,15 +448,13 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = await self._delete_initial( # type: ignore + raw_result = await self._delete_initial( resource_group_name=resource_group_name, data_controller_name=data_controller_name, active_directory_connector_name=active_directory_connector_name, @@ -506,11 +464,12 @@ async def begin_delete( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) # type: ignore if polling is True: polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) @@ -519,17 +478,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[None].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_delete.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" - } + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace_async async def get( @@ -544,12 +499,11 @@ async def get( :param active_directory_connector_name: The name of the Active Directory connector instance. Required. :type active_directory_connector_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: ActiveDirectoryConnectorResource or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -560,42 +514,38 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.ActiveDirectoryConnectorResource] = kwargs.pop("cls", None) - request = build_get_request( + _request = build_get_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, active_directory_connector_name=active_directory_connector_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.get.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response) + deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" - } + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_data_controllers_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_data_controllers_operations.py index 15667f01a721..177b1916f77e 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_data_controllers_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_data_controllers_operations.py @@ -1,4 +1,3 @@ -# pylint: disable=too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,10 +5,12 @@ # 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, IO, Optional, TypeVar, Union, cast, overload +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload import urllib.parse +from azure.core import AsyncPipelineClient from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ( ClientAuthenticationError, @@ -17,12 +18,13 @@ ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.core.tracing.decorator import distributed_trace from azure.core.tracing.decorator_async import distributed_trace_async from azure.core.utils import case_insensitive_dict @@ -30,7 +32,7 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._vendor import _convert_request +from ..._utils.serialization import Deserializer, Serializer from ...operations._data_controllers_operations import ( build_delete_data_controller_request, build_get_data_controller_request, @@ -39,13 +41,11 @@ build_patch_data_controller_request, build_put_data_controller_request, ) +from .._configuration import AzureArcDataManagementClientConfiguration -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list class DataControllersOperations: @@ -62,18 +62,19 @@ class DataControllersOperations: 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") + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list_in_subscription(self, **kwargs: Any) -> AsyncIterable["_models.DataControllerResource"]: + def list_in_subscription(self, **kwargs: Any) -> AsyncItemPaged["_models.DataControllerResource"]: """List dataController resources in the subscription. List dataController resources in the subscription. - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either DataControllerResource or the result of cls(response) :rtype: @@ -83,12 +84,10 @@ def list_in_subscription(self, **kwargs: Any) -> AsyncIterable["_models.DataCont _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PageOfDataControllerResource] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -99,15 +98,13 @@ def list_in_subscription(self, **kwargs: Any) -> AsyncIterable["_models.DataCont def prepare_request(next_link=None): if not next_link: - request = build_list_in_subscription_request( + _request = build_list_in_subscription_request( subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list_in_subscription.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -119,13 +116,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request async def extract_data(pipeline_response): deserialized = self._deserialize("PageOfDataControllerResource", pipeline_response) @@ -135,35 +131,36 @@ async def extract_data(pipeline_response): return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged(get_next, extract_data) - list_in_subscription.metadata = { - "url": "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/dataControllers" - } - @distributed_trace - def list_in_group(self, resource_group_name: str, **kwargs: Any) -> AsyncIterable["_models.DataControllerResource"]: + def list_in_group( + self, resource_group_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.DataControllerResource"]: """List dataController resources in the resource group. List dataController resources in the resource group. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either DataControllerResource or the result of cls(response) :rtype: @@ -173,12 +170,10 @@ def list_in_group(self, resource_group_name: str, **kwargs: Any) -> AsyncIterabl _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PageOfDataControllerResource] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -189,16 +184,14 @@ def list_in_group(self, resource_group_name: str, **kwargs: Any) -> AsyncIterabl def prepare_request(next_link=None): if not next_link: - request = build_list_in_group_request( + _request = build_list_in_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list_in_group.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -210,13 +203,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request async def extract_data(pipeline_response): deserialized = self._deserialize("PageOfDataControllerResource", pipeline_response) @@ -226,34 +218,34 @@ async def extract_data(pipeline_response): return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged(get_next, extract_data) - list_in_group.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers" - } - async def _put_data_controller_initial( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: Union[_models.DataControllerResource, IO], + data_controller_resource: Union[_models.DataControllerResource, IO[bytes]], **kwargs: Any - ) -> _models.DataControllerResource: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -264,21 +256,19 @@ async def _put_data_controller_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.DataControllerResource] = kwargs.pop("cls", None) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(data_controller_resource, (IO, bytes)): + if isinstance(data_controller_resource, (IOBase, bytes)): _content = data_controller_resource else: _json = self._serialize.body(data_controller_resource, "DataControllerResource") - request = build_put_data_controller_request( + _request = build_put_data_controller_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, subscription_id=self._config.subscription_id, @@ -286,39 +276,38 @@ async def _put_data_controller_initial( content_type=content_type, json=_json, content=_content, - template_url=self._put_data_controller_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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("DataControllerResource", pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize("DataControllerResource", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - _put_data_controller_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } - @overload async def begin_put_data_controller( self, @@ -340,14 +329,6 @@ async def begin_put_data_controller( :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 DataControllerResource or the result of cls(response) :rtype: @@ -360,7 +341,7 @@ async def begin_put_data_controller( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: IO, + data_controller_resource: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -372,18 +353,10 @@ async def begin_put_data_controller( :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str :param data_controller_resource: desc. Required. - :type data_controller_resource: IO + :type data_controller_resource: IO[bytes] :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 DataControllerResource or the result of cls(response) :rtype: @@ -396,7 +369,7 @@ async def begin_put_data_controller( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: Union[_models.DataControllerResource, IO], + data_controller_resource: Union[_models.DataControllerResource, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.DataControllerResource]: """Creates or replaces a dataController resource. @@ -405,19 +378,10 @@ async def begin_put_data_controller( :type resource_group_name: str :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str - :param data_controller_resource: desc. Is either a model type or a IO type. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource 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. + :param data_controller_resource: desc. Is either a DataControllerResource type or a IO[bytes] + type. Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource or + IO[bytes] :return: An instance of AsyncLROPoller that returns either DataControllerResource or the result of cls(response) :rtype: @@ -427,9 +391,7 @@ async def begin_put_data_controller( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.DataControllerResource] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -447,12 +409,13 @@ async def begin_put_data_controller( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("DataControllerResource", pipeline_response) + deserialized = self._deserialize("DataControllerResource", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -465,22 +428,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[_models.DataControllerResource].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_put_data_controller.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return AsyncLROPoller[_models.DataControllerResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - async def _delete_data_controller_initial( # pylint: disable=inconsistent-return-statements + async def _delete_data_controller_initial( self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> None: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -491,40 +452,45 @@ async def _delete_data_controller_initial( # pylint: disable=inconsistent-retur _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[None] = kwargs.pop("cls", None) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - request = build_delete_data_controller_request( + _request = build_delete_data_controller_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self._delete_data_controller_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - _delete_data_controller_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return deserialized # type: ignore @distributed_trace_async async def begin_delete_data_controller( @@ -536,14 +502,6 @@ async def begin_delete_data_controller( :type resource_group_name: str :param data_controller_name: The name of the data controller. Required. :type data_controller_name: 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: @@ -551,15 +509,13 @@ async def begin_delete_data_controller( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = await self._delete_data_controller_initial( # type: ignore + raw_result = await self._delete_data_controller_initial( resource_group_name=resource_group_name, data_controller_name=data_controller_name, api_version=api_version, @@ -568,11 +524,12 @@ async def begin_delete_data_controller( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) # type: ignore if polling is True: polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) @@ -581,17 +538,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[None].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_delete_data_controller.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace_async async def get_data_controller( @@ -603,12 +556,11 @@ async def get_data_controller( :type resource_group_name: str :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: DataControllerResource or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.DataControllerResource :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -619,53 +571,49 @@ async def get_data_controller( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.DataControllerResource] = kwargs.pop("cls", None) - request = build_get_data_controller_request( + _request = build_get_data_controller_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.get_data_controller.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("DataControllerResource", pipeline_response) + deserialized = self._deserialize("DataControllerResource", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get_data_controller.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return deserialized # type: ignore async def _patch_data_controller_initial( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: Union[_models.DataControllerUpdate, IO], + data_controller_resource: Union[_models.DataControllerUpdate, IO[bytes]], **kwargs: Any - ) -> Optional[_models.DataControllerResource]: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -676,21 +624,19 @@ async def _patch_data_controller_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.DataControllerResource]] = kwargs.pop("cls", None) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(data_controller_resource, (IO, bytes)): + if isinstance(data_controller_resource, (IOBase, bytes)): _content = data_controller_resource else: _json = self._serialize.body(data_controller_resource, "DataControllerUpdate") - request = build_patch_data_controller_request( + _request = build_patch_data_controller_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, subscription_id=self._config.subscription_id, @@ -698,36 +644,37 @@ async def _patch_data_controller_initial( content_type=content_type, json=_json, content=_content, - template_url=self._patch_data_controller_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize("DataControllerResource", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - _patch_data_controller_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return deserialized # type: ignore @overload async def begin_patch_data_controller( @@ -750,14 +697,6 @@ async def begin_patch_data_controller( :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 DataControllerResource or the result of cls(response) :rtype: @@ -770,7 +709,7 @@ async def begin_patch_data_controller( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: IO, + data_controller_resource: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -782,18 +721,10 @@ async def begin_patch_data_controller( :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str :param data_controller_resource: The update data controller resource. Required. - :type data_controller_resource: IO + :type data_controller_resource: IO[bytes] :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 DataControllerResource or the result of cls(response) :rtype: @@ -806,7 +737,7 @@ async def begin_patch_data_controller( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: Union[_models.DataControllerUpdate, IO], + data_controller_resource: Union[_models.DataControllerUpdate, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.DataControllerResource]: """Updates a dataController resource. @@ -815,20 +746,10 @@ async def begin_patch_data_controller( :type resource_group_name: str :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str - :param data_controller_resource: The update data controller resource. Is either a model type or - a IO type. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate 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. + :param data_controller_resource: The update data controller resource. Is either a + DataControllerUpdate type or a IO[bytes] type. Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate or + IO[bytes] :return: An instance of AsyncLROPoller that returns either DataControllerResource or the result of cls(response) :rtype: @@ -838,9 +759,7 @@ async def begin_patch_data_controller( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.DataControllerResource] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -858,12 +777,13 @@ async def begin_patch_data_controller( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("DataControllerResource", pipeline_response) + deserialized = self._deserialize("DataControllerResource", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -876,14 +796,12 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[_models.DataControllerResource].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_patch_data_controller.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return AsyncLROPoller[_models.DataControllerResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_failover_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_failover_groups_operations.py new file mode 100644 index 000000000000..3f044e156aa1 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_failover_groups_operations.py @@ -0,0 +1,545 @@ +# 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 collections.abc import MutableMapping +from io import IOBase +from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload +import urllib.parse + +from azure.core import AsyncPipelineClient +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.core.tracing.decorator import distributed_trace +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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._utils.serialization import Deserializer, Serializer +from ...operations._failover_groups_operations import ( + build_create_request, + build_delete_request, + build_get_request, + build_list_request, +) +from .._configuration import AzureArcDataManagementClientConfiguration + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list + + +class FailoverGroupsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s + :attr:`failover_groups` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def list( + self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.FailoverGroupResource"]: + """List the failover groups associated with the given sql managed instance. + + List the failover groups associated with the given sql managed instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :return: An iterator like instance of either FailoverGroupResource or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.FailoverGroupListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("FailoverGroupListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + async def _create_initial( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: Union[_models.FailoverGroupResource, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(failover_group_resource, (IOBase, bytes)): + _content = failover_group_resource + else: + _json = self._serialize.body(failover_group_resource, "FailoverGroupResource") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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 = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: _models.FailoverGroupResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Required. + :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either FailoverGroupResource or the result + of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Required. + :type failover_group_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either FailoverGroupResource or the result + of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: Union[_models.FailoverGroupResource, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Is either a FailoverGroupResource type or a IO[bytes] + type. Required. + :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource or + IO[bytes] + :return: An instance of AsyncLROPoller that returns either FailoverGroupResource or the result + of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :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[_models.FailoverGroupResource] = 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._create_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + failover_group_resource=failover_group_resource, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("FailoverGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.FailoverGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.FailoverGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_initial( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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 = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes a failover group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :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 = 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)) + 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._delete_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> _models.FailoverGroupResource: + """Retrieves a failover group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :return: FailoverGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.FailoverGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.FailoverGroupResource] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("FailoverGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py index 8fe91a4c361c..9776d8ebde79 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py @@ -1,4 +1,3 @@ -# pylint: disable=too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,10 +5,11 @@ # 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 +from collections.abc import MutableMapping +from typing import Any, Callable, Optional, TypeVar import urllib.parse +from azure.core import AsyncPipelineClient from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ( ClientAuthenticationError, @@ -20,22 +20,19 @@ map_error, ) from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse -from azure.core.rest import HttpRequest +from azure.core.rest import AsyncHttpResponse, 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 ..._vendor import _convert_request +from ..._utils.serialization import Deserializer, Serializer from ...operations._operations import build_list_request +from .._configuration import AzureArcDataManagementClientConfiguration -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list class Operations: @@ -52,16 +49,17 @@ class Operations: 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") + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list(self, **kwargs: Any) -> AsyncIterable["_models.Operation"]: + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.Operation"]: """Lists all of the available Azure Data Services on Azure Arc API operations. - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either Operation or the result of cls(response) :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.Operation] :raises ~azure.core.exceptions.HttpResponseError: @@ -69,12 +67,10 @@ 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-03-01-preview"] = 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 = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -85,14 +81,12 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.Operation"]: def prepare_request(next_link=None): if not next_link: - request = build_list_request( + _request = build_list_request( api_version=api_version, - template_url=self.list.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -104,13 +98,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request async def extract_data(pipeline_response): deserialized = self._deserialize("OperationListResult", pipeline_response) @@ -120,20 +113,22 @@ async def extract_data(pipeline_response): return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged(get_next, extract_data) - - list.metadata = {"url": "/providers/Microsoft.AzureArcData/operations"} diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_postgres_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_postgres_instances_operations.py index a344352c7389..ec45bea74e64 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_postgres_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_postgres_instances_operations.py @@ -1,4 +1,3 @@ -# pylint: disable=too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,10 +5,12 @@ # 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, IO, Optional, TypeVar, Union, cast, overload +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload import urllib.parse +from azure.core import AsyncPipelineClient from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ( ClientAuthenticationError, @@ -17,12 +18,13 @@ ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.core.tracing.decorator import distributed_trace from azure.core.tracing.decorator_async import distributed_trace_async from azure.core.utils import case_insensitive_dict @@ -30,7 +32,7 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._vendor import _convert_request +from ..._utils.serialization import Deserializer, Serializer from ...operations._postgres_instances_operations import ( build_create_request, build_delete_request, @@ -39,13 +41,11 @@ build_list_request, build_update_request, ) +from .._configuration import AzureArcDataManagementClientConfiguration -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list class PostgresInstancesOperations: @@ -62,18 +62,19 @@ class PostgresInstancesOperations: 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") + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list(self, **kwargs: Any) -> AsyncIterable["_models.PostgresInstance"]: + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.PostgresInstance"]: """List postgres Instance resources in the subscription. List postgres Instance resources in the subscription. - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either PostgresInstance or the result of cls(response) :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] @@ -82,12 +83,10 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.PostgresInstance"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstanceListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -98,15 +97,13 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.PostgresInstance"]: def prepare_request(next_link=None): if not next_link: - request = build_list_request( + _request = build_list_request( subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -118,13 +115,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request async def extract_data(pipeline_response): deserialized = self._deserialize("PostgresInstanceListResult", pipeline_response) @@ -134,35 +130,36 @@ async def extract_data(pipeline_response): return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged(get_next, extract_data) - list.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/postgresInstances"} - @distributed_trace def list_by_resource_group( self, resource_group_name: str, **kwargs: Any - ) -> AsyncIterable["_models.PostgresInstance"]: + ) -> AsyncItemPaged["_models.PostgresInstance"]: """List postgres Instance resources in the resource group. Get a postgres Instances list by Resource group name. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either PostgresInstance or the result of cls(response) :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] @@ -171,12 +168,10 @@ def list_by_resource_group( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstanceListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -187,16 +182,14 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - request = build_list_by_resource_group_request( + _request = build_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list_by_resource_group.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -208,13 +201,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request async def extract_data(pipeline_response): deserialized = self._deserialize("PostgresInstanceListResult", pipeline_response) @@ -224,26 +216,26 @@ async def extract_data(pipeline_response): return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged(get_next, extract_data) - list_by_resource_group.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances" - } - @distributed_trace_async async def get( self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any @@ -254,12 +246,11 @@ async def get( :type resource_group_name: str :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: PostgresInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -270,53 +261,49 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstance] = kwargs.pop("cls", None) - request = build_get_request( + _request = build_get_request( resource_group_name=resource_group_name, postgres_instance_name=postgres_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.get.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("PostgresInstance", pipeline_response) + deserialized = self._deserialize("PostgresInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } + return deserialized # type: ignore async def _create_initial( self, resource_group_name: str, postgres_instance_name: str, - resource: Union[_models.PostgresInstance, IO], + resource: Union[_models.PostgresInstance, IO[bytes]], **kwargs: Any - ) -> _models.PostgresInstance: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -327,21 +314,19 @@ async def _create_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstance] = kwargs.pop("cls", None) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(resource, (IO, bytes)): + if isinstance(resource, (IOBase, bytes)): _content = resource else: _json = self._serialize.body(resource, "PostgresInstance") - request = build_create_request( + _request = build_create_request( resource_group_name=resource_group_name, postgres_instance_name=postgres_instance_name, subscription_id=self._config.subscription_id, @@ -349,39 +334,38 @@ async def _create_initial( content_type=content_type, json=_json, content=_content, - template_url=self._create_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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("PostgresInstance", pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize("PostgresInstance", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - _create_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } - @overload async def begin_create( self, @@ -403,14 +387,6 @@ async def begin_create( :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 PostgresInstance or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] @@ -422,7 +398,7 @@ async def begin_create( self, resource_group_name: str, postgres_instance_name: str, - resource: IO, + resource: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -434,18 +410,10 @@ async def begin_create( :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: str :param resource: The postgres instance. Required. - :type resource: IO + :type resource: IO[bytes] :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 PostgresInstance or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] @@ -457,7 +425,7 @@ async def begin_create( self, resource_group_name: str, postgres_instance_name: str, - resource: Union[_models.PostgresInstance, IO], + resource: Union[_models.PostgresInstance, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.PostgresInstance]: """Creates or replaces a postgres Instance resource. @@ -466,19 +434,9 @@ async def begin_create( :type resource_group_name: str :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: str - :param resource: The postgres instance. Is either a model type or a IO type. Required. - :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance 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. + :param resource: The postgres instance. Is either a PostgresInstance type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance or IO[bytes] :return: An instance of AsyncLROPoller that returns either PostgresInstance or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] @@ -487,9 +445,7 @@ async def begin_create( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstance] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -507,12 +463,13 @@ async def begin_create( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("PostgresInstance", pipeline_response) + deserialized = self._deserialize("PostgresInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -525,22 +482,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[_models.PostgresInstance].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_create.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } + return AsyncLROPoller[_models.PostgresInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - async def _delete_initial( # pylint: disable=inconsistent-return-statements + async def _delete_initial( self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any - ) -> None: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -551,40 +506,45 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[None] = kwargs.pop("cls", None) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - request = build_delete_request( + _request = build_delete_request( resource_group_name=resource_group_name, postgres_instance_name=postgres_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self._delete_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - _delete_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } + return deserialized # type: ignore @distributed_trace_async async def begin_delete( @@ -596,14 +556,6 @@ async def begin_delete( :type resource_group_name: str :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: 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: @@ -611,15 +563,13 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = await self._delete_initial( # type: ignore + raw_result = await self._delete_initial( resource_group_name=resource_group_name, postgres_instance_name=postgres_instance_name, api_version=api_version, @@ -628,11 +578,12 @@ async def begin_delete( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) # type: ignore if polling is True: polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) @@ -641,17 +592,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[None].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_delete.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @overload async def update( @@ -674,7 +621,6 @@ async def update( :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: PostgresInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance :raises ~azure.core.exceptions.HttpResponseError: @@ -685,7 +631,7 @@ async def update( self, resource_group_name: str, postgres_instance_name: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -697,11 +643,10 @@ async def update( :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: str :param parameters: The Postgres Instance. Required. - :type parameters: IO + :type parameters: IO[bytes] :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: PostgresInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance :raises ~azure.core.exceptions.HttpResponseError: @@ -712,7 +657,7 @@ async def update( self, resource_group_name: str, postgres_instance_name: str, - parameters: Union[_models.PostgresInstanceUpdate, IO], + parameters: Union[_models.PostgresInstanceUpdate, IO[bytes]], **kwargs: Any ) -> _models.PostgresInstance: """Updates a postgres Instance resource. @@ -721,17 +666,14 @@ async def update( :type resource_group_name: str :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: str - :param parameters: The Postgres Instance. Is either a model type or a IO type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate 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 + :param parameters: The Postgres Instance. Is either a PostgresInstanceUpdate type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate or IO[bytes] :return: PostgresInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -742,21 +684,19 @@ async def update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstance] = 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, "PostgresInstanceUpdate") - request = build_update_request( + _request = build_update_request( resource_group_name=resource_group_name, postgres_instance_name=postgres_instance_name, subscription_id=self._config.subscription_id, @@ -764,31 +704,29 @@ async def update( content_type=content_type, json=_json, content=_content, - template_url=self.update.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("PostgresInstance", pipeline_response) + deserialized = self._deserialize("PostgresInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - update.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_managed_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_managed_instances_operations.py index 929405aa8d10..41826420bdfc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_managed_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_managed_instances_operations.py @@ -1,4 +1,3 @@ -# pylint: disable=too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,10 +5,12 @@ # 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, IO, Optional, TypeVar, Union, cast, overload +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload import urllib.parse +from azure.core import AsyncPipelineClient from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ( ClientAuthenticationError, @@ -17,12 +18,13 @@ ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.core.tracing.decorator import distributed_trace from azure.core.tracing.decorator_async import distributed_trace_async from azure.core.utils import case_insensitive_dict @@ -30,7 +32,7 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._vendor import _convert_request +from ..._utils.serialization import Deserializer, Serializer from ...operations._sql_managed_instances_operations import ( build_create_request, build_delete_request, @@ -39,13 +41,11 @@ build_list_request, build_update_request, ) +from .._configuration import AzureArcDataManagementClientConfiguration -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list class SqlManagedInstancesOperations: @@ -62,18 +62,19 @@ class SqlManagedInstancesOperations: 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") + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list(self, **kwargs: Any) -> AsyncIterable["_models.SqlManagedInstance"]: + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlManagedInstance"]: """List sqlManagedInstance resources in the subscription. List sqlManagedInstance resources in the subscription. - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SqlManagedInstance or the result of cls(response) :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] @@ -82,12 +83,10 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.SqlManagedInstance"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstanceListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -98,15 +97,13 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.SqlManagedInstance"]: def prepare_request(next_link=None): if not next_link: - request = build_list_request( + _request = build_list_request( subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -118,13 +115,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request async def extract_data(pipeline_response): deserialized = self._deserialize("SqlManagedInstanceListResult", pipeline_response) @@ -134,35 +130,36 @@ async def extract_data(pipeline_response): return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged(get_next, extract_data) - list.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances"} - @distributed_trace def list_by_resource_group( self, resource_group_name: str, **kwargs: Any - ) -> AsyncIterable["_models.SqlManagedInstance"]: + ) -> AsyncItemPaged["_models.SqlManagedInstance"]: """List sqlManagedInstance resources in the resource group. Gets all sqlManagedInstances in a resource group. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SqlManagedInstance or the result of cls(response) :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] @@ -171,12 +168,10 @@ def list_by_resource_group( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstanceListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -187,16 +182,14 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - request = build_list_by_resource_group_request( + _request = build_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list_by_resource_group.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -208,13 +201,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request async def extract_data(pipeline_response): deserialized = self._deserialize("SqlManagedInstanceListResult", pipeline_response) @@ -224,26 +216,26 @@ async def extract_data(pipeline_response): return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged(get_next, extract_data) - list_by_resource_group.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances" - } - @distributed_trace_async async def get( self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any @@ -254,12 +246,11 @@ async def get( :type resource_group_name: str :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: SqlManagedInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -270,53 +261,49 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstance] = kwargs.pop("cls", None) - request = build_get_request( + _request = build_get_request( resource_group_name=resource_group_name, sql_managed_instance_name=sql_managed_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.get.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("SqlManagedInstance", pipeline_response) + deserialized = self._deserialize("SqlManagedInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } + return deserialized # type: ignore async def _create_initial( self, resource_group_name: str, sql_managed_instance_name: str, - sql_managed_instance: Union[_models.SqlManagedInstance, IO], + sql_managed_instance: Union[_models.SqlManagedInstance, IO[bytes]], **kwargs: Any - ) -> _models.SqlManagedInstance: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -327,21 +314,19 @@ async def _create_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstance] = kwargs.pop("cls", None) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(sql_managed_instance, (IO, bytes)): + if isinstance(sql_managed_instance, (IOBase, bytes)): _content = sql_managed_instance else: _json = self._serialize.body(sql_managed_instance, "SqlManagedInstance") - request = build_create_request( + _request = build_create_request( resource_group_name=resource_group_name, sql_managed_instance_name=sql_managed_instance_name, subscription_id=self._config.subscription_id, @@ -349,39 +334,38 @@ async def _create_initial( content_type=content_type, json=_json, content=_content, - template_url=self._create_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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("SqlManagedInstance", pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize("SqlManagedInstance", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - _create_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } - @overload async def begin_create( self, @@ -403,14 +387,6 @@ async def begin_create( :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 SqlManagedInstance or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] @@ -422,7 +398,7 @@ async def begin_create( self, resource_group_name: str, sql_managed_instance_name: str, - sql_managed_instance: IO, + sql_managed_instance: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -434,18 +410,10 @@ async def begin_create( :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: str :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. - :type sql_managed_instance: IO + :type sql_managed_instance: IO[bytes] :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 SqlManagedInstance or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] @@ -457,7 +425,7 @@ async def begin_create( self, resource_group_name: str, sql_managed_instance_name: str, - sql_managed_instance: Union[_models.SqlManagedInstance, IO], + sql_managed_instance: Union[_models.SqlManagedInstance, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.SqlManagedInstance]: """Creates or replaces a SQL Managed Instance resource. @@ -467,19 +435,8 @@ async def begin_create( :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: str :param sql_managed_instance: The SQL Managed Instance to be created or updated. Is either a - model type or a IO type. Required. - :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance 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. + SqlManagedInstance type or a IO[bytes] type. Required. + :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance or IO[bytes] :return: An instance of AsyncLROPoller that returns either SqlManagedInstance or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] @@ -488,9 +445,7 @@ async def begin_create( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstance] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -508,12 +463,13 @@ async def begin_create( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlManagedInstance", pipeline_response) + deserialized = self._deserialize("SqlManagedInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -526,22 +482,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[_models.SqlManagedInstance].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_create.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } + return AsyncLROPoller[_models.SqlManagedInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - async def _delete_initial( # pylint: disable=inconsistent-return-statements + async def _delete_initial( self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any - ) -> None: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -552,40 +506,45 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[None] = kwargs.pop("cls", None) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - request = build_delete_request( + _request = build_delete_request( resource_group_name=resource_group_name, sql_managed_instance_name=sql_managed_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self._delete_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - _delete_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } + return deserialized # type: ignore @distributed_trace_async async def begin_delete( @@ -597,14 +556,6 @@ async def begin_delete( :type resource_group_name: str :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: 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: @@ -612,15 +563,13 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = await self._delete_initial( # type: ignore + raw_result = await self._delete_initial( resource_group_name=resource_group_name, sql_managed_instance_name=sql_managed_instance_name, api_version=api_version, @@ -629,11 +578,12 @@ async def begin_delete( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) # type: ignore if polling is True: polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) @@ -642,17 +592,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[None].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_delete.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @overload async def update( @@ -675,7 +621,6 @@ async def update( :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: SqlManagedInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance :raises ~azure.core.exceptions.HttpResponseError: @@ -686,7 +631,7 @@ async def update( self, resource_group_name: str, sql_managed_instance_name: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -698,11 +643,10 @@ async def update( :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: str :param parameters: The SQL Managed Instance. Required. - :type parameters: IO + :type parameters: IO[bytes] :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: SqlManagedInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance :raises ~azure.core.exceptions.HttpResponseError: @@ -713,7 +657,7 @@ async def update( self, resource_group_name: str, sql_managed_instance_name: str, - parameters: Union[_models.SqlManagedInstanceUpdate, IO], + parameters: Union[_models.SqlManagedInstanceUpdate, IO[bytes]], **kwargs: Any ) -> _models.SqlManagedInstance: """Updates a SQL Managed Instance resource. @@ -722,17 +666,14 @@ async def update( :type resource_group_name: str :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: str - :param parameters: The SQL Managed Instance. Is either a model type or a IO type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate 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 + :param parameters: The SQL Managed Instance. Is either a SqlManagedInstanceUpdate type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate or IO[bytes] :return: SqlManagedInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -743,21 +684,19 @@ async def update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstance] = 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, "SqlManagedInstanceUpdate") - request = build_update_request( + _request = build_update_request( resource_group_name=resource_group_name, sql_managed_instance_name=sql_managed_instance_name, subscription_id=self._config.subscription_id, @@ -765,31 +704,29 @@ async def update( content_type=content_type, json=_json, content=_content, - template_url=self.update.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("SqlManagedInstance", pipeline_response) + deserialized = self._deserialize("SqlManagedInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - update.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_availability_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_availability_groups_operations.py new file mode 100644 index 000000000000..3fa84cd732f1 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_availability_groups_operations.py @@ -0,0 +1,2176 @@ +# 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 collections.abc import MutableMapping +from io import IOBase +from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload +import urllib.parse + +from azure.core import AsyncPipelineClient +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.core.tracing.decorator import distributed_trace +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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._utils.serialization import Deserializer, Serializer +from ...operations._sql_server_availability_groups_operations import ( + build_add_databases_request, + build_create_availability_group_request, + build_create_distributed_availability_group_request, + build_create_managed_instance_link_request, + build_create_request, + build_delete_mi_link_request, + build_delete_request, + build_detail_view_request, + build_failover_mi_link_request, + build_failover_request, + build_force_failover_allow_data_loss_request, + build_get_request, + build_list_request, + build_remove_databases_request, + build_update_request, +) +from .._configuration import AzureArcDataManagementClientConfiguration + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list + + +class SqlServerAvailabilityGroupsOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s + :attr:`sql_server_availability_groups` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @overload + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: _models.SqlServerAvailabilityGroupResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Required. + :type sql_server_availability_group_resource: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Required. + :type sql_server_availability_group_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: Union[_models.SqlServerAvailabilityGroupResource, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Is either a SqlServerAvailabilityGroupResource type or a IO[bytes] type. Required. + :type sql_server_availability_group_resource: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource or IO[bytes] + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_availability_group_resource, (IOBase, bytes)): + _content = sql_server_availability_group_resource + else: + _json = self._serialize.body(sql_server_availability_group_resource, "SqlServerAvailabilityGroupResource") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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, 201]: + 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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes an Arc Sql Server availability group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :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 = 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)) + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Retrieves an Arc Sql Server availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_availability_group_update, (IOBase, bytes)): + _content = sql_server_availability_group_update + else: + _json = self._serialize.body(sql_server_availability_group_update, "SqlServerAvailabilityGroupUpdate") + + _request = build_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: _models.SqlServerAvailabilityGroupUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Required. + :type sql_server_availability_group_update: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Required. + :type sql_server_availability_group_update: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Is either a SqlServerAvailabilityGroupUpdate type or a IO[bytes] type. Required. + :type sql_server_availability_group_update: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate or IO[bytes] + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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[_models.SqlServerAvailabilityGroupResource] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + sql_server_availability_group_update=sql_server_availability_group_update, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace_async + async def detail_view( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Retrieves detailed properties of the Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_detail_view_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def failover( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request manual failover of the availability group to this server. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_failover_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def force_failover_allow_data_loss( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request forced failover of the availability group to this server. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_force_failover_allow_data_loss_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_availability_group_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(create_ag_configuration, (IOBase, bytes)): + _content = create_ag_configuration + else: + _json = self._serialize.body(create_ag_configuration, "AvailabilityGroupCreateUpdateConfiguration") + + _request = build_create_availability_group_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: _models.AvailabilityGroupCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_ag_configuration: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_ag_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Is either a AvailabilityGroupCreateUpdateConfiguration type or a IO[bytes] type. + Required. + :type create_ag_configuration: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration or IO[bytes] + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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[_models.SqlServerAvailabilityGroupResource] = 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._create_availability_group_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_ag_configuration=create_ag_configuration, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _create_distributed_availability_group_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(create_dag_configuration, (IOBase, bytes)): + _content = create_dag_configuration + else: + _json = self._serialize.body( + create_dag_configuration, "DistributedAvailabilityGroupCreateUpdateConfiguration" + ) + + _request = build_create_distributed_availability_group_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: _models.DistributedAvailabilityGroupCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_dag_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_dag_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Is either a DistributedAvailabilityGroupCreateUpdateConfiguration type or a IO[bytes] + type. Required. + :type create_dag_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration or + IO[bytes] + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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[_models.SqlServerAvailabilityGroupResource] = 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._create_distributed_availability_group_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_dag_configuration=create_dag_configuration, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _create_managed_instance_link_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: Union[ + _models.ManagedInstanceLinkCreateUpdateConfiguration, IO[bytes] + ], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(create_managed_instance_link_configuration, (IOBase, bytes)): + _content = create_managed_instance_link_configuration + else: + _json = self._serialize.body( + create_managed_instance_link_configuration, "ManagedInstanceLinkCreateUpdateConfiguration" + ) + + _request = build_create_managed_instance_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: _models.ManagedInstanceLinkCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Required. + :type create_managed_instance_link_configuration: + ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Required. + :type create_managed_instance_link_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: Union[ + _models.ManagedInstanceLinkCreateUpdateConfiguration, IO[bytes] + ], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Is either a ManagedInstanceLinkCreateUpdateConfiguration type or a + IO[bytes] type. Required. + :type create_managed_instance_link_configuration: + ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration or IO[bytes] + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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[_models.SqlServerAvailabilityGroupResource] = 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._create_managed_instance_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_managed_instance_link_configuration=create_managed_instance_link_configuration, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + async def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: _models.Databases, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. + Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. + Required. + :type databases: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: Union[_models.Databases, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. Is + either a Databases type or a IO[bytes] type. Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases or IO[bytes] + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(databases, (IOBase, bytes)): + _content = databases + else: + _json = self._serialize.body(databases, "Databases") + + _request = build_add_databases_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _failover_mi_link_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(managed_instance_resource_id, (IOBase, bytes)): + _content = managed_instance_resource_id + else: + _json = self._serialize.body(managed_instance_resource_id, "FailoverMiLinkResourceId") + + _request = build_failover_mi_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: _models.FailoverMiLinkResourceId, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Required. + :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Required. + :type managed_instance_resource_id: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Is either a FailoverMiLinkResourceId type or a IO[bytes] type. Required. + :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId or + IO[bytes] + :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource + or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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[_models.SqlServerAvailabilityGroupResource] = 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._failover_mi_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + managed_instance_resource_id=managed_instance_resource_id, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_mi_link_initial( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_mi_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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 = {} + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete_mi_link( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes the MI Link between an Azure Arc-enabled SQL Server and an Azure SQL Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :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 = 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)) + 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._delete_mi_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @overload + async def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: _models.Databases, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Required. + :type databases: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: Union[_models.Databases, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Is either a Databases type or a IO[bytes] type. Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases or IO[bytes] + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(databases, (IOBase, bytes)): + _content = databases + else: + _json = self._serialize.body(databases, "Databases") + + _request = build_remove_databases_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def list( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """List the availability group associated with the given Arc Sql Server. + + List the availability group associated with the given Arc Sql Server. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.ArcSqlServerAvailabilityGroupListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ArcSqlServerAvailabilityGroupListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_databases_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_databases_operations.py new file mode 100644 index 000000000000..43f331c32e21 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_databases_operations.py @@ -0,0 +1,696 @@ +# 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 collections.abc import MutableMapping +from io import IOBase +from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload +import urllib.parse + +from azure.core import AsyncPipelineClient +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.core.tracing.decorator import distributed_trace +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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._utils.serialization import Deserializer, Serializer +from ...operations._sql_server_databases_operations import ( + build_create_request, + build_delete_request, + build_get_request, + build_list_request, + build_update_request, +) +from .._configuration import AzureArcDataManagementClientConfiguration + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list + + +class SqlServerDatabasesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s + :attr:`sql_server_databases` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @overload + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: _models.SqlServerDatabaseResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Required. + :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerDatabaseResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Required. + :type sql_server_database_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerDatabaseResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: Union[_models.SqlServerDatabaseResource, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Is either a + SqlServerDatabaseResource type or a IO[bytes] type. Required. + :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + or IO[bytes] + :return: SqlServerDatabaseResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerDatabaseResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_database_resource, (IOBase, bytes)): + _content = sql_server_database_resource + else: + _json = self._serialize.body(sql_server_database_resource, "SqlServerDatabaseResource") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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, 201]: + 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("SqlServerDatabaseResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes an Arc Sql Server database resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :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 = 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)) + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Retrieves an Arc Sql Server database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :return: SqlServerDatabaseResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerDatabaseResource] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerDatabaseResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_database_update, (IOBase, bytes)): + _content = sql_server_database_update + else: + _json = self._serialize.body(sql_server_database_update, "SqlServerDatabaseUpdate") + + _request = build_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: _models.SqlServerDatabaseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Required. + :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerDatabaseResource or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Required. + :type sql_server_database_update: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerDatabaseResource or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Is either a + SqlServerDatabaseUpdate type or a IO[bytes] type. Required. + :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate or + IO[bytes] + :return: An instance of AsyncLROPoller that returns either SqlServerDatabaseResource or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :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[_models.SqlServerDatabaseResource] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + sql_server_database_update=sql_server_database_update, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerDatabaseResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerDatabaseResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerDatabaseResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def list( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerDatabaseResource"]: + """List the databases associated with the given Arc Sql Server. + + List the databases associated with the given Arc Sql Server. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An iterator like instance of either SqlServerDatabaseResource or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.ArcSqlServerDatabaseListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ArcSqlServerDatabaseListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_esu_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_esu_licenses_operations.py new file mode 100644 index 000000000000..d1cbbd69e7db --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_esu_licenses_operations.py @@ -0,0 +1,618 @@ +# 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 collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Optional, TypeVar, Union, overload +import urllib.parse + +from azure.core import AsyncPipelineClient +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.core.tracing.decorator import distributed_trace +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 ..._utils.serialization import Deserializer, Serializer +from ...operations._sql_server_esu_licenses_operations import ( + build_create_request, + build_delete_request, + build_get_request, + build_list_by_resource_group_request, + build_list_request, + build_update_request, +) +from .._configuration import AzureArcDataManagementClientConfiguration + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list + + +class SqlServerEsuLicensesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s + :attr:`sql_server_esu_licenses` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlServerEsuLicense"]: + """List sqlServerEsuLicense resources in the subscription. + + List sqlServerEsuLicense resources in the subscription. + + :return: An iterator like instance of either SqlServerEsuLicense or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerEsuLicenseListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerEsuLicenseListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerEsuLicense"]: + """List sqlServerEsuLicense resources in the resource group. + + Gets all sqlServerEsuLicenses in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of either SqlServerEsuLicense or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerEsuLicenseListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerEsuLicenseListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Retrieves a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerEsuLicense] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerEsuLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: _models.SqlServerEsuLicense, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. + :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. + :type sql_server_esu_license: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: Union[_models.SqlServerEsuLicense, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Is either a + SqlServerEsuLicense type or a IO[bytes] type. Required. + :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense or IO[bytes] + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerEsuLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_esu_license, (IOBase, bytes)): + _content = sql_server_esu_license + else: + _json = self._serialize.body(sql_server_esu_license, "SqlServerEsuLicense") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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, 201]: + 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("SqlServerEsuLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def delete(self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any) -> None: + """Deletes a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :return: None or the result of cls(response) + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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, 204]: + 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) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @overload + async def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: _models.SqlServerEsuLicenseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: Union[_models.SqlServerEsuLicenseUpdate, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Is either a SqlServerEsuLicenseUpdate type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate or IO[bytes] + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerEsuLicense] = 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, "SqlServerEsuLicenseUpdate") + + _request = build_update_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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("SqlServerEsuLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_instances_operations.py index 34c79c8c6cd8..3e95d4fe6e5c 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_instances_operations.py @@ -1,4 +1,4 @@ -# pylint: disable=too-many-lines +# pylint: disable=line-too-long,useless-suppression,too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,10 +6,13 @@ # 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, IO, Optional, TypeVar, Union, cast, overload +from __future__ import annotations +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload import urllib.parse +from azure.core import AsyncPipelineClient from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ( ClientAuthenticationError, @@ -17,12 +20,13 @@ ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.core.tracing.decorator import distributed_trace from azure.core.tracing.decorator_async import distributed_trace_async from azure.core.utils import case_insensitive_dict @@ -30,25 +34,38 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._vendor import _convert_request +from ..._utils.serialization import Deserializer, Serializer from ...operations._sql_server_instances_operations import ( build_create_request, build_delete_request, + build_get_all_availability_groups_request, + build_get_best_practices_assessment_request, + build_get_jobs_request, + build_get_jobs_status_request, + build_get_migration_readiness_report_request, build_get_request, + build_get_target_recommendation_reports_request, + build_get_telemetry_request, build_list_by_resource_group_request, build_list_request, + build_post_upgrade_request, + build_pre_upgrade_request, + build_run_best_practice_assessment_request, + build_run_best_practices_assessment_request, + build_run_managed_instance_link_assessment_request, + build_run_migration_assessment_request, + build_run_migration_readiness_assessment_request, + build_run_target_recommendation_job_request, build_update_request, ) +from .._configuration import AzureArcDataManagementClientConfiguration -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list -class SqlServerInstancesOperations: +class SqlServerInstancesOperations: # pylint: disable=too-many-public-methods """ .. warning:: **DO NOT** instantiate this class directly. @@ -62,18 +79,19 @@ class SqlServerInstancesOperations: 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") + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list(self, **kwargs: Any) -> AsyncIterable["_models.SqlServerInstance"]: + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlServerInstance"]: """List sqlServerInstance resources in the subscription. List sqlServerInstance resources in the subscription. - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SqlServerInstance or the result of cls(response) :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] @@ -82,12 +100,10 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.SqlServerInstance"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlServerInstanceListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -98,15 +114,13 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.SqlServerInstance"]: def prepare_request(next_link=None): if not next_link: - request = build_list_request( + _request = build_list_request( subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -118,13 +132,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request async def extract_data(pipeline_response): deserialized = self._deserialize("SqlServerInstanceListResult", pipeline_response) @@ -134,35 +147,36 @@ async def extract_data(pipeline_response): return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged(get_next, extract_data) - list.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances"} - @distributed_trace def list_by_resource_group( self, resource_group_name: str, **kwargs: Any - ) -> AsyncIterable["_models.SqlServerInstance"]: + ) -> AsyncItemPaged["_models.SqlServerInstance"]: """List sqlServerInstance resources in the resource group. Gets all sqlServerInstances in a resource group. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SqlServerInstance or the result of cls(response) :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] @@ -171,12 +185,10 @@ def list_by_resource_group( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlServerInstanceListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -187,16 +199,14 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - request = build_list_by_resource_group_request( + _request = build_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list_by_resource_group.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -208,13 +218,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request async def extract_data(pipeline_response): deserialized = self._deserialize("SqlServerInstanceListResult", pipeline_response) @@ -224,26 +233,26 @@ async def extract_data(pipeline_response): return deserialized.next_link or None, AsyncList(list_of_elem) async def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged(get_next, extract_data) - list_by_resource_group.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances" - } - @distributed_trace_async async def get( self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any @@ -254,12 +263,11 @@ async def get( :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: SqlServerInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -270,53 +278,49 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlServerInstance] = kwargs.pop("cls", None) - request = build_get_request( + _request = build_get_request( resource_group_name=resource_group_name, sql_server_instance_name=sql_server_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.get.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("SqlServerInstance", pipeline_response) + deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } + return deserialized # type: ignore async def _create_initial( self, resource_group_name: str, sql_server_instance_name: str, - sql_server_instance: Union[_models.SqlServerInstance, IO], + sql_server_instance: Union[_models.SqlServerInstance, IO[bytes]], **kwargs: Any - ) -> _models.SqlServerInstance: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -327,21 +331,19 @@ async def _create_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlServerInstance] = kwargs.pop("cls", None) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(sql_server_instance, (IO, bytes)): + if isinstance(sql_server_instance, (IOBase, bytes)): _content = sql_server_instance else: _json = self._serialize.body(sql_server_instance, "SqlServerInstance") - request = build_create_request( + _request = build_create_request( resource_group_name=resource_group_name, sql_server_instance_name=sql_server_instance_name, subscription_id=self._config.subscription_id, @@ -349,39 +351,38 @@ async def _create_initial( content_type=content_type, json=_json, content=_content, - template_url=self._create_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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("SqlServerInstance", pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize("SqlServerInstance", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - _create_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } - @overload async def begin_create( self, @@ -403,14 +404,6 @@ async def begin_create( :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 SqlServerInstance or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] @@ -422,7 +415,7 @@ async def begin_create( self, resource_group_name: str, sql_server_instance_name: str, - sql_server_instance: IO, + sql_server_instance: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -434,18 +427,10 @@ async def begin_create( :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str :param sql_server_instance: The SQL Server Instance to be created or updated. Required. - :type sql_server_instance: IO + :type sql_server_instance: IO[bytes] :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 SqlServerInstance or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] @@ -457,7 +442,7 @@ async def begin_create( self, resource_group_name: str, sql_server_instance_name: str, - sql_server_instance: Union[_models.SqlServerInstance, IO], + sql_server_instance: Union[_models.SqlServerInstance, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.SqlServerInstance]: """Creates or replaces a SQL Server Instance resource. @@ -466,20 +451,9 @@ async def begin_create( :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str - :param sql_server_instance: The SQL Server Instance to be created or updated. Is either a model - type or a IO type. Required. - :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance 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. + :param sql_server_instance: The SQL Server Instance to be created or updated. Is either a + SqlServerInstance type or a IO[bytes] type. Required. + :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance or IO[bytes] :return: An instance of AsyncLROPoller that returns either SqlServerInstance or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] @@ -488,9 +462,7 @@ async def begin_create( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlServerInstance] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -508,12 +480,13 @@ async def begin_create( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerInstance", pipeline_response) + deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -526,22 +499,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[_models.SqlServerInstance].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_create.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } + return AsyncLROPoller[_models.SqlServerInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - async def _delete_initial( # pylint: disable=inconsistent-return-statements + async def _delete_initial( self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> None: - error_map = { + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -552,40 +523,45 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[None] = kwargs.pop("cls", None) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - request = build_delete_request( + _request = build_delete_request( resource_group_name=resource_group_name, sql_server_instance_name=sql_server_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self._delete_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - _delete_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } + return deserialized # type: ignore @distributed_trace_async async def begin_delete( @@ -597,14 +573,6 @@ async def begin_delete( :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: 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: @@ -612,15 +580,13 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = await self._delete_initial( # type: ignore + raw_result = await self._delete_initial( resource_group_name=resource_group_name, sql_server_instance_name=sql_server_instance_name, api_version=api_version, @@ -629,11 +595,12 @@ async def begin_delete( params=_params, **kwargs ) + await raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) # type: ignore if polling is True: polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) @@ -642,20 +609,90 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- else: polling_method = polling if cont_token: - return AsyncLROPoller.from_continuation_token( + return AsyncLROPoller[None].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 + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: Union[_models.SqlServerInstanceUpdate, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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[AsyncIterator[bytes]] = 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, "SqlServerInstanceUpdate") + + _request = build_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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) - begin_delete.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore @overload - async def update( + async def begin_update( self, resource_group_name: str, sql_server_instance_name: str, @@ -663,7 +700,7 @@ async def update( *, content_type: str = "application/json", **kwargs: Any - ) -> _models.SqlServerInstance: + ) -> AsyncLROPoller[_models.SqlServerInstance]: """Updates a SQL Server Instance resource. :param resource_group_name: The name of the Azure resource group. Required. @@ -675,22 +712,22 @@ async def update( :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: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :return: An instance of AsyncLROPoller that returns either SqlServerInstance or the result of + cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def update( + async def begin_update( self, resource_group_name: str, sql_server_instance_name: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> _models.SqlServerInstance: + ) -> AsyncLROPoller[_models.SqlServerInstance]: """Updates a SQL Server Instance resource. :param resource_group_name: The name of the Azure resource group. Required. @@ -698,41 +735,96 @@ async def update( :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str :param parameters: The SQL Server Instance. Required. - :type parameters: IO + :type parameters: IO[bytes] :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: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :return: An instance of AsyncLROPoller that returns either SqlServerInstance or the result of + cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def update( + async def begin_update( self, resource_group_name: str, sql_server_instance_name: str, - parameters: Union[_models.SqlServerInstanceUpdate, IO], + parameters: Union[_models.SqlServerInstanceUpdate, IO[bytes]], **kwargs: Any - ) -> _models.SqlServerInstance: + ) -> AsyncLROPoller[_models.SqlServerInstance]: """Updates a SQL Server Instance resource. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str - :param parameters: The SQL Server Instance. Is either a model type or a IO type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate 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: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :param parameters: The SQL Server Instance. Is either a SqlServerInstanceUpdate type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate or IO[bytes] + :return: An instance of AsyncLROPoller that returns either SqlServerInstance or the result of + cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + _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.SqlServerInstance] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + parameters=parameters, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _get_telemetry_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -743,21 +835,19 @@ async def update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlServerInstance] = kwargs.pop("cls", None) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(parameters, (IO, bytes)): - _content = parameters + if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): + _content = sql_server_instance_telemetry_request else: - _json = self._serialize.body(parameters, "SqlServerInstanceUpdate") + _json = self._serialize.body(sql_server_instance_telemetry_request, "SqlServerInstanceTelemetryRequest") - request = build_update_request( + _request = build_get_telemetry_request( resource_group_name=resource_group_name, sql_server_instance_name=sql_server_instance_name, subscription_id=self._config.subscription_id, @@ -765,31 +855,2420 @@ async def update( content_type=content_type, json=_json, content=_content, - template_url=self.update.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + if response.status_code not in [200, 202]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("SqlServerInstance", pipeline_response) + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: _models.SqlServerInstanceTelemetryRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Required. + :type sql_server_instance_telemetry_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceTelemetryResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Required. + :type sql_server_instance_telemetry_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceTelemetryResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Is either a SqlServerInstanceTelemetryRequest type or a IO[bytes] type. + Required. + :type sql_server_instance_telemetry_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest or IO[bytes] + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceTelemetryResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :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[_models.SqlServerInstanceTelemetryResponse] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): + _content = sql_server_instance_telemetry_request + else: + _json = self._serialize.body(sql_server_instance_telemetry_request, "SqlServerInstanceTelemetryRequest") + + def prepare_request(next_link=None): + if not next_link: + + _request = build_get_telemetry_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerInstanceTelemetryResponse", pipeline_response.http_response) + list_of_elem = deserialized.rows + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + _request = prepare_request(next_link) - return deserialized + _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) - update.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } + return pipeline_response + + 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._get_telemetry_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_telemetry_request=sql_server_instance_telemetry_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + async def internal_get_next(next_link=None): + if next_link is None: + return pipeline_response + return await get_next(next_link) + + return AsyncItemPaged(internal_get_next, extract_data) + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[AsyncItemPaged[list[str]]].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[AsyncItemPaged[list[str]]]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _get_best_practices_assessment_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): + _content = sql_server_instance_bpa_request + else: + _json = self._serialize.body(sql_server_instance_bpa_request, "SqlServerInstanceBpaRequest") + + _request = build_get_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: _models.SqlServerInstanceBpaRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Required. + :type sql_server_instance_bpa_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceBpaResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Required. + :type sql_server_instance_bpa_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceBpaResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Is either a SqlServerInstanceBpaRequest type or a IO[bytes] type. Required. + :type sql_server_instance_bpa_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest or IO[bytes] + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceBpaResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :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[_models.SqlServerInstanceBpaResponse] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): + _content = sql_server_instance_bpa_request + else: + _json = self._serialize.body(sql_server_instance_bpa_request, "SqlServerInstanceBpaRequest") + + def prepare_request(next_link=None): + if not next_link: + + _request = build_get_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerInstanceBpaResponse", pipeline_response.http_response) + list_of_elem = deserialized.rows + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + 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._get_best_practices_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_bpa_request=sql_server_instance_bpa_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + async def internal_get_next(next_link=None): + if next_link is None: + return pipeline_response + return await get_next(next_link) + + return AsyncItemPaged(internal_get_next, extract_data) + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[AsyncItemPaged[list[str]]].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[AsyncItemPaged[list[str]]]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace_async + async def run_migration_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstanceRunMigrationAssessmentResponse: + """Runs migration assessment for SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstanceRunMigrationAssessmentResponse or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationAssessmentResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceRunMigrationAssessmentResponse] = kwargs.pop("cls", None) + + _request = build_run_migration_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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( + "SqlServerInstanceRunMigrationAssessmentResponse", pipeline_response.http_response + ) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _run_target_recommendation_job_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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)) + content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = ( + content_type or "application/json" if sql_server_instance_run_target_recommendation_job_request else None + ) + _json = None + _content = None + if isinstance(sql_server_instance_run_target_recommendation_job_request, (IOBase, bytes)): + _content = sql_server_instance_run_target_recommendation_job_request + else: + if sql_server_instance_run_target_recommendation_job_request is not None: + _json = self._serialize.body( + sql_server_instance_run_target_recommendation_job_request, + "SqlServerInstanceRunTargetRecommendationJobRequest", + ) + else: + _json = None + + _request = build_run_target_recommendation_job_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + _models.SqlServerInstanceRunTargetRecommendationJobRequest + ] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Is either a + SqlServerInstanceRunTargetRecommendationJobRequest type or a IO[bytes] type. Default value is + None. + :type sql_server_instance_run_target_recommendation_job_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest or IO[bytes] + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :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)) + content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None + cls: ClsType[_models.SqlServerInstanceRunTargetRecommendationJobResponse] = 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._run_target_recommendation_job_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_run_target_recommendation_job_request=sql_server_instance_run_target_recommendation_job_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceRunTargetRecommendationJobResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _get_target_recommendation_reports_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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)) + content_type = content_type if sql_server_instance_target_recommendation_reports_request else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = ( + content_type or "application/json" if sql_server_instance_target_recommendation_reports_request else None + ) + _json = None + _content = None + if isinstance(sql_server_instance_target_recommendation_reports_request, (IOBase, bytes)): + _content = sql_server_instance_target_recommendation_reports_request + else: + if sql_server_instance_target_recommendation_reports_request is not None: + _json = self._serialize.body( + sql_server_instance_target_recommendation_reports_request, + "SqlServerInstanceTargetRecommendationReportsRequest", + ) + else: + _json = None + + _request = build_get_target_recommendation_reports_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + _models.SqlServerInstanceTargetRecommendationReportsRequest + ] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Default value is None. + :type sql_server_instance_target_recommendation_reports_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Default value is None. + :type sql_server_instance_target_recommendation_reports_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Is either a + SqlServerInstanceTargetRecommendationReportsRequest type or a IO[bytes] type. Default value is + None. + :type sql_server_instance_target_recommendation_reports_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest or + IO[bytes] + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :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)) + content_type = content_type if sql_server_instance_target_recommendation_reports_request else None + cls: ClsType[_models.SqlServerInstanceTargetRecommendationReportsResponse] = 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._get_target_recommendation_reports_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_target_recommendation_reports_request=sql_server_instance_target_recommendation_reports_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceTargetRecommendationReportsResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _get_migration_readiness_report_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_get_migration_readiness_report_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_get_migration_readiness_report( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]: + """Retrieves the migration readiness report for the SQL Server instance. The report contains an + assessment of the instance's readiness for migration to Azure SQL targets. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceMigrationReadinessReportResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceMigrationReadinessReportResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceMigrationReadinessReportResponse] = 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._get_migration_readiness_report_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceMigrationReadinessReportResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace_async + async def run_best_practices_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstanceRunBestPracticesAssessmentResponse: + """The request to run SQL best practices assessment. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstanceRunBestPracticesAssessmentResponse or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = kwargs.pop("cls", None) + + _request = build_run_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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( + "SqlServerInstanceRunBestPracticesAssessmentResponse", pipeline_response.http_response + ) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _run_best_practice_assessment_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_run_best_practice_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_run_best_practice_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]: + """The request to run SQL best practices assessment asynchronously. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceRunBestPracticesAssessmentResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = 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._run_best_practice_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceRunBestPracticesAssessmentResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _run_migration_readiness_assessment_initial( # pylint: disable=name-too-long + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_run_migration_readiness_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_run_migration_readiness_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]: + """The request to run migration readiness assessment asynchronously. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceRunMigrationReadinessAssessmentResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] = 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._run_migration_readiness_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceRunMigrationReadinessAssessmentResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[ + _models.SqlServerInstanceRunMigrationReadinessAssessmentResponse + ].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + async def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[_models.SqlServerInstanceJobsStatusRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Default value is None. + :type sql_server_instance_jobs_status_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Default value is None. + :type sql_server_instance_jobs_status_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[ + Union[_models.SqlServerInstanceJobsStatusRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Is either a SqlServerInstanceJobsStatusRequest type or a IO[bytes] + type. Default value is None. + :type sql_server_instance_jobs_status_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest or IO[bytes] + :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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)) + content_type = content_type if sql_server_instance_jobs_status_request else None + cls: ClsType[_models.SqlServerInstanceJobsStatusResponse] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if sql_server_instance_jobs_status_request else None + _json = None + _content = None + if isinstance(sql_server_instance_jobs_status_request, (IOBase, bytes)): + _content = sql_server_instance_jobs_status_request + else: + if sql_server_instance_jobs_status_request is not None: + _json = self._serialize.body( + sql_server_instance_jobs_status_request, "SqlServerInstanceJobsStatusRequest" + ) + else: + _json = None + + _request = build_get_jobs_status_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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("SqlServerInstanceJobsStatusResponse", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _get_jobs_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, IO[bytes]]] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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)) + content_type = content_type if sql_server_instance_jobs_request else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if sql_server_instance_jobs_request else None + _json = None + _content = None + if isinstance(sql_server_instance_jobs_request, (IOBase, bytes)): + _content = sql_server_instance_jobs_request + else: + if sql_server_instance_jobs_request is not None: + _json = self._serialize.body(sql_server_instance_jobs_request, "SqlServerInstanceJobsRequest") + else: + _json = None + + _request = build_get_jobs_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[_models.SqlServerInstanceJobsRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Default value is None. + :type sql_server_instance_jobs_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerInstanceJobsResponse or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Default value is None. + :type sql_server_instance_jobs_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either SqlServerInstanceJobsResponse or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, IO[bytes]]] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Is either a SqlServerInstanceJobsRequest type or a IO[bytes] type. Default + value is None. + :type sql_server_instance_jobs_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest or IO[bytes] + :return: An instance of AsyncLROPoller that returns either SqlServerInstanceJobsResponse or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :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)) + content_type = content_type if sql_server_instance_jobs_request else None + cls: ClsType[_models.SqlServerInstanceJobsResponse] = 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._get_jobs_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_jobs_request=sql_server_instance_jobs_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerInstanceJobsResponse", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstanceJobsResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceJobsResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace_async + async def pre_upgrade( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstance: + """Request Upgrade Permission before upgrading. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstance or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) + + _request = build_pre_upgrade_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerInstance", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def post_upgrade( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstance: + """Clean up after upgrading. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstance or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) + + _request = build_post_upgrade_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerInstance", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _run_managed_instance_link_assessment_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: Union[ + _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, IO[bytes] + ], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_instance_managed_instance_link_assessment_request, (IOBase, bytes)): + _content = sql_server_instance_managed_instance_link_assessment_request + else: + _json = self._serialize.body( + sql_server_instance_managed_instance_link_assessment_request, + "SqlServerInstanceManagedInstanceLinkAssessmentRequest", + ) + + _request = build_run_managed_instance_link_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Required. + :type sql_server_instance_managed_instance_link_assessment_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Required. + :type sql_server_instance_managed_instance_link_assessment_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: Union[ + _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, IO[bytes] + ], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Is either a + SqlServerInstanceManagedInstanceLinkAssessmentRequest type or a IO[bytes] type. Required. + :type sql_server_instance_managed_instance_link_assessment_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest or + IO[bytes] + :return: An instance of AsyncLROPoller that returns either + SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :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[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] = 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._run_managed_instance_link_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_managed_instance_link_assessment_request=sql_server_instance_managed_instance_link_assessment_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceManagedInstanceLinkAssessmentResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[ + _models.SqlServerInstanceManagedInstanceLinkAssessmentResponse + ].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[_models.AvailabilityGroupRetrievalFilters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Default value is None. + :type availability_group_retrieval_filters: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Default value is None. + :type availability_group_retrieval_filters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[ + Union[_models.AvailabilityGroupRetrievalFilters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Is either a AvailabilityGroupRetrievalFilters type + or a IO[bytes] type. Default value is None. + :type availability_group_retrieval_filters: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters or IO[bytes] + :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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)) + content_type = content_type if availability_group_retrieval_filters else None + cls: ClsType[_models.ArcSqlServerAvailabilityGroupListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" if availability_group_retrieval_filters else None + _json = None + _content = None + if isinstance(availability_group_retrieval_filters, (IOBase, bytes)): + _content = availability_group_retrieval_filters + else: + if availability_group_retrieval_filters is not None: + _json = self._serialize.body(availability_group_retrieval_filters, "AvailabilityGroupRetrievalFilters") + else: + _json = None + + def prepare_request(next_link=None): + if not next_link: + + _request = build_get_all_availability_groups_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ArcSqlServerAvailabilityGroupListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_licenses_operations.py new file mode 100644 index 000000000000..fb9a9a5ecab5 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_licenses_operations.py @@ -0,0 +1,609 @@ +# 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 collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Optional, TypeVar, Union, overload +import urllib.parse + +from azure.core import AsyncPipelineClient +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.core.tracing.decorator import distributed_trace +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 ..._utils.serialization import Deserializer, Serializer +from ...operations._sql_server_licenses_operations import ( + build_create_request, + build_delete_request, + build_get_request, + build_list_by_resource_group_request, + build_list_request, + build_update_request, +) +from .._configuration import AzureArcDataManagementClientConfiguration + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +List = list + + +class SqlServerLicensesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s + :attr:`sql_server_licenses` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlServerLicense"]: + """List sqlServerLicense resources in the subscription. + + List sqlServerLicense resources in the subscription. + + :return: An iterator like instance of either SqlServerLicense or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerLicenseListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerLicenseListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerLicense"]: + """List sqlServerLicense resources in the resource group. + + Gets all sqlServerLicenses in a resource group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :return: An iterator like instance of either SqlServerLicense or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerLicenseListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerLicenseListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any + ) -> _models.SqlServerLicense: + """Retrieves a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerLicense] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: _models.SqlServerLicense, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Required. + :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Required. + :type sql_server_license: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: Union[_models.SqlServerLicense, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Is either a + SqlServerLicense type or a IO[bytes] type. Required. + :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense or IO[bytes] + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_license, (IOBase, bytes)): + _content = sql_server_license + else: + _json = self._serialize.body(sql_server_license, "SqlServerLicense") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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, 201]: + 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("SqlServerLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def delete(self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any) -> None: + """Deletes a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :return: None or the result of cls(response) + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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, 204]: + 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) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @overload + async def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: _models.SqlServerLicenseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: Union[_models.SqlServerLicenseUpdate, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Is either a SqlServerLicenseUpdate type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate or IO[bytes] + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerLicense] = 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, "SqlServerLicenseUpdate") + + _request = build_update_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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("SqlServerLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py index 1b63e4fb2b7e..e57114e931a6 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py @@ -5,73 +5,261 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +# pylint: disable=wrong-import-position -from ._models_py3 import ActiveDirectoryConnectorDNSDetails -from ._models_py3 import ActiveDirectoryConnectorDomainDetails -from ._models_py3 import ActiveDirectoryConnectorListResult -from ._models_py3 import ActiveDirectoryConnectorProperties -from ._models_py3 import ActiveDirectoryConnectorResource -from ._models_py3 import ActiveDirectoryConnectorSpec -from ._models_py3 import ActiveDirectoryConnectorStatus -from ._models_py3 import ActiveDirectoryDomainController -from ._models_py3 import ActiveDirectoryDomainControllers -from ._models_py3 import ActiveDirectoryInformation -from ._models_py3 import BasicLoginInformation -from ._models_py3 import CommonSku -from ._models_py3 import DataControllerProperties -from ._models_py3 import DataControllerResource -from ._models_py3 import DataControllerUpdate -from ._models_py3 import ErrorResponse -from ._models_py3 import ErrorResponseBody -from ._models_py3 import ExtendedLocation -from ._models_py3 import K8SResourceRequirements -from ._models_py3 import K8SScheduling -from ._models_py3 import K8SSchedulingOptions -from ._models_py3 import KeytabInformation -from ._models_py3 import LogAnalyticsWorkspaceConfig -from ._models_py3 import OnPremiseProperty -from ._models_py3 import Operation -from ._models_py3 import OperationDisplay -from ._models_py3 import OperationListResult -from ._models_py3 import PageOfDataControllerResource -from ._models_py3 import PostgresInstance -from ._models_py3 import PostgresInstanceListResult -from ._models_py3 import PostgresInstanceProperties -from ._models_py3 import PostgresInstanceSku -from ._models_py3 import PostgresInstanceUpdate -from ._models_py3 import ProxyResource -from ._models_py3 import Resource -from ._models_py3 import SqlManagedInstance -from ._models_py3 import SqlManagedInstanceK8SRaw -from ._models_py3 import SqlManagedInstanceK8SSpec -from ._models_py3 import SqlManagedInstanceListResult -from ._models_py3 import SqlManagedInstanceProperties -from ._models_py3 import SqlManagedInstanceSku -from ._models_py3 import SqlManagedInstanceUpdate -from ._models_py3 import SqlServerInstance -from ._models_py3 import SqlServerInstanceListResult -from ._models_py3 import SqlServerInstanceProperties -from ._models_py3 import SqlServerInstanceUpdate -from ._models_py3 import SystemData -from ._models_py3 import TrackedResource -from ._models_py3 import UploadServicePrincipal -from ._models_py3 import UploadWatermark +from typing import TYPE_CHECKING -from ._azure_arc_data_management_client_enums import AccountProvisioningMode -from ._azure_arc_data_management_client_enums import ArcSqlManagedInstanceLicenseType -from ._azure_arc_data_management_client_enums import ArcSqlServerLicenseType -from ._azure_arc_data_management_client_enums import ConnectionStatus -from ._azure_arc_data_management_client_enums import CreatedByType -from ._azure_arc_data_management_client_enums import DefenderStatus -from ._azure_arc_data_management_client_enums import EditionType -from ._azure_arc_data_management_client_enums import ExtendedLocationTypes -from ._azure_arc_data_management_client_enums import HostType -from ._azure_arc_data_management_client_enums import Infrastructure -from ._azure_arc_data_management_client_enums import OperationOrigin -from ._azure_arc_data_management_client_enums import SqlManagedInstanceSkuTier -from ._azure_arc_data_management_client_enums import SqlVersion +if TYPE_CHECKING: + from ._patch import * # pylint: disable=unused-wildcard-import + + +from ._models_py3 import ( # type: ignore + ActiveDirectoryConnectorDNSDetails, + ActiveDirectoryConnectorDomainDetails, + ActiveDirectoryConnectorListResult, + ActiveDirectoryConnectorProperties, + ActiveDirectoryConnectorResource, + ActiveDirectoryConnectorSpec, + ActiveDirectoryConnectorStatus, + ActiveDirectoryDomainController, + ActiveDirectoryDomainControllers, + ActiveDirectoryInformation, + AdditionalMigrationJobAttributes, + ArcSqlServerAvailabilityGroupListResult, + ArcSqlServerDatabaseListResult, + Authentication, + AvailabilityGroupConfigure, + AvailabilityGroupCreateUpdateConfiguration, + AvailabilityGroupCreateUpdateReplicaConfiguration, + AvailabilityGroupInfo, + AvailabilityGroupRetrievalFilters, + AvailabilityGroupState, + BackgroundJob, + BackupPolicy, + BasicLoginInformation, + BestPracticesAssessment, + ClientConnection, + CommonSku, + CostOptionSelectedValues, + CostTypeValues, + CronTrigger, + DBMEndpoint, + DataBaseMigration, + DataBaseMigrationAssessment, + DataControllerProperties, + DataControllerResource, + DataControllerUpdate, + DatabaseAssessmentsItem, + DatabaseMigrationJobsItem, + Databases, + DiskSizes, + DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration, + DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration, + DistributedAvailabilityGroupCreateUpdateConfiguration, + EntraAuthentication, + ErrorAdditionalInfo, + ErrorDetail, + ErrorResponse, + ExtendedLocation, + FailoverCluster, + FailoverGroupListResult, + FailoverGroupProperties, + FailoverGroupResource, + FailoverGroupSpec, + FailoverMiLinkResourceId, + HostIPAddressInformation, + ImpactedObjectsInfo, + ImpactedObjectsSuitabilitySummary, + K8SActiveDirectory, + K8SActiveDirectoryConnector, + K8SNetworkSettings, + K8SResourceRequirements, + K8SScheduling, + K8SSchedulingOptions, + K8SSecurity, + K8SSettings, + K8StransparentDataEncryption, + KeytabInformation, + LogAnalyticsWorkspaceConfig, + ManagedInstanceLinkCreateUpdateConfiguration, + MiLinkCreateUpdateConfiguration, + Migration, + MigrationAssessment, + MigrationAssessmentSettings, + Monitoring, + OnPremiseProperty, + Operation, + OperationDisplay, + OperationListResult, + PageOfDataControllerResource, + PostgresInstance, + PostgresInstanceListResult, + PostgresInstanceProperties, + PostgresInstanceSku, + PostgresInstanceUpdate, + ProxyResource, + Resource, + ResourceAutoGenerated, + Schedule, + SequencerAction, + ServerAssessmentsItem, + ServerAssessmentsPropertiesItemsItem, + SkuRecommendationResults, + SkuRecommendationResultsAzureSqlDatabase, + SkuRecommendationResultsAzureSqlDatabaseTargetSku, + SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory, + SkuRecommendationResultsAzureSqlManagedInstance, + SkuRecommendationResultsAzureSqlManagedInstanceTargetSku, + SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory, + SkuRecommendationResultsAzureSqlVirtualMachine, + SkuRecommendationResultsAzureSqlVirtualMachineTargetSku, + SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory, + SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize, + SkuRecommendationResultsMonthlyCost, + SkuRecommendationResultsMonthlyCostOptionItem, + SkuRecommendationSummary, + SkuRecommendationSummaryTargetSku, + SkuRecommendationSummaryTargetSkuCategory, + SqlAvailabilityGroupDatabaseReplicaResourceProperties, + SqlAvailabilityGroupDhcpListenerProperties, + SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem, + SqlAvailabilityGroupReplicaResourceProperties, + SqlAvailabilityGroupStaticIPListenerProperties, + SqlManagedInstance, + SqlManagedInstanceK8SRaw, + SqlManagedInstanceK8SSpec, + SqlManagedInstanceListResult, + SqlManagedInstanceProperties, + SqlManagedInstanceSku, + SqlManagedInstanceUpdate, + SqlServerAvailabilityGroupResource, + SqlServerAvailabilityGroupResourceProperties, + SqlServerAvailabilityGroupResourcePropertiesDatabases, + SqlServerAvailabilityGroupResourcePropertiesReplicas, + SqlServerAvailabilityGroupUpdate, + SqlServerDatabaseResource, + SqlServerDatabaseResourceProperties, + SqlServerDatabaseResourcePropertiesBackupInformation, + SqlServerDatabaseResourcePropertiesDatabaseOptions, + SqlServerDatabaseUpdate, + SqlServerEsuLicense, + SqlServerEsuLicenseListResult, + SqlServerEsuLicenseProperties, + SqlServerEsuLicenseUpdate, + SqlServerEsuLicenseUpdateProperties, + SqlServerInstance, + SqlServerInstanceBpaColumn, + SqlServerInstanceBpaRequest, + SqlServerInstanceBpaResponse, + SqlServerInstanceJob, + SqlServerInstanceJobStatus, + SqlServerInstanceJobsRequest, + SqlServerInstanceJobsResponse, + SqlServerInstanceJobsStatusRequest, + SqlServerInstanceJobsStatusResponse, + SqlServerInstanceListResult, + SqlServerInstanceManagedInstanceLinkAssessment, + SqlServerInstanceManagedInstanceLinkAssessmentRequest, + SqlServerInstanceManagedInstanceLinkAssessmentResponse, + SqlServerInstanceMigrationReadinessReportResponse, + SqlServerInstanceProperties, + SqlServerInstanceRunBestPracticesAssessmentResponse, + SqlServerInstanceRunMigrationAssessmentResponse, + SqlServerInstanceRunMigrationReadinessAssessmentResponse, + SqlServerInstanceRunTargetRecommendationJobRequest, + SqlServerInstanceRunTargetRecommendationJobResponse, + SqlServerInstanceTargetRecommendationReport, + SqlServerInstanceTargetRecommendationReportSection, + SqlServerInstanceTargetRecommendationReportsRequest, + SqlServerInstanceTargetRecommendationReportsResponse, + SqlServerInstanceTelemetryColumn, + SqlServerInstanceTelemetryRequest, + SqlServerInstanceTelemetryResponse, + SqlServerInstanceUpdate, + SqlServerInstanceUpdateProperties, + SqlServerLicense, + SqlServerLicenseListResult, + SqlServerLicenseProperties, + SqlServerLicenseUpdate, + SqlServerLicenseUpdateProperties, + SystemData, + TargetReadiness, + TrackedResource, + TrackedResourceAutoGenerated, + UploadServicePrincipal, + UploadWatermark, +) + +from ._azure_arc_data_management_client_enums import ( # type: ignore + AccountProvisioningMode, + ActivationState, + AggregationType, + AlwaysOnRole, + ArcSqlManagedInstanceLicenseType, + ArcSqlServerAvailabilityGroupTypeFilter, + ArcSqlServerAvailabilityMode, + ArcSqlServerFailoverMode, + ArcSqlServerLicenseType, + AssessmentStatus, + AutomatedBackupPreference, + AzureManagedInstanceRole, + BillingPlan, + ClusterType, + ConnectionAuth, + ConnectionStatus, + CreatedByType, + DatabaseCreateMode, + DatabaseState, + DbFailover, + DefenderStatus, + DifferentialBackupHours, + DiscoverySource, + DtcSupport, + EditionType, + EncryptionAlgorithm, + ExecutionState, + ExtendedLocationTypes, + FailoverGroupPartnerSyncMode, + FailureConditionLevel, + HostType, + IdentityType, + Infrastructure, + InitiatedFrom, + InstanceFailoverGroupRole, + JobStatus, + LastExecutionStatus, + LicenseCategory, + MiLinkAssessmentCategory, + MigrationMode, + MigrationStatus, + Mode, + OperationOrigin, + PrimaryAllowConnections, + ProvisioningState, + RecommendationStatus, + RecoveryMode, + ReplicationPartnerType, + ResourceUpdateMode, + Result, + Role, + ScopeType, + SecondaryAllowConnections, + SeedingMode, + SequencerState, + ServiceType, + SqlManagedInstanceSkuTier, + SqlServerInstanceBpaColumnType, + SqlServerInstanceBpaQueryType, + SqlServerInstanceBpaReportType, + SqlServerInstanceTargetRecommendationReportSectionType, + SqlServerInstanceTelemetryColumnType, + SqlVersion, + State, + TargetType, + Version, +) from ._patch import __all__ as _patch_all -from ._patch import * # pylint: disable=unused-wildcard-import +from ._patch import * from ._patch import patch_sdk as _patch_sdk __all__ = [ @@ -85,19 +273,69 @@ "ActiveDirectoryDomainController", "ActiveDirectoryDomainControllers", "ActiveDirectoryInformation", + "AdditionalMigrationJobAttributes", + "ArcSqlServerAvailabilityGroupListResult", + "ArcSqlServerDatabaseListResult", + "Authentication", + "AvailabilityGroupConfigure", + "AvailabilityGroupCreateUpdateConfiguration", + "AvailabilityGroupCreateUpdateReplicaConfiguration", + "AvailabilityGroupInfo", + "AvailabilityGroupRetrievalFilters", + "AvailabilityGroupState", + "BackgroundJob", + "BackupPolicy", "BasicLoginInformation", + "BestPracticesAssessment", + "ClientConnection", "CommonSku", + "CostOptionSelectedValues", + "CostTypeValues", + "CronTrigger", + "DBMEndpoint", + "DataBaseMigration", + "DataBaseMigrationAssessment", "DataControllerProperties", "DataControllerResource", "DataControllerUpdate", + "DatabaseAssessmentsItem", + "DatabaseMigrationJobsItem", + "Databases", + "DiskSizes", + "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration", + "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration", + "DistributedAvailabilityGroupCreateUpdateConfiguration", + "EntraAuthentication", + "ErrorAdditionalInfo", + "ErrorDetail", "ErrorResponse", - "ErrorResponseBody", "ExtendedLocation", + "FailoverCluster", + "FailoverGroupListResult", + "FailoverGroupProperties", + "FailoverGroupResource", + "FailoverGroupSpec", + "FailoverMiLinkResourceId", + "HostIPAddressInformation", + "ImpactedObjectsInfo", + "ImpactedObjectsSuitabilitySummary", + "K8SActiveDirectory", + "K8SActiveDirectoryConnector", + "K8SNetworkSettings", "K8SResourceRequirements", "K8SScheduling", "K8SSchedulingOptions", + "K8SSecurity", + "K8SSettings", + "K8StransparentDataEncryption", "KeytabInformation", "LogAnalyticsWorkspaceConfig", + "ManagedInstanceLinkCreateUpdateConfiguration", + "MiLinkCreateUpdateConfiguration", + "Migration", + "MigrationAssessment", + "MigrationAssessmentSettings", + "Monitoring", "OnPremiseProperty", "Operation", "OperationDisplay", @@ -110,6 +348,32 @@ "PostgresInstanceUpdate", "ProxyResource", "Resource", + "ResourceAutoGenerated", + "Schedule", + "SequencerAction", + "ServerAssessmentsItem", + "ServerAssessmentsPropertiesItemsItem", + "SkuRecommendationResults", + "SkuRecommendationResultsAzureSqlDatabase", + "SkuRecommendationResultsAzureSqlDatabaseTargetSku", + "SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory", + "SkuRecommendationResultsAzureSqlManagedInstance", + "SkuRecommendationResultsAzureSqlManagedInstanceTargetSku", + "SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory", + "SkuRecommendationResultsAzureSqlVirtualMachine", + "SkuRecommendationResultsAzureSqlVirtualMachineTargetSku", + "SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory", + "SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize", + "SkuRecommendationResultsMonthlyCost", + "SkuRecommendationResultsMonthlyCostOptionItem", + "SkuRecommendationSummary", + "SkuRecommendationSummaryTargetSku", + "SkuRecommendationSummaryTargetSkuCategory", + "SqlAvailabilityGroupDatabaseReplicaResourceProperties", + "SqlAvailabilityGroupDhcpListenerProperties", + "SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem", + "SqlAvailabilityGroupReplicaResourceProperties", + "SqlAvailabilityGroupStaticIPListenerProperties", "SqlManagedInstance", "SqlManagedInstanceK8SRaw", "SqlManagedInstanceK8SSpec", @@ -117,27 +381,128 @@ "SqlManagedInstanceProperties", "SqlManagedInstanceSku", "SqlManagedInstanceUpdate", + "SqlServerAvailabilityGroupResource", + "SqlServerAvailabilityGroupResourceProperties", + "SqlServerAvailabilityGroupResourcePropertiesDatabases", + "SqlServerAvailabilityGroupResourcePropertiesReplicas", + "SqlServerAvailabilityGroupUpdate", + "SqlServerDatabaseResource", + "SqlServerDatabaseResourceProperties", + "SqlServerDatabaseResourcePropertiesBackupInformation", + "SqlServerDatabaseResourcePropertiesDatabaseOptions", + "SqlServerDatabaseUpdate", + "SqlServerEsuLicense", + "SqlServerEsuLicenseListResult", + "SqlServerEsuLicenseProperties", + "SqlServerEsuLicenseUpdate", + "SqlServerEsuLicenseUpdateProperties", "SqlServerInstance", + "SqlServerInstanceBpaColumn", + "SqlServerInstanceBpaRequest", + "SqlServerInstanceBpaResponse", + "SqlServerInstanceJob", + "SqlServerInstanceJobStatus", + "SqlServerInstanceJobsRequest", + "SqlServerInstanceJobsResponse", + "SqlServerInstanceJobsStatusRequest", + "SqlServerInstanceJobsStatusResponse", "SqlServerInstanceListResult", + "SqlServerInstanceManagedInstanceLinkAssessment", + "SqlServerInstanceManagedInstanceLinkAssessmentRequest", + "SqlServerInstanceManagedInstanceLinkAssessmentResponse", + "SqlServerInstanceMigrationReadinessReportResponse", "SqlServerInstanceProperties", + "SqlServerInstanceRunBestPracticesAssessmentResponse", + "SqlServerInstanceRunMigrationAssessmentResponse", + "SqlServerInstanceRunMigrationReadinessAssessmentResponse", + "SqlServerInstanceRunTargetRecommendationJobRequest", + "SqlServerInstanceRunTargetRecommendationJobResponse", + "SqlServerInstanceTargetRecommendationReport", + "SqlServerInstanceTargetRecommendationReportSection", + "SqlServerInstanceTargetRecommendationReportsRequest", + "SqlServerInstanceTargetRecommendationReportsResponse", + "SqlServerInstanceTelemetryColumn", + "SqlServerInstanceTelemetryRequest", + "SqlServerInstanceTelemetryResponse", "SqlServerInstanceUpdate", + "SqlServerInstanceUpdateProperties", + "SqlServerLicense", + "SqlServerLicenseListResult", + "SqlServerLicenseProperties", + "SqlServerLicenseUpdate", + "SqlServerLicenseUpdateProperties", "SystemData", + "TargetReadiness", "TrackedResource", + "TrackedResourceAutoGenerated", "UploadServicePrincipal", "UploadWatermark", "AccountProvisioningMode", + "ActivationState", + "AggregationType", + "AlwaysOnRole", "ArcSqlManagedInstanceLicenseType", + "ArcSqlServerAvailabilityGroupTypeFilter", + "ArcSqlServerAvailabilityMode", + "ArcSqlServerFailoverMode", "ArcSqlServerLicenseType", + "AssessmentStatus", + "AutomatedBackupPreference", + "AzureManagedInstanceRole", + "BillingPlan", + "ClusterType", + "ConnectionAuth", "ConnectionStatus", "CreatedByType", + "DatabaseCreateMode", + "DatabaseState", + "DbFailover", "DefenderStatus", + "DifferentialBackupHours", + "DiscoverySource", + "DtcSupport", "EditionType", + "EncryptionAlgorithm", + "ExecutionState", "ExtendedLocationTypes", + "FailoverGroupPartnerSyncMode", + "FailureConditionLevel", "HostType", + "IdentityType", "Infrastructure", + "InitiatedFrom", + "InstanceFailoverGroupRole", + "JobStatus", + "LastExecutionStatus", + "LicenseCategory", + "MiLinkAssessmentCategory", + "MigrationMode", + "MigrationStatus", + "Mode", "OperationOrigin", + "PrimaryAllowConnections", + "ProvisioningState", + "RecommendationStatus", + "RecoveryMode", + "ReplicationPartnerType", + "ResourceUpdateMode", + "Result", + "Role", + "ScopeType", + "SecondaryAllowConnections", + "SeedingMode", + "SequencerState", + "ServiceType", "SqlManagedInstanceSkuTier", + "SqlServerInstanceBpaColumnType", + "SqlServerInstanceBpaQueryType", + "SqlServerInstanceBpaReportType", + "SqlServerInstanceTargetRecommendationReportSectionType", + "SqlServerInstanceTelemetryColumnType", "SqlVersion", + "State", + "TargetType", + "Version", ] -__all__.extend([p for p in _patch_all if p not in __all__]) +__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore _patch_sdk() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_azure_arc_data_management_client_enums.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_azure_arc_data_management_client_enums.py index 8133d9dc267d..16dfeeeb8081 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_azure_arc_data_management_client_enums.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_azure_arc_data_management_client_enums.py @@ -17,6 +17,32 @@ class AccountProvisioningMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): MANUAL = "manual" +class ActivationState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The activation state of the license.""" + + ACTIVATED = "Activated" + DEACTIVATED = "Deactivated" + + +class AggregationType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The aggregation type to use for the numerical columns in the dataset.""" + + AVERAGE = "Average" + MINIMUM = "Minimum" + MAXIMUM = "Maximum" + SUM = "Sum" + COUNT = "Count" + + +class AlwaysOnRole(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The role of the SQL Server, based on availability.""" + + NONE = "None" + FAILOVER_CLUSTER_INSTANCE = "FailoverClusterInstance" + FAILOVER_CLUSTER_NODE = "FailoverClusterNode" + AVAILABILITY_GROUP_REPLICA = "AvailabilityGroupReplica" + + class ArcSqlManagedInstanceLicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The license type to apply for this managed instance.""" @@ -25,6 +51,35 @@ class ArcSqlManagedInstanceLicenseType(str, Enum, metaclass=CaseInsensitiveEnumM DISASTER_RECOVERY = "DisasterRecovery" +class ArcSqlServerAvailabilityGroupTypeFilter(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Filter retrieval based on availability group type.""" + + CONTAINED = "CONTAINED" + """Contained Availability Group (CAG).""" + DISTRIBUTED = "DISTRIBUTED" + """Distributed Availability Group (DAG)""" + DEFAULT = "DEFAULT" + """Default standard availability group that is not contained or distributed.""" + + +class ArcSqlServerAvailabilityMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Property that determines whether a given availability replica can run in synchronous-commit + mode. + """ + + SYNCHRONOUS_COMMIT = "SYNCHRONOUS_COMMIT" + ASYNCHRONOUS_COMMIT = "ASYNCHRONOUS_COMMIT" + + +class ArcSqlServerFailoverMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Property to set the failover mode of the availability group replica.""" + + AUTOMATIC = "AUTOMATIC" + MANUAL = "MANUAL" + EXTERNAL = "EXTERNAL" + NONE = "NONE" + + class ArcSqlServerLicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """SQL Server license type.""" @@ -35,6 +90,62 @@ class ArcSqlServerLicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta): LICENSE_ONLY = "LicenseOnly" PAYG = "PAYG" PAID = "Paid" + FABRIC_CAPACITY = "FabricCapacity" + + +class AssessmentStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The status of the requirement.""" + + SUCCESS = "Success" + WARNING = "Warning" + FAILURE = "Failure" + + +class AutomatedBackupPreference(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Preferred replica for running automated backups.""" + + PRIMARY = "PRIMARY" + SECONDARY_ONLY = "SECONDARY_ONLY" + SECONDARY = "SECONDARY" + NONE = "NONE" + + +class AzureManagedInstanceRole(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The role of managed instance in a distributed availability group, can be Primary or Secondary.""" + + PRIMARY = "Primary" + SECONDARY = "Secondary" + + +class BillingPlan(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """SQL Server ESU license type.""" + + PAYG = "PAYG" + PAID = "Paid" + + +class ClusterType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Set to WSFC when availability group is on a failover cluster instance on a Windows Server + failover cluster. Set to NONE when availability group not using WSFC for cluster coordination. + """ + + WSFC = "WSFC" + NONE = "NONE" + + +class ConnectionAuth(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The endpoint connection authentication type(s).""" + + WINDOWS_NTLM = "Windows_NTLM" + WINDOWS_KERBEROS = "Windows_Kerberos" + WINDOWS_NEGOTIATE = "Windows_Negotiate" + CERTIFICATE = "Certificate" + WINDOWS_NTLM_CERTIFICATE = "Windows_NTLM_Certificate" + WINDOWS_KERBEROS_CERTIFICATE = "Windows_Kerberos_Certificate" + WINDOWS_NEGOTIATE_CERTIFICATE = "Windows_Negotiate_Certificate" + CERTIFICATE_WINDOWS_NTLM = "Certificate_Windows_NTLM" + CERTIFICATE_WINDOWS_KERBEROS = "Certificate_Windows_Kerberos" + CERTIFICATE_WINDOWS_NEGOTIATE = "Certificate_Windows_Negotiate" class ConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -43,6 +154,7 @@ class ConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): CONNECTED = "Connected" DISCONNECTED = "Disconnected" REGISTERED = "Registered" + DISCOVERED = "Discovered" UNKNOWN = "Unknown" @@ -55,6 +167,36 @@ class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta): KEY = "Key" +class DatabaseCreateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Database create mode. PointInTimeRestore: Create a database by restoring a point in time backup + of an existing database. sourceDatabaseId and restorePointInTime must be specified. + """ + + DEFAULT = "Default" + POINT_IN_TIME_RESTORE = "PointInTimeRestore" + + +class DatabaseState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """State of the database.""" + + ONLINE = "Online" + RESTORING = "Restoring" + RECOVERING = "Recovering" + RECOVERY_PENDING = "RecoveryPending" + SUSPECT = "Suspect" + EMERGENCY = "Emergency" + OFFLINE = "Offline" + COPYING = "Copying" + OFFLINE_SECONDARY = "OfflineSecondary" + + +class DbFailover(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Specifies whether the availability group supports failover for database health conditions.""" + + ON = "ON" + OFF = "OFF" + + class DefenderStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Status of Azure Defender.""" @@ -63,6 +205,49 @@ class DefenderStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): UNKNOWN = "Unknown" +class DifferentialBackupHours(int, Enum, metaclass=CaseInsensitiveEnumMeta): + """The differential backup interval in hours.""" + + TWELVE = 12 + TWENTY_FOUR = 24 + + +class DiscoverySource(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Indicates the discovery agent or client for this instance.""" + + AZURE_ARC = "Azure Arc" + """Instance is discovered by Azure Arc enabled agent/extensions.""" + AZURE_MIGRATE = "Azure Migrate" + """Instance is discovered by Azure Migrate agent.""" + ADS = "ADS" + """Instance is discovered/registered from Azure Data Studio (ADS).""" + SSMS = "SSMS" + """Instance is discovered/registered from SQL Server Management Studio (SSMS).""" + SSMA = "SSMA" + """Instance is discovered/registered from SQL Server Migration Assistant (SSMA).""" + IMPORT = "Import" + """Instance is registered via Import.""" + DMS_PORTAL = "DMS-Portal" + """Instance is discovered/registered from Azure Database Migration Service(DMS) Azure Portal.""" + DMS_PS = "DMS-PS" + """Instance is discovered/registered from DMS using PowerShell - Azure DataMigration Service + Module.""" + DMS_CLI = "DMS-CLI" + """Instance is discovered/registered from DMS using datamigration extension for the Azure CLI""" + DMS_SDK = "DMS-SDK" + """Instance is discovered/registered from Azure Database Migration Service SDK like Python or .NET + SDKs.""" + OTHER = "Other" + """Instance is discovered/registered from any other source not listed above.""" + + +class DtcSupport(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Specifies whether DTC support has been enabled for this availability group.""" + + PER_DB = "PER_DB" + NONE = "NONE" + + class EditionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """SQL Server edition.""" @@ -72,6 +257,30 @@ class EditionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): WEB = "Web" DEVELOPER = "Developer" EXPRESS = "Express" + BUSINESS_INTELLIGENCE = "Business Intelligence" + STANDARD_DEVELOPER = "Standard Developer" + UNKNOWN = "Unknown" + + +class EncryptionAlgorithm(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The encryption algorithm(s) used by the endpoint.""" + + NONE = "NONE" + RC4 = "RC4" + AES = "AES" + NONE_RC4 = "NONE, RC4" + NONE_AES = "NONE, AES" + RC4_AES = "RC4, AES" + AES_RC4 = "AES, RC4" + NONE_RC4_AES = "NONE, RC4, AES" + NONE_AES_RC4 = "NONE, AES, RC4" + + +class ExecutionState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The execution state of the background job.""" + + WAITING = "Waiting" + RUNNING = "Running" class ExtendedLocationTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -80,6 +289,23 @@ class ExtendedLocationTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): CUSTOM_LOCATION = "CustomLocation" +class FailoverGroupPartnerSyncMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The partner sync mode of the SQL managed instance.""" + + ASYNC = "async" + SYNC = "sync" + + +class FailureConditionLevel(int, Enum, metaclass=CaseInsensitiveEnumMeta): + """User-defined failure condition level under which an automatic failover must be triggered.""" + + ONE = 1 + TWO = 2 + THREE = 3 + FOUR = 4 + FIVE = 5 + + class HostType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Type of host for Azure Arc SQL Server.""" @@ -95,9 +321,19 @@ class HostType(str, Enum, metaclass=CaseInsensitiveEnumMeta): PHYSICAL_SERVER = "Physical Server" AWS_VIRTUAL_MACHINE = "AWS Virtual Machine" GCP_VIRTUAL_MACHINE = "GCP Virtual Machine" + HYPER_V_VIRTUAL_MACHINE = "Hyper-V Virtual Machine" OTHER = "Other" +class IdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The method used for Entra authentication.""" + + SYSTEM_ASSIGNED_MANAGED_IDENTITY = "SystemAssignedManagedIdentity" + """System Assigned Managed Identity""" + USER_ASSIGNED_MANAGED_IDENTITY = "UserAssignedManagedIdentity" + """User Assigned Managed Identity""" + + class Infrastructure(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The infrastructure the data controller is running on.""" @@ -109,6 +345,135 @@ class Infrastructure(str, Enum, metaclass=CaseInsensitiveEnumMeta): OTHER = "other" +class InitiatedFrom(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """To indicate the client from which the migration is initiated from e.g. Azure Arc, DMS-Azure + Portal/PS/CLI for additional tracking. + """ + + AZURE_ARC = "Azure Arc" + """Migration is initiated from Azure Arc enabled clients.""" + ADS = "ADS" + """Migration is initiated from Azure Data Studio (ADS).""" + SSMS = "SSMS" + """Migration is initiated from SQL Server Management Studio (SSMS).""" + SSMA = "SSMA" + """Migration is initiated from SQL Server Migration Assistant (SSMA).""" + DMS_PORTAL = "DMS-Portal" + """Migration is initiated from Azure Database Migration Service(DMS) Azure Portal.""" + DMS_PS = "DMS-PS" + """Migration is initiated from DMS using PowerShell - Azure DataMigration Service Module.""" + DMS_CLI = "DMS-CLI" + """Migration is initiated from DMS using datamigration extension for the Azure CLI""" + DMS_SDK = "DMS-SDK" + """Migration is initiated from Azure Database Migration Service SDK like Python or .NET SDKs.""" + OTHER = "Other" + """Migration is initiated from any other client not listed above.""" + + +class InstanceFailoverGroupRole(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The role of the SQL managed instance in this failover group.""" + + PRIMARY = "primary" + SECONDARY = "secondary" + FORCE_PRIMARY_ALLOW_DATA_LOSS = "force-primary-allow-data-loss" + FORCE_SECONDARY = "force-secondary" + + +class JobStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Represents the current status of the target recommendation job.""" + + NOT_STARTED = "NotStarted" + IN_PROGRESS = "InProgress" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + + +class LastExecutionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The last execution status of the background job.""" + + SUCCEEDED = "Succeeded" + COMPLETED = "Completed" + FAILED = "Failed" + FAULTED = "Faulted" + POSTPONED = "Postponed" + RESCHEDULED = "Rescheduled" + + +class LicenseCategory(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """This property represents the choice between SQL Server Core and ESU licenses.""" + + CORE = "Core" + + +class MigrationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Mode/type of migration.""" + + LOG_SHIPPING = "LogShipping" + """Migration based on log-shipping technology like LRS (Log Replay Service).""" + MI_LINK = "MILink" + """Migration using managed instance link (MILink) that utilizes Always On availability group + technology.""" + LOGICAL = "Logical" + """Logical migration refers to moving data at the logical level (schema and rows) rather than + transferring physical database files or backups. Examples include migrating to Azure SQL + Database, which does not support physical restore.""" + OTHER = "Other" + """Other mode of migration not listed currently.""" + UNKNOWN = "Unknown" + """Mode of migration is not known.""" + + +class MigrationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Status of the migration job.""" + + NOT_STARTED = "NotStarted" + IN_PROGRESS = "InProgress" + IN_PROGRESS_WITH_WARNINGS = "InProgressWithWarnings" + CANCELLED = "Cancelled" + FAILED = "Failed" + SUCCESSFUL = "Successful" + UNKNOWN = "Unknown" + + +class MiLinkAssessmentCategory(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Validation category for the MI Link prerequisites assessment.""" + + SQL_INSTANCE = "SqlInstance" + """Assessments of the given instance on the on-premise SQL Server (box).""" + SQL_INSTANCE_DATABASE = "SqlInstanceDatabase" + """Assessments of the database(s) on the given instance on the on-premise SQL Server (box).""" + MANAGED_INSTANCE = "ManagedInstance" + """Assessments of the Managed Instance.""" + MANAGED_INSTANCE_DATABASE = "ManagedInstanceDatabase" + """Assessments of the database(s) on the Managed Instance.""" + MANAGED_INSTANCE_CROSS_VALIDATION = "ManagedInstanceCrossValidation" + """Assessments that use data from both the Managed Instance and the given instance of the + on-premise SQL Server (box) for the validations.""" + CERTIFICATES = "Certificates" + """Assessments of the necessary certificates configuration.""" + BOX_TO_MI_NETWORK_CONNECTIVITY = "BoxToMiNetworkConnectivity" + """Assessment of network connectivity from the on-premise SQL Server (box) to the Managed + Instance.""" + MI_TO_BOX_NETWORK_CONNECTIVITY = "MiToBoxNetworkConnectivity" + """Assessments of network connectivity from the Managed Instance to the on-premise SQL Server + (box).""" + DAG_CROSS_VALIDATION = "DagCrossValidation" + """Assessments of the chosen Distributed Availability Group.""" + SQL_INSTANCE_AG = "SqlInstanceAg" + """Assessments of the chosen Availability Group.""" + + +class Mode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Mode of authentication in SqlServer.""" + + MIXED = "Mixed" + """Mixed mode authentication for SQL Server which includes windows and SQL Authentication.""" + WINDOWS = "Windows" + """Windows Authentication for SQL Server.""" + UNDEFINED = "Undefined" + """Used for scenarios were the mode cannot be determined.""" + + class OperationOrigin(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The intended executor of the operation.""" @@ -116,6 +481,139 @@ class OperationOrigin(str, Enum, metaclass=CaseInsensitiveEnumMeta): SYSTEM = "system" +class PrimaryAllowConnections(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Whether the primary replica should allow all connections or only READ_WRITE connections + (disallowing ReadOnly connections). + """ + + ALL = "ALL" + READ_WRITE = "READ_WRITE" + + +class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The provisioning state of the failover group resource.""" + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + ACCEPTED = "Accepted" + + +class RecommendationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The target recommendation Status for this database.""" + + NOT_READY = "NotReady" + READY = "Ready" + READY_WITH_CONDITIONS = "ReadyWithConditions" + UNKNOWN = "Unknown" + + +class RecoveryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Status of the database.""" + + FULL = "Full" + BULK_LOGGED = "Bulk-logged" + SIMPLE = "Simple" + + +class ReplicationPartnerType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """ReplicationPartnerType.""" + + SQL_SERVER = "SQLServer" + AZURE_SQLVM = "AzureSQLVM" + AZURE_SQL_MANAGED_INSTANCE = "AzureSQLManagedInstance" + UNKNOWN = "Unknown" + + +class ResourceUpdateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Controls whether the SQL Server instance resource is updated with the target recommendation + details after the job completes. + """ + + UPDATE_ALL_TARGET_RECOMMENDATION_DETAILS = "UpdateAllTargetRecommendationDetails" + """Update the SQL Server instance resource with all target recommendation details, including SKU + recommendations and cost estimates, upon job completion.""" + SKIP_RESOURCE_UPDATE = "SkipResourceUpdate" + """Do not update the SQL Server instance resource. The target recommendation results will only be + available via the GetTargetRecommendationReports API.""" + + +class Result(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The result of the sequencer action.""" + + NOT_COMPLETED = "NotCompleted" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + TIMED_OUT = "TimedOut" + SKIPPED = "Skipped" + + +class Role(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Mirroring Role.""" + + NONE = "NONE" + PARTNER = "PARTNER" + WITNESS = "WITNESS" + ALL = "ALL" + + +class ScopeType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The Azure scope to which the license will apply.""" + + TENANT = "Tenant" + SUBSCRIPTION = "Subscription" + RESOURCE_GROUP = "ResourceGroup" + + +class SecondaryAllowConnections(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Whether the secondary replica should allow all connections, no connections, or only ReadOnly + connections. + """ + + NO = "NO" + ALL = "ALL" + READ_ONLY = "READ_ONLY" + + +class SeedingMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Specifies how the secondary replica will be initially seeded. AUTOMATIC enables direct seeding. + This method will seed the secondary replica over the network. This method does not require you + to backup and restore a copy of the primary database on the replica. MANUAL specifies manual + seeding (default). This method requires you to create a backup of the database on the primary + replica and manually restore that backup on the secondary replica. + """ + + AUTOMATIC = "AUTOMATIC" + MANUAL = "MANUAL" + + +class SequencerState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The state of the sequencer action.""" + + NOT_STARTED = "NotStarted" + WAITING_PREDECESSORS = "WaitingPredecessors" + EXECUTING_ACTION = "ExecutingAction" + CREATING_SUCCESSORS = "CreatingSuccessors" + COMPLETED = "Completed" + + +class ServiceType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Indicates if the resource represents a SQL Server engine or a SQL Server component service + installed on the host. + """ + + ENGINE = "Engine" + """SQL Server Database Services.""" + SSRS = "SSRS" + """SQL Server Reporting Services.""" + SSAS = "SSAS" + """SQL Server Analysis Services.""" + SSIS = "SSIS" + """SQL Server Integration Services.""" + PBIRS = "PBIRS" + """Power BI Report Server.""" + + class SqlManagedInstanceSkuTier(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The pricing tier for the instance.""" @@ -123,13 +621,117 @@ class SqlManagedInstanceSkuTier(str, Enum, metaclass=CaseInsensitiveEnumMeta): BUSINESS_CRITICAL = "BusinessCritical" +class SqlServerInstanceBpaColumnType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The type of the result column.""" + + BOOL = "bool" + DATETIME = "datetime" + INT = "int" + LONG = "long" + DOUBLE = "double" + STRING = "string" + GUID = "guid" + TIMESPAN = "timespan" + + +class SqlServerInstanceBpaQueryType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The type of query to run for summarizing the best practices assessment results. If not + specified, the default is 'Basic'. + """ + + BASIC = "Basic" + HISTORICAL_TRENDS = "HistoricalTrends" + + +class SqlServerInstanceBpaReportType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The report type that needs to be fetched. If not specified, the default is AssessmentSummary.""" + + ASSESSMENT_DATA_POINT = "AssessmentDataPoint" + ASSESSMENT_SUMMARY = "AssessmentSummary" + + +class SqlServerInstanceTargetRecommendationReportSectionType( # pylint: disable=name-too-long + str, Enum, metaclass=CaseInsensitiveEnumMeta +): + """Filters the report to a specific section type. If not specified, all section types are + returned. Section types are grouped into two categories: requirements sections contain + performance and resource metrics collected from the source SQL Server, while recommendation + sections contain suggested Azure target SKUs derived from those requirements. + """ + + REQUIREMENTS_PER_INSTANCE = "RequirementsPerInstance" + """Aggregated performance and resource requirements for the entire SQL Server instance, including + CPU, memory, IOPS, throughput, and storage metrics collected from the source server.""" + REQUIREMENTS_PER_DATABASE = "RequirementsPerDatabase" + """Performance and resource requirements broken down per database, including CPU, memory, IOPS, + throughput, and storage metrics collected from the source server for each individual database.""" + FILE_REQUIREMENTS_PER_DATABASE = "FileRequirementsPerDatabase" + """File-level performance requirements per database, including IOPS and throughput metrics for + individual data and log files. Only available when includeFileLevelRequirements is set to true + in the RunTargetRecommendationJob request.""" + SQL_VM_TARGET_RECOMMENDATION_PER_INSTANCE = "SqlVmTargetRecommendationPerInstance" + """Recommended Azure SQL Virtual Machine SKU for the entire SQL Server instance, including VM + size, compute, storage, and estimated monthly cost derived from the collected requirements.""" + SQL_MI_TARGET_RECOMMENDATION_PER_INSTANCE = "SqlMiTargetRecommendationPerInstance" + """Recommended Azure SQL Managed Instance SKU for the entire SQL Server instance, including + service tier, compute, storage, and estimated monthly cost derived from the collected + requirements.""" + SQL_DB_TARGET_RECOMMENDATION_PER_DATABASE = "SqlDbTargetRecommendationPerDatabase" + """Recommended Azure SQL Database SKU per database, including service tier, compute, storage, and + estimated monthly cost derived from the collected requirements for each individual database.""" + + +class SqlServerInstanceTelemetryColumnType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The type of the telemetry column.""" + + BOOL = "bool" + DATETIME = "datetime" + INT = "int" + LONG = "long" + DOUBLE = "double" + STRING = "string" + GUID = "guid" + TIMESPAN = "timespan" + + class SqlVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta): """SQL Server version.""" + UNKNOWN = "Unknown" SQL_SERVER2012 = "SQL Server 2012" SQL_SERVER2014 = "SQL Server 2014" SQL_SERVER2016 = "SQL Server 2016" SQL_SERVER2017 = "SQL Server 2017" SQL_SERVER2019 = "SQL Server 2019" SQL_SERVER2022 = "SQL Server 2022" - UNKNOWN = "Unknown" + SQL_SERVER2025 = "SQL Server 2025" + + +class State(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The activation state of the license.""" + + INACTIVE = "Inactive" + ACTIVE = "Active" + TERMINATED = "Terminated" + ENABLED = "Enabled" + DISABLED = "Disabled" + DELETED = "Deleted" + COMPLETED = "Completed" + FAULTED = "Faulted" + SUSPENDED = "Suspended" + + +class TargetType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Type of target in Azure this database is being migrated to.""" + + AZURE_SQL_DATABASE = "AzureSqlDatabase" + AZURE_SQL_MANAGED_INSTANCE = "AzureSqlManagedInstance" + AZURE_SQL_VIRTUAL_MACHINE = "AzureSqlVirtualMachine" + + +class Version(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The SQL Server version the license covers.""" + + SQL_SERVER2012 = "SQL Server 2012" + SQL_SERVER2014 = "SQL Server 2014" + SQL_SERVER2016 = "SQL Server 2016" diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models_py3.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models_py3.py index 6b59ffc45dca..04ff0866e126 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models_py3.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models_py3.py @@ -1,5 +1,5 @@ +# pylint: disable=line-too-long,useless-suppression,too-many-lines # coding=utf-8 -# pylint: disable=too-many-lines # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. @@ -7,31 +7,22 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from __future__ import annotations +from collections.abc import MutableMapping import datetime -import sys -from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union +from typing import Any, Literal, Optional, TYPE_CHECKING, Union -from .. import _serialization - -if sys.version_info >= (3, 9): - from collections.abc import MutableMapping -else: - from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports -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 +from .._utils import serialization as _serialization if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports from .. import models as _models -JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object +JSON = MutableMapping[str, Any] class ActiveDirectoryConnectorDNSDetails(_serialization.Model): """DNS server details. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar domain_name: DNS domain name for which DNS lookups should be forwarded to the Active Directory DNS servers. @@ -59,12 +50,12 @@ class ActiveDirectoryConnectorDNSDetails(_serialization.Model): def __init__( self, *, - nameserver_ip_addresses: List[str], + nameserver_ip_addresses: list[str], domain_name: Optional[str] = None, replicas: int = 1, prefer_k8_s_dns_for_ptr_lookups: bool = True, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword domain_name: DNS domain name for which DNS lookups should be forwarded to the Active Directory DNS servers. @@ -87,7 +78,7 @@ def __init__( class ActiveDirectoryConnectorDomainDetails(_serialization.Model): """Active Directory domain details. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar realm: Name (uppercase) of the Active Directory domain that this AD connector will be associated with. Required. @@ -101,13 +92,12 @@ class ActiveDirectoryConnectorDomainDetails(_serialization.Model): :ivar ou_distinguished_name: The distinguished name of the Active Directory Organizational Unit. :vartype ou_distinguished_name: str - :ivar domain_controllers: null. Required. + :ivar domain_controllers: null. :vartype domain_controllers: ~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainControllers """ _validation = { "realm": {"required": True}, - "domain_controllers": {"required": True}, } _attribute_map = { @@ -122,12 +112,12 @@ def __init__( self, *, realm: str, - domain_controllers: "_models.ActiveDirectoryDomainControllers", netbios_domain_name: Optional[str] = None, service_account_provisioning: Union[str, "_models.AccountProvisioningMode"] = "manual", ou_distinguished_name: Optional[str] = None, - **kwargs - ): + domain_controllers: Optional["_models.ActiveDirectoryDomainControllers"] = None, + **kwargs: Any + ) -> None: """ :keyword realm: Name (uppercase) of the Active Directory domain that this AD connector will be associated with. Required. @@ -141,7 +131,7 @@ def __init__( :keyword ou_distinguished_name: The distinguished name of the Active Directory Organizational Unit. :paramtype ou_distinguished_name: str - :keyword domain_controllers: null. Required. + :keyword domain_controllers: null. :paramtype domain_controllers: ~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainControllers """ super().__init__(**kwargs) @@ -173,11 +163,11 @@ class ActiveDirectoryConnectorListResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) - self.value = None - self.next_link = None + self.value: Optional[list["_models.ActiveDirectoryConnectorResource"]] = None + self.next_link: Optional[str] = None class ActiveDirectoryConnectorProperties(_serialization.Model): @@ -185,7 +175,7 @@ class ActiveDirectoryConnectorProperties(_serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar domain_service_account_login_information: Username and password for domain service account authentication. @@ -220,8 +210,8 @@ def __init__( spec: "_models.ActiveDirectoryConnectorSpec", domain_service_account_login_information: Optional["_models.BasicLoginInformation"] = None, status: Optional["_models.ActiveDirectoryConnectorStatus"] = None, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword domain_service_account_login_information: Username and password for domain service account authentication. @@ -234,7 +224,7 @@ def __init__( """ super().__init__(**kwargs) self.domain_service_account_login_information = domain_service_account_login_information - self.provisioning_state = None + self.provisioning_state: Optional[str] = None self.spec = spec self.status = status @@ -271,17 +261,18 @@ class Resource(_serialization.Model): "system_data": {"key": "systemData", "type": "SystemData"}, } - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.system_data = None + self.id: Optional[str] = None + self.name: Optional[str] = None + self.type: Optional[str] = None + self.system_data: Optional["_models.SystemData"] = None class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + """The resource model definition for a Azure Resource Manager proxy resource. It will not have + tags and a location. Variables are only populated by the server, and will be ignored when sending a request. @@ -298,31 +289,13 @@ class ProxyResource(Resource): :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData """ - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - } - - def __init__(self, **kwargs): - """ """ - super().__init__(**kwargs) - class ActiveDirectoryConnectorResource(ProxyResource): """Active directory connector resource. Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. @@ -355,7 +328,7 @@ class ActiveDirectoryConnectorResource(ProxyResource): "properties": {"key": "properties", "type": "ActiveDirectoryConnectorProperties"}, } - def __init__(self, *, properties: "_models.ActiveDirectoryConnectorProperties", **kwargs): + def __init__(self, *, properties: "_models.ActiveDirectoryConnectorProperties", **kwargs: Any) -> None: """ :keyword properties: null. Required. :paramtype properties: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorProperties @@ -367,7 +340,7 @@ def __init__(self, *, properties: "_models.ActiveDirectoryConnectorProperties", class ActiveDirectoryConnectorSpec(_serialization.Model): """The specifications of the AD Kubernetes resource. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar active_directory: null. Required. :vartype active_directory: @@ -391,8 +364,8 @@ def __init__( *, active_directory: "_models.ActiveDirectoryConnectorDomainDetails", dns: "_models.ActiveDirectoryConnectorDNSDetails", - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword active_directory: null. Required. :paramtype active_directory: @@ -410,7 +383,7 @@ class ActiveDirectoryConnectorStatus(_serialization.Model): :ivar additional_properties: Unmatched properties from the message are deserialized to this collection. - :vartype additional_properties: dict[str, JSON] + :vartype additional_properties: dict[str, any] :ivar last_update_time: The time that the custom resource was last updated. :vartype last_update_time: str :ivar observed_generation: The version of the replicaSet associated with the AD connector @@ -430,16 +403,16 @@ class ActiveDirectoryConnectorStatus(_serialization.Model): def __init__( self, *, - additional_properties: Optional[Dict[str, JSON]] = None, + additional_properties: Optional[dict[str, Any]] = None, last_update_time: Optional[str] = None, observed_generation: Optional[int] = None, state: Optional[str] = None, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword additional_properties: Unmatched properties from the message are deserialized to this collection. - :paramtype additional_properties: dict[str, JSON] + :paramtype additional_properties: dict[str, any] :keyword last_update_time: The time that the custom resource was last updated. :paramtype last_update_time: str :keyword observed_generation: The version of the replicaSet associated with the AD connector @@ -458,7 +431,7 @@ def __init__( class ActiveDirectoryDomainController(_serialization.Model): """Information about a domain controller in the AD domain. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar hostname: Fully-qualified domain name of a domain controller in the AD domain. Required. :vartype hostname: str @@ -472,7 +445,7 @@ class ActiveDirectoryDomainController(_serialization.Model): "hostname": {"key": "hostname", "type": "str"}, } - def __init__(self, *, hostname: str, **kwargs): + def __init__(self, *, hostname: str, **kwargs: Any) -> None: """ :keyword hostname: Fully-qualified domain name of a domain controller in the AD domain. Required. @@ -483,7 +456,8 @@ def __init__(self, *, hostname: str, **kwargs): class ActiveDirectoryDomainControllers(_serialization.Model): - """Details about the Active Directory domain controllers associated with this AD connector instance. + """Details about the Active Directory domain controllers associated with this AD connector + instance. :ivar primary_domain_controller: Information about the Primary Domain Controller (PDC) in the AD domain. @@ -506,9 +480,9 @@ def __init__( self, *, primary_domain_controller: Optional["_models.ActiveDirectoryDomainController"] = None, - secondary_domain_controllers: Optional[List["_models.ActiveDirectoryDomainController"]] = None, - **kwargs - ): + secondary_domain_controllers: Optional[list["_models.ActiveDirectoryDomainController"]] = None, + **kwargs: Any + ) -> None: """ :keyword primary_domain_controller: Information about the Primary Domain Controller (PDC) in the AD domain. @@ -535,7 +509,7 @@ class ActiveDirectoryInformation(_serialization.Model): "keytab_information": {"key": "keytabInformation", "type": "KeytabInformation"}, } - def __init__(self, *, keytab_information: Optional["_models.KeytabInformation"] = None, **kwargs): + def __init__(self, *, keytab_information: Optional["_models.KeytabInformation"] = None, **kwargs: Any) -> None: """ :keyword keytab_information: Keytab information that is used for the Sql Managed Instance when Active Directory authentication is used. @@ -545,6 +519,1007 @@ def __init__(self, *, keytab_information: Optional["_models.KeytabInformation"] self.keytab_information = keytab_information +class AdditionalMigrationJobAttributes(_serialization.Model): + """Any other migration type specific attributes to associate with this job. + + :ivar key_name: Unique attribute name. + :vartype key_name: str + :ivar key_value: Attribute value. + :vartype key_value: str + """ + + _attribute_map = { + "key_name": {"key": "keyName", "type": "str"}, + "key_value": {"key": "keyValue", "type": "str"}, + } + + def __init__(self, *, key_name: Optional[str] = None, key_value: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword key_name: Unique attribute name. + :paramtype key_name: str + :keyword key_value: Attribute value. + :paramtype key_value: str + """ + super().__init__(**kwargs) + self.key_name = key_name + self.key_value = key_value + + +class ArcSqlServerAvailabilityGroupListResult(_serialization.Model): + """A list of Arc Sql Server Availability Groups. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Array of Arc Sql Server Availability Groups. + :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _validation = { + "value": {"readonly": True}, + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[SqlServerAvailabilityGroupResource]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.value: Optional[list["_models.SqlServerAvailabilityGroupResource"]] = None + self.next_link: Optional[str] = None + + +class ArcSqlServerDatabaseListResult(_serialization.Model): + """A list of Arc Sql Server database. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Array of Arc Sql Server database. + :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _validation = { + "value": {"readonly": True}, + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[SqlServerDatabaseResource]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.value: Optional[list["_models.SqlServerDatabaseResource"]] = None + self.next_link: Optional[str] = None + + +class Authentication(_serialization.Model): + """Authentication related configuration for the SQL Server Instance. + + :ivar mode: Mode of authentication in SqlServer. Known values are: "Mixed", "Windows", and + "Undefined". + :vartype mode: str or ~azure.mgmt.azurearcdata.models.Mode + :ivar sql_server_entra_identity: Entra Authentication configuration for the SQL Server + Instance. + :vartype sql_server_entra_identity: list[~azure.mgmt.azurearcdata.models.EntraAuthentication] + """ + + _attribute_map = { + "mode": {"key": "mode", "type": "str"}, + "sql_server_entra_identity": {"key": "sqlServerEntraIdentity", "type": "[EntraAuthentication]"}, + } + + def __init__( + self, + *, + mode: Optional[Union[str, "_models.Mode"]] = None, + sql_server_entra_identity: Optional[list["_models.EntraAuthentication"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword mode: Mode of authentication in SqlServer. Known values are: "Mixed", "Windows", and + "Undefined". + :paramtype mode: str or ~azure.mgmt.azurearcdata.models.Mode + :keyword sql_server_entra_identity: Entra Authentication configuration for the SQL Server + Instance. + :paramtype sql_server_entra_identity: list[~azure.mgmt.azurearcdata.models.EntraAuthentication] + """ + super().__init__(**kwargs) + self.mode = mode + self.sql_server_entra_identity = sql_server_entra_identity + + +class AvailabilityGroupConfigure(_serialization.Model): + """The specifications of the availability group replica configuration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar endpoint_name: Name of the mirroring endpoint URL. + :vartype endpoint_name: str + :ivar endpoint_url: Mirroring endpoint URL of availability group replica. + :vartype endpoint_url: str + :ivar endpoint_authentication_mode: Permitted authentication modes for the mirroring endpoint. + Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", "Certificate", + "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", "Windows_Negotiate_Certificate", + "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", and + "Certificate_Windows_Negotiate". + :vartype endpoint_authentication_mode: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth + :ivar certificate_name: Name of certificate to use for authentication. Required if any + CERTIFICATE authentication modes are specified. + :vartype certificate_name: str + :ivar endpoint_connect_login: The login which will connect to the mirroring endpoint. + :vartype endpoint_connect_login: str + :ivar availability_mode: Property that determines whether a given availability replica can run + in synchronous-commit mode. Known values are: "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". + :vartype availability_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode + :ivar availability_mode_description: The Availability Synchronization mode of the availability + group replica. + :vartype availability_mode_description: str + :ivar failover_mode: Property to set the failover mode of the availability group replica. Known + values are: "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". + :vartype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode + :ivar failover_mode_description: The failover mode of the availability group replica. + :vartype failover_mode_description: str + :ivar session_timeout: The time-out period of availability group session replica, in seconds. + :vartype session_timeout: int + :ivar primary_allow_connections: Whether the primary replica should allow all connections or + only READ_WRITE connections (disallowing ReadOnly connections). Known values are: "ALL" and + "READ_WRITE". + :vartype primary_allow_connections: str or + ~azure.mgmt.azurearcdata.models.PrimaryAllowConnections + :ivar primary_role_allow_connections_description: Whether the availability allows all + connections or only read-write connections. + :vartype primary_role_allow_connections_description: str + :ivar secondary_allow_connections: Whether the secondary replica should allow all connections, + no connections, or only ReadOnly connections. Known values are: "NO", "ALL", and "READ_ONLY". + :vartype secondary_allow_connections: str or + ~azure.mgmt.azurearcdata.models.SecondaryAllowConnections + :ivar secondary_role_allow_connections_description: Whether an availability replica that is + performing the secondary role (that is, a secondary replica) can accept connections from + clients. + :vartype secondary_role_allow_connections_description: str + :ivar replica_create_date: Date that the replica was created. + :vartype replica_create_date: ~datetime.datetime + :ivar replica_modify_date: Date that the replica was modified. + :vartype replica_modify_date: ~datetime.datetime + :ivar backup_priority: Represents the user-specified priority for performing backups on this + replica relative to the other replicas in the same availability group. + :vartype backup_priority: int + :ivar read_only_routing_url: Connectivity endpoint (URL) of the read only availability replica. + :vartype read_only_routing_url: str + :ivar read_write_routing_url: Connectivity endpoint (URL) of the read write availability + replica. + :vartype read_write_routing_url: str + :ivar seeding_mode: Specifies how the secondary replica will be initially seeded. AUTOMATIC + enables direct seeding. This method will seed the secondary replica over the network. This + method does not require you to backup and restore a copy of the primary database on the + replica. MANUAL specifies manual seeding (default). This method requires you to create a backup + of the database on the primary replica and manually restore that backup on the secondary + replica. Known values are: "AUTOMATIC" and "MANUAL". + :vartype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode + :ivar seeding_mode_description: Describes seeding mode. + :vartype seeding_mode_description: str + """ + + _validation = { + "availability_mode_description": {"readonly": True}, + "failover_mode_description": {"readonly": True}, + "primary_role_allow_connections_description": {"readonly": True}, + "secondary_role_allow_connections_description": {"readonly": True}, + "replica_create_date": {"readonly": True}, + "replica_modify_date": {"readonly": True}, + "seeding_mode_description": {"readonly": True}, + } + + _attribute_map = { + "endpoint_name": {"key": "endpointName", "type": "str"}, + "endpoint_url": {"key": "endpointUrl", "type": "str"}, + "endpoint_authentication_mode": {"key": "endpointAuthenticationMode", "type": "str"}, + "certificate_name": {"key": "certificateName", "type": "str"}, + "endpoint_connect_login": {"key": "endpointConnectLogin", "type": "str"}, + "availability_mode": {"key": "availabilityMode", "type": "str"}, + "availability_mode_description": {"key": "availabilityModeDescription", "type": "str"}, + "failover_mode": {"key": "failoverMode", "type": "str"}, + "failover_mode_description": {"key": "failoverModeDescription", "type": "str"}, + "session_timeout": {"key": "sessionTimeout", "type": "int"}, + "primary_allow_connections": {"key": "primaryAllowConnections", "type": "str"}, + "primary_role_allow_connections_description": {"key": "primaryRoleAllowConnectionsDescription", "type": "str"}, + "secondary_allow_connections": {"key": "secondaryAllowConnections", "type": "str"}, + "secondary_role_allow_connections_description": { + "key": "secondaryRoleAllowConnectionsDescription", + "type": "str", + }, + "replica_create_date": {"key": "replicaCreateDate", "type": "iso-8601"}, + "replica_modify_date": {"key": "replicaModifyDate", "type": "iso-8601"}, + "backup_priority": {"key": "backupPriority", "type": "int"}, + "read_only_routing_url": {"key": "readOnlyRoutingUrl", "type": "str"}, + "read_write_routing_url": {"key": "readWriteRoutingUrl", "type": "str"}, + "seeding_mode": {"key": "seedingMode", "type": "str"}, + "seeding_mode_description": {"key": "seedingModeDescription", "type": "str"}, + } + + def __init__( + self, + *, + endpoint_name: Optional[str] = None, + endpoint_url: Optional[str] = None, + endpoint_authentication_mode: Optional[Union[str, "_models.ConnectionAuth"]] = None, + certificate_name: Optional[str] = None, + endpoint_connect_login: Optional[str] = None, + availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = None, + failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = None, + session_timeout: Optional[int] = None, + primary_allow_connections: Optional[Union[str, "_models.PrimaryAllowConnections"]] = None, + secondary_allow_connections: Optional[Union[str, "_models.SecondaryAllowConnections"]] = None, + backup_priority: Optional[int] = None, + read_only_routing_url: Optional[str] = None, + read_write_routing_url: Optional[str] = None, + seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword endpoint_name: Name of the mirroring endpoint URL. + :paramtype endpoint_name: str + :keyword endpoint_url: Mirroring endpoint URL of availability group replica. + :paramtype endpoint_url: str + :keyword endpoint_authentication_mode: Permitted authentication modes for the mirroring + endpoint. Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", + "Certificate", "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", + "Windows_Negotiate_Certificate", "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", + and "Certificate_Windows_Negotiate". + :paramtype endpoint_authentication_mode: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth + :keyword certificate_name: Name of certificate to use for authentication. Required if any + CERTIFICATE authentication modes are specified. + :paramtype certificate_name: str + :keyword endpoint_connect_login: The login which will connect to the mirroring endpoint. + :paramtype endpoint_connect_login: str + :keyword availability_mode: Property that determines whether a given availability replica can + run in synchronous-commit mode. Known values are: "SYNCHRONOUS_COMMIT" and + "ASYNCHRONOUS_COMMIT". + :paramtype availability_mode: str or + ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode + :keyword failover_mode: Property to set the failover mode of the availability group replica. + Known values are: "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". + :paramtype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode + :keyword session_timeout: The time-out period of availability group session replica, in + seconds. + :paramtype session_timeout: int + :keyword primary_allow_connections: Whether the primary replica should allow all connections or + only READ_WRITE connections (disallowing ReadOnly connections). Known values are: "ALL" and + "READ_WRITE". + :paramtype primary_allow_connections: str or + ~azure.mgmt.azurearcdata.models.PrimaryAllowConnections + :keyword secondary_allow_connections: Whether the secondary replica should allow all + connections, no connections, or only ReadOnly connections. Known values are: "NO", "ALL", and + "READ_ONLY". + :paramtype secondary_allow_connections: str or + ~azure.mgmt.azurearcdata.models.SecondaryAllowConnections + :keyword backup_priority: Represents the user-specified priority for performing backups on this + replica relative to the other replicas in the same availability group. + :paramtype backup_priority: int + :keyword read_only_routing_url: Connectivity endpoint (URL) of the read only availability + replica. + :paramtype read_only_routing_url: str + :keyword read_write_routing_url: Connectivity endpoint (URL) of the read write availability + replica. + :paramtype read_write_routing_url: str + :keyword seeding_mode: Specifies how the secondary replica will be initially seeded. AUTOMATIC + enables direct seeding. This method will seed the secondary replica over the network. This + method does not require you to backup and restore a copy of the primary database on the + replica. MANUAL specifies manual seeding (default). This method requires you to create a backup + of the database on the primary replica and manually restore that backup on the secondary + replica. Known values are: "AUTOMATIC" and "MANUAL". + :paramtype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode + """ + super().__init__(**kwargs) + self.endpoint_name = endpoint_name + self.endpoint_url = endpoint_url + self.endpoint_authentication_mode = endpoint_authentication_mode + self.certificate_name = certificate_name + self.endpoint_connect_login = endpoint_connect_login + self.availability_mode = availability_mode + self.availability_mode_description: Optional[str] = None + self.failover_mode = failover_mode + self.failover_mode_description: Optional[str] = None + self.session_timeout = session_timeout + self.primary_allow_connections = primary_allow_connections + self.primary_role_allow_connections_description: Optional[str] = None + self.secondary_allow_connections = secondary_allow_connections + self.secondary_role_allow_connections_description: Optional[str] = None + self.replica_create_date: Optional[datetime.datetime] = None + self.replica_modify_date: Optional[datetime.datetime] = None + self.backup_priority = backup_priority + self.read_only_routing_url = read_only_routing_url + self.read_write_routing_url = read_write_routing_url + self.seeding_mode = seeding_mode + self.seeding_mode_description: Optional[str] = None + + +class AvailabilityGroupCreateUpdateConfiguration(_serialization.Model): # pylint: disable=name-too-long + """Options used in creating an availability group. + + :ivar availability_group_name: Name of the availability group. + :vartype availability_group_name: str + :ivar replicas: List of availability group replicas. + :vartype replicas: + list[~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateReplicaConfiguration] + :ivar databases: List of databases to include in the availability group. + :vartype databases: list[str] + :ivar automated_backup_preference: Preferred replica for running automated backups. Known + values are: "PRIMARY", "SECONDARY_ONLY", "SECONDARY", and "NONE". + :vartype automated_backup_preference: str or + ~azure.mgmt.azurearcdata.models.AutomatedBackupPreference + :ivar failure_condition_level: User-defined failure condition level under which an automatic + failover must be triggered. Known values are: 1, 2, 3, 4, and 5. + :vartype failure_condition_level: int or ~azure.mgmt.azurearcdata.models.FailureConditionLevel + :ivar health_check_timeout: Wait time (in milliseconds) for the sp_server_diagnostics system + stored procedure to return server-health information, before the server instance is assumed to + be slow or not responding. + :vartype health_check_timeout: int + :ivar db_failover: Specifies whether the availability group supports failover for database + health conditions. Known values are: "ON" and "OFF". + :vartype db_failover: str or ~azure.mgmt.azurearcdata.models.DbFailover + :ivar dtc_support: Specifies whether DTC support has been enabled for this availability group. + Known values are: "PER_DB" and "NONE". + :vartype dtc_support: str or ~azure.mgmt.azurearcdata.models.DtcSupport + :ivar required_synchronized_secondaries_to_commit: The number of secondary replicas that must + be in a synchronized state for a commit to complete. + :vartype required_synchronized_secondaries_to_commit: int + :ivar cluster_type: Set to WSFC when availability group is on a failover cluster instance on a + Windows Server failover cluster. Set to NONE when availability group not using WSFC for cluster + coordination. Known values are: "WSFC" and "NONE". + :vartype cluster_type: str or ~azure.mgmt.azurearcdata.models.ClusterType + :ivar listener: The listener for the sql server availability group. + :vartype listener: + ~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties + """ + + _attribute_map = { + "availability_group_name": {"key": "availabilityGroupName", "type": "str"}, + "replicas": {"key": "replicas", "type": "[AvailabilityGroupCreateUpdateReplicaConfiguration]"}, + "databases": {"key": "databases", "type": "[str]"}, + "automated_backup_preference": {"key": "automatedBackupPreference", "type": "str"}, + "failure_condition_level": {"key": "failureConditionLevel", "type": "int"}, + "health_check_timeout": {"key": "healthCheckTimeout", "type": "int"}, + "db_failover": {"key": "dbFailover", "type": "str"}, + "dtc_support": {"key": "dtcSupport", "type": "str"}, + "required_synchronized_secondaries_to_commit": { + "key": "requiredSynchronizedSecondariesToCommit", + "type": "int", + }, + "cluster_type": {"key": "clusterType", "type": "str"}, + "listener": {"key": "listener", "type": "SqlAvailabilityGroupStaticIPListenerProperties"}, + } + + def __init__( + self, + *, + availability_group_name: Optional[str] = None, + replicas: Optional[list["_models.AvailabilityGroupCreateUpdateReplicaConfiguration"]] = None, + databases: Optional[list[str]] = None, + automated_backup_preference: Optional[Union[str, "_models.AutomatedBackupPreference"]] = None, + failure_condition_level: Optional[Union[int, "_models.FailureConditionLevel"]] = None, + health_check_timeout: Optional[int] = None, + db_failover: Optional[Union[str, "_models.DbFailover"]] = None, + dtc_support: Optional[Union[str, "_models.DtcSupport"]] = None, + required_synchronized_secondaries_to_commit: Optional[int] = None, + cluster_type: Optional[Union[str, "_models.ClusterType"]] = None, + listener: Optional["_models.SqlAvailabilityGroupStaticIPListenerProperties"] = None, + **kwargs: Any + ) -> None: + """ + :keyword availability_group_name: Name of the availability group. + :paramtype availability_group_name: str + :keyword replicas: List of availability group replicas. + :paramtype replicas: + list[~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateReplicaConfiguration] + :keyword databases: List of databases to include in the availability group. + :paramtype databases: list[str] + :keyword automated_backup_preference: Preferred replica for running automated backups. Known + values are: "PRIMARY", "SECONDARY_ONLY", "SECONDARY", and "NONE". + :paramtype automated_backup_preference: str or + ~azure.mgmt.azurearcdata.models.AutomatedBackupPreference + :keyword failure_condition_level: User-defined failure condition level under which an automatic + failover must be triggered. Known values are: 1, 2, 3, 4, and 5. + :paramtype failure_condition_level: int or + ~azure.mgmt.azurearcdata.models.FailureConditionLevel + :keyword health_check_timeout: Wait time (in milliseconds) for the sp_server_diagnostics system + stored procedure to return server-health information, before the server instance is assumed to + be slow or not responding. + :paramtype health_check_timeout: int + :keyword db_failover: Specifies whether the availability group supports failover for database + health conditions. Known values are: "ON" and "OFF". + :paramtype db_failover: str or ~azure.mgmt.azurearcdata.models.DbFailover + :keyword dtc_support: Specifies whether DTC support has been enabled for this availability + group. Known values are: "PER_DB" and "NONE". + :paramtype dtc_support: str or ~azure.mgmt.azurearcdata.models.DtcSupport + :keyword required_synchronized_secondaries_to_commit: The number of secondary replicas that + must be in a synchronized state for a commit to complete. + :paramtype required_synchronized_secondaries_to_commit: int + :keyword cluster_type: Set to WSFC when availability group is on a failover cluster instance on + a Windows Server failover cluster. Set to NONE when availability group not using WSFC for + cluster coordination. Known values are: "WSFC" and "NONE". + :paramtype cluster_type: str or ~azure.mgmt.azurearcdata.models.ClusterType + :keyword listener: The listener for the sql server availability group. + :paramtype listener: + ~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties + """ + super().__init__(**kwargs) + self.availability_group_name = availability_group_name + self.replicas = replicas + self.databases = databases + self.automated_backup_preference = automated_backup_preference + self.failure_condition_level = failure_condition_level + self.health_check_timeout = health_check_timeout + self.db_failover = db_failover + self.dtc_support = dtc_support + self.required_synchronized_secondaries_to_commit = required_synchronized_secondaries_to_commit + self.cluster_type = cluster_type + self.listener = listener + + +class AvailabilityGroupCreateUpdateReplicaConfiguration(_serialization.Model): # pylint: disable=name-too-long + """The specifications of the availability group replica configuration. + + :ivar server_instance: the server instance hosting the replica. + :vartype server_instance: str + :ivar endpoint_name: Name of the database mirroring endpoint URL for the availability group + replica. + :vartype endpoint_name: str + :ivar endpoint_url: Database mirroring endpoint URL of availability group replica. + :vartype endpoint_url: str + :ivar endpoint_authentication_mode: Permitted authentication modes for the mirroring endpoint. + Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", "Certificate", + "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", "Windows_Negotiate_Certificate", + "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", and + "Certificate_Windows_Negotiate". + :vartype endpoint_authentication_mode: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth + :ivar certificate_name: Name of certificate to use for authentication. Required if any + CERTIFICATE authentication modes are specified. + :vartype certificate_name: str + :ivar endpoint_connect_login: The login which will connect to the mirroring endpoint. + :vartype endpoint_connect_login: str + :ivar availability_mode: Property that determines whether a given availability replica can run + in synchronous-commit mode. Known values are: "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". + :vartype availability_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode + :ivar failover_mode: Property to set the failover mode of the availability group replica. Known + values are: "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". + :vartype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode + :ivar seeding_mode: Specifies how the secondary replica will be initially seeded. AUTOMATIC + enables direct seeding. This method will seed the secondary replica over the network. This + method does not require you to backup and restore a copy of the primary database on the + replica. MANUAL specifies manual seeding (default). This method requires you to create a backup + of the database on the primary replica and manually restore that backup on the secondary + replica. Known values are: "AUTOMATIC" and "MANUAL". + :vartype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode + :ivar backup_priority: Represents the user-specified priority for performing backups on this + replica relative to the other replicas in the same availability group. + :vartype backup_priority: int + :ivar secondary_role_allow_connections: Whether the secondary replica should allow all + connections, no connections, or only ReadOnly connections. Known values are: "NO", "ALL", and + "READ_ONLY". + :vartype secondary_role_allow_connections: str or + ~azure.mgmt.azurearcdata.models.SecondaryAllowConnections + :ivar secondary_role_read_only_routing_url: Connectivity endpoint (URL) of the read only + availability replica. + :vartype secondary_role_read_only_routing_url: str + :ivar primary_role_allow_connections: Whether the primary replica should allow all connections + or only READ_WRITE connections (disallowing ReadOnly connections). Known values are: "ALL" and + "READ_WRITE". + :vartype primary_role_allow_connections: str or + ~azure.mgmt.azurearcdata.models.PrimaryAllowConnections + :ivar primary_role_read_only_routing_list: List of read only routing URLs. + :vartype primary_role_read_only_routing_list: list[str] + :ivar session_timeout: The time-out period of availability group session replica, in seconds. + :vartype session_timeout: int + """ + + _attribute_map = { + "server_instance": {"key": "serverInstance", "type": "str"}, + "endpoint_name": {"key": "endpointName", "type": "str"}, + "endpoint_url": {"key": "endpointUrl", "type": "str"}, + "endpoint_authentication_mode": {"key": "endpointAuthenticationMode", "type": "str"}, + "certificate_name": {"key": "certificateName", "type": "str"}, + "endpoint_connect_login": {"key": "endpointConnectLogin", "type": "str"}, + "availability_mode": {"key": "availabilityMode", "type": "str"}, + "failover_mode": {"key": "failoverMode", "type": "str"}, + "seeding_mode": {"key": "seedingMode", "type": "str"}, + "backup_priority": {"key": "backupPriority", "type": "int"}, + "secondary_role_allow_connections": {"key": "secondaryRoleAllowConnections", "type": "str"}, + "secondary_role_read_only_routing_url": {"key": "secondaryRoleReadOnlyRoutingUrl", "type": "str"}, + "primary_role_allow_connections": {"key": "primaryRoleAllowConnections", "type": "str"}, + "primary_role_read_only_routing_list": {"key": "primaryRoleReadOnlyRoutingList", "type": "[str]"}, + "session_timeout": {"key": "sessionTimeout", "type": "int"}, + } + + def __init__( + self, + *, + server_instance: Optional[str] = None, + endpoint_name: Optional[str] = None, + endpoint_url: Optional[str] = None, + endpoint_authentication_mode: Optional[Union[str, "_models.ConnectionAuth"]] = None, + certificate_name: Optional[str] = None, + endpoint_connect_login: Optional[str] = None, + availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = None, + failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = None, + seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = None, + backup_priority: Optional[int] = None, + secondary_role_allow_connections: Optional[Union[str, "_models.SecondaryAllowConnections"]] = None, + secondary_role_read_only_routing_url: Optional[str] = None, + primary_role_allow_connections: Optional[Union[str, "_models.PrimaryAllowConnections"]] = None, + primary_role_read_only_routing_list: Optional[list[str]] = None, + session_timeout: Optional[int] = None, + **kwargs: Any + ) -> None: + """ + :keyword server_instance: the server instance hosting the replica. + :paramtype server_instance: str + :keyword endpoint_name: Name of the database mirroring endpoint URL for the availability group + replica. + :paramtype endpoint_name: str + :keyword endpoint_url: Database mirroring endpoint URL of availability group replica. + :paramtype endpoint_url: str + :keyword endpoint_authentication_mode: Permitted authentication modes for the mirroring + endpoint. Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", + "Certificate", "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", + "Windows_Negotiate_Certificate", "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", + and "Certificate_Windows_Negotiate". + :paramtype endpoint_authentication_mode: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth + :keyword certificate_name: Name of certificate to use for authentication. Required if any + CERTIFICATE authentication modes are specified. + :paramtype certificate_name: str + :keyword endpoint_connect_login: The login which will connect to the mirroring endpoint. + :paramtype endpoint_connect_login: str + :keyword availability_mode: Property that determines whether a given availability replica can + run in synchronous-commit mode. Known values are: "SYNCHRONOUS_COMMIT" and + "ASYNCHRONOUS_COMMIT". + :paramtype availability_mode: str or + ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode + :keyword failover_mode: Property to set the failover mode of the availability group replica. + Known values are: "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". + :paramtype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode + :keyword seeding_mode: Specifies how the secondary replica will be initially seeded. AUTOMATIC + enables direct seeding. This method will seed the secondary replica over the network. This + method does not require you to backup and restore a copy of the primary database on the + replica. MANUAL specifies manual seeding (default). This method requires you to create a backup + of the database on the primary replica and manually restore that backup on the secondary + replica. Known values are: "AUTOMATIC" and "MANUAL". + :paramtype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode + :keyword backup_priority: Represents the user-specified priority for performing backups on this + replica relative to the other replicas in the same availability group. + :paramtype backup_priority: int + :keyword secondary_role_allow_connections: Whether the secondary replica should allow all + connections, no connections, or only ReadOnly connections. Known values are: "NO", "ALL", and + "READ_ONLY". + :paramtype secondary_role_allow_connections: str or + ~azure.mgmt.azurearcdata.models.SecondaryAllowConnections + :keyword secondary_role_read_only_routing_url: Connectivity endpoint (URL) of the read only + availability replica. + :paramtype secondary_role_read_only_routing_url: str + :keyword primary_role_allow_connections: Whether the primary replica should allow all + connections or only READ_WRITE connections (disallowing ReadOnly connections). Known values + are: "ALL" and "READ_WRITE". + :paramtype primary_role_allow_connections: str or + ~azure.mgmt.azurearcdata.models.PrimaryAllowConnections + :keyword primary_role_read_only_routing_list: List of read only routing URLs. + :paramtype primary_role_read_only_routing_list: list[str] + :keyword session_timeout: The time-out period of availability group session replica, in + seconds. + :paramtype session_timeout: int + """ + super().__init__(**kwargs) + self.server_instance = server_instance + self.endpoint_name = endpoint_name + self.endpoint_url = endpoint_url + self.endpoint_authentication_mode = endpoint_authentication_mode + self.certificate_name = certificate_name + self.endpoint_connect_login = endpoint_connect_login + self.availability_mode = availability_mode + self.failover_mode = failover_mode + self.seeding_mode = seeding_mode + self.backup_priority = backup_priority + self.secondary_role_allow_connections = secondary_role_allow_connections + self.secondary_role_read_only_routing_url = secondary_role_read_only_routing_url + self.primary_role_allow_connections = primary_role_allow_connections + self.primary_role_read_only_routing_list = primary_role_read_only_routing_list + self.session_timeout = session_timeout + + +class AvailabilityGroupInfo(_serialization.Model): + """The specifications of the availability group state. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar failure_condition_level: User-defined failure condition level under which an automatic + failover must be triggered. + :vartype failure_condition_level: int + :ivar health_check_timeout: Wait time (in milliseconds) for the sp_server_diagnostics system + stored procedure to return server-health information, before the server instance is assumed to + be slow or not responding. + :vartype health_check_timeout: int + :ivar automated_backup_preference_description: Preferred location for performing backups on the + availability databases in this availability group. + :vartype automated_backup_preference_description: str + :ivar version: SQL Server availability group current version. + :vartype version: int + :ivar basic_features: Specifies whether this is a basic availability group. + :vartype basic_features: bool + :ivar dtc_support: Specifies whether DTC support has been enabled for this availability group. + :vartype dtc_support: bool + :ivar db_failover: Specifies whether the availability group supports failover for database + health conditions. + :vartype db_failover: bool + :ivar is_distributed: Specifies whether this is a distributed availability group. + :vartype is_distributed: bool + :ivar cluster_type_description: SQL Server availability group cluster type description. + :vartype cluster_type_description: str + :ivar required_synchronized_secondaries_to_commit: The number of secondary replicas that must + be in a synchronized state for a commit to complete. + :vartype required_synchronized_secondaries_to_commit: int + :ivar is_contained: SQL Server availability group contained system databases. + :vartype is_contained: bool + :ivar primary_replica: Name of the server instance that is hosting the current primary replica. + :vartype primary_replica: str + :ivar primary_recovery_health_description: Indicates the recovery health of the primary + replica. + :vartype primary_recovery_health_description: str + :ivar secondary_recovery_health_description: Indicates the recovery health of a secondary + replica. + :vartype secondary_recovery_health_description: str + :ivar synchronization_health_description: Reflects a roll-up of the synchronization health of + all availability replicas in the availability group. + :vartype synchronization_health_description: str + :ivar replication_partner_type: Known values are: "SQLServer", "AzureSQLVM", + "AzureSQLManagedInstance", and "Unknown". + :vartype replication_partner_type: str or + ~azure.mgmt.azurearcdata.models.ReplicationPartnerType + :ivar listener: The listener for the sql server availability group. + :vartype listener: + ~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties + """ + + _validation = { + "automated_backup_preference_description": {"readonly": True}, + "version": {"readonly": True}, + "cluster_type_description": {"readonly": True}, + "primary_replica": {"readonly": True}, + "primary_recovery_health_description": {"readonly": True}, + "secondary_recovery_health_description": {"readonly": True}, + "synchronization_health_description": {"readonly": True}, + "replication_partner_type": {"readonly": True}, + } + + _attribute_map = { + "failure_condition_level": {"key": "failureConditionLevel", "type": "int"}, + "health_check_timeout": {"key": "healthCheckTimeout", "type": "int"}, + "automated_backup_preference_description": {"key": "automatedBackupPreferenceDescription", "type": "str"}, + "version": {"key": "version", "type": "int"}, + "basic_features": {"key": "basicFeatures", "type": "bool"}, + "dtc_support": {"key": "dtcSupport", "type": "bool"}, + "db_failover": {"key": "dbFailover", "type": "bool"}, + "is_distributed": {"key": "isDistributed", "type": "bool"}, + "cluster_type_description": {"key": "clusterTypeDescription", "type": "str"}, + "required_synchronized_secondaries_to_commit": { + "key": "requiredSynchronizedSecondariesToCommit", + "type": "int", + }, + "is_contained": {"key": "isContained", "type": "bool"}, + "primary_replica": {"key": "primaryReplica", "type": "str"}, + "primary_recovery_health_description": {"key": "primaryRecoveryHealthDescription", "type": "str"}, + "secondary_recovery_health_description": {"key": "secondaryRecoveryHealthDescription", "type": "str"}, + "synchronization_health_description": {"key": "synchronizationHealthDescription", "type": "str"}, + "replication_partner_type": {"key": "replicationPartnerType", "type": "str"}, + "listener": {"key": "listener", "type": "SqlAvailabilityGroupStaticIPListenerProperties"}, + } + + def __init__( + self, + *, + failure_condition_level: Optional[int] = None, + health_check_timeout: Optional[int] = None, + basic_features: Optional[bool] = None, + dtc_support: Optional[bool] = None, + db_failover: Optional[bool] = None, + is_distributed: Optional[bool] = None, + required_synchronized_secondaries_to_commit: Optional[int] = None, + is_contained: Optional[bool] = None, + listener: Optional["_models.SqlAvailabilityGroupStaticIPListenerProperties"] = None, + **kwargs: Any + ) -> None: + """ + :keyword failure_condition_level: User-defined failure condition level under which an automatic + failover must be triggered. + :paramtype failure_condition_level: int + :keyword health_check_timeout: Wait time (in milliseconds) for the sp_server_diagnostics system + stored procedure to return server-health information, before the server instance is assumed to + be slow or not responding. + :paramtype health_check_timeout: int + :keyword basic_features: Specifies whether this is a basic availability group. + :paramtype basic_features: bool + :keyword dtc_support: Specifies whether DTC support has been enabled for this availability + group. + :paramtype dtc_support: bool + :keyword db_failover: Specifies whether the availability group supports failover for database + health conditions. + :paramtype db_failover: bool + :keyword is_distributed: Specifies whether this is a distributed availability group. + :paramtype is_distributed: bool + :keyword required_synchronized_secondaries_to_commit: The number of secondary replicas that + must be in a synchronized state for a commit to complete. + :paramtype required_synchronized_secondaries_to_commit: int + :keyword is_contained: SQL Server availability group contained system databases. + :paramtype is_contained: bool + :keyword listener: The listener for the sql server availability group. + :paramtype listener: + ~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties + """ + super().__init__(**kwargs) + self.failure_condition_level = failure_condition_level + self.health_check_timeout = health_check_timeout + self.automated_backup_preference_description: Optional[str] = None + self.version: Optional[int] = None + self.basic_features = basic_features + self.dtc_support = dtc_support + self.db_failover = db_failover + self.is_distributed = is_distributed + self.cluster_type_description: Optional[str] = None + self.required_synchronized_secondaries_to_commit = required_synchronized_secondaries_to_commit + self.is_contained = is_contained + self.primary_replica: Optional[str] = None + self.primary_recovery_health_description: Optional[str] = None + self.secondary_recovery_health_description: Optional[str] = None + self.synchronization_health_description: Optional[str] = None + self.replication_partner_type: Optional[Union[str, "_models.ReplicationPartnerType"]] = None + self.listener = listener + + +class AvailabilityGroupRetrievalFilters(_serialization.Model): + """AvailabilityGroupRetrievalFilters. + + :ivar availability_group_type_filter: Filter retrieval based on availability group type. Known + values are: "CONTAINED", "DISTRIBUTED", and "DEFAULT". + :vartype availability_group_type_filter: str or + ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityGroupTypeFilter + :ivar replication_partner_type_filter: Known values are: "SQLServer", "AzureSQLVM", + "AzureSQLManagedInstance", and "Unknown". + :vartype replication_partner_type_filter: str or + ~azure.mgmt.azurearcdata.models.ReplicationPartnerType + """ + + _attribute_map = { + "availability_group_type_filter": {"key": "availabilityGroupTypeFilter", "type": "str"}, + "replication_partner_type_filter": {"key": "replicationPartnerTypeFilter", "type": "str"}, + } + + def __init__( + self, + *, + availability_group_type_filter: Optional[Union[str, "_models.ArcSqlServerAvailabilityGroupTypeFilter"]] = None, + replication_partner_type_filter: Optional[Union[str, "_models.ReplicationPartnerType"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword availability_group_type_filter: Filter retrieval based on availability group type. + Known values are: "CONTAINED", "DISTRIBUTED", and "DEFAULT". + :paramtype availability_group_type_filter: str or + ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityGroupTypeFilter + :keyword replication_partner_type_filter: Known values are: "SQLServer", "AzureSQLVM", + "AzureSQLManagedInstance", and "Unknown". + :paramtype replication_partner_type_filter: str or + ~azure.mgmt.azurearcdata.models.ReplicationPartnerType + """ + super().__init__(**kwargs) + self.availability_group_type_filter = availability_group_type_filter + self.replication_partner_type_filter = replication_partner_type_filter + + +class AvailabilityGroupState(_serialization.Model): + """The specifications of the availability group state. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar availability_group_replica_role: Current Always On availability groups role of the + availability group replica. + :vartype availability_group_replica_role: str + :ivar operational_state_description: Current operational state of the availability group + replica. + :vartype operational_state_description: str + :ivar recovery_health_description: Recovery health of the availability group replica. + :vartype recovery_health_description: str + :ivar synchronization_health_description: Reflects a rollup of the database synchronization + state (synchronization_state) of all joined availability databases (also known as replicas) and + the availability mode of the replica (synchronous-commit or asynchronous-commit mode). The + rollup will reflect the least healthy accumulated state the databases on the replica. + :vartype synchronization_health_description: str + :ivar connected_state_description: Whether a secondary replica is currently connected to the + primary replica. + :vartype connected_state_description: str + :ivar last_connect_error_description: Text description of the last connection error of the + availability group replica. + :vartype last_connect_error_description: str + :ivar last_connect_error_timestamp: Date and time timestamp indicating when the last connect + error occurred. + :vartype last_connect_error_timestamp: ~datetime.datetime + """ + + _validation = { + "availability_group_replica_role": {"readonly": True}, + "operational_state_description": {"readonly": True}, + "recovery_health_description": {"readonly": True}, + "synchronization_health_description": {"readonly": True}, + "connected_state_description": {"readonly": True}, + "last_connect_error_description": {"readonly": True}, + "last_connect_error_timestamp": {"readonly": True}, + } + + _attribute_map = { + "availability_group_replica_role": {"key": "availabilityGroupReplicaRole", "type": "str"}, + "operational_state_description": {"key": "operationalStateDescription", "type": "str"}, + "recovery_health_description": {"key": "recoveryHealthDescription", "type": "str"}, + "synchronization_health_description": {"key": "synchronizationHealthDescription", "type": "str"}, + "connected_state_description": {"key": "connectedStateDescription", "type": "str"}, + "last_connect_error_description": {"key": "lastConnectErrorDescription", "type": "str"}, + "last_connect_error_timestamp": {"key": "lastConnectErrorTimestamp", "type": "iso-8601"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.availability_group_replica_role: Optional[str] = None + self.operational_state_description: Optional[str] = None + self.recovery_health_description: Optional[str] = None + self.synchronization_health_description: Optional[str] = None + self.connected_state_description: Optional[str] = None + self.last_connect_error_description: Optional[str] = None + self.last_connect_error_timestamp: Optional[datetime.datetime] = None + + +class BackgroundJob(_serialization.Model): + """The background job details. + + :ivar state: The state of the background job. Known values are: "Inactive", "Active", + "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", and "Suspended". + :vartype state: str or ~azure.mgmt.azurearcdata.models.State + :ivar execution_state: The execution state of the background job. Known values are: "Waiting" + and "Running". + :vartype execution_state: str or ~azure.mgmt.azurearcdata.models.ExecutionState + :ivar start_time: The start time of the background job. + :vartype start_time: ~datetime.datetime + :ivar end_time: The end time of the background job. + :vartype end_time: ~datetime.datetime + :ivar last_execution_status: The last execution status of the background job. Known values are: + "Succeeded", "Completed", "Failed", "Faulted", "Postponed", and "Rescheduled". + :vartype last_execution_status: str or ~azure.mgmt.azurearcdata.models.LastExecutionStatus + :ivar last_execution_time: The last execution time of the background job in ISO 8601 date-time + format. + :vartype last_execution_time: ~datetime.datetime + :ivar next_execution_time: The next execution time of the background job in ISO 8601 date-time + format. + :vartype next_execution_time: ~datetime.datetime + """ + + _attribute_map = { + "state": {"key": "state", "type": "str"}, + "execution_state": {"key": "executionState", "type": "str"}, + "start_time": {"key": "startTime", "type": "iso-8601"}, + "end_time": {"key": "endTime", "type": "iso-8601"}, + "last_execution_status": {"key": "lastExecutionStatus", "type": "str"}, + "last_execution_time": {"key": "lastExecutionTime", "type": "iso-8601"}, + "next_execution_time": {"key": "nextExecutionTime", "type": "iso-8601"}, + } + + def __init__( + self, + *, + state: Optional[Union[str, "_models.State"]] = None, + execution_state: Optional[Union[str, "_models.ExecutionState"]] = None, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + last_execution_status: Optional[Union[str, "_models.LastExecutionStatus"]] = None, + last_execution_time: Optional[datetime.datetime] = None, + next_execution_time: Optional[datetime.datetime] = None, + **kwargs: Any + ) -> None: + """ + :keyword state: The state of the background job. Known values are: "Inactive", "Active", + "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", and "Suspended". + :paramtype state: str or ~azure.mgmt.azurearcdata.models.State + :keyword execution_state: The execution state of the background job. Known values are: + "Waiting" and "Running". + :paramtype execution_state: str or ~azure.mgmt.azurearcdata.models.ExecutionState + :keyword start_time: The start time of the background job. + :paramtype start_time: ~datetime.datetime + :keyword end_time: The end time of the background job. + :paramtype end_time: ~datetime.datetime + :keyword last_execution_status: The last execution status of the background job. Known values + are: "Succeeded", "Completed", "Failed", "Faulted", "Postponed", and "Rescheduled". + :paramtype last_execution_status: str or ~azure.mgmt.azurearcdata.models.LastExecutionStatus + :keyword last_execution_time: The last execution time of the background job in ISO 8601 + date-time format. + :paramtype last_execution_time: ~datetime.datetime + :keyword next_execution_time: The next execution time of the background job in ISO 8601 + date-time format. + :paramtype next_execution_time: ~datetime.datetime + """ + super().__init__(**kwargs) + self.state = state + self.execution_state = execution_state + self.start_time = start_time + self.end_time = end_time + self.last_execution_status = last_execution_status + self.last_execution_time = last_execution_time + self.next_execution_time = next_execution_time + + +class BackupPolicy(_serialization.Model): + """The backup profile for the SQL server. + + :ivar retention_period_days: The retention period for all the databases in this managed + instance. + :vartype retention_period_days: int + :ivar full_backup_days: The value indicating days between full backups. + :vartype full_backup_days: int + :ivar differential_backup_hours: The differential backup interval in hours. Known values are: + 12 and 24. + :vartype differential_backup_hours: int or + ~azure.mgmt.azurearcdata.models.DifferentialBackupHours + :ivar transaction_log_backup_minutes: The value indicating minutes between transaction log + backups. + :vartype transaction_log_backup_minutes: int + """ + + _validation = { + "retention_period_days": {"maximum": 35, "minimum": 0}, + "full_backup_days": {"maximum": 7, "minimum": 0}, + "transaction_log_backup_minutes": {"maximum": 60, "minimum": 0}, + } + + _attribute_map = { + "retention_period_days": {"key": "retentionPeriodDays", "type": "int"}, + "full_backup_days": {"key": "fullBackupDays", "type": "int"}, + "differential_backup_hours": {"key": "differentialBackupHours", "type": "int"}, + "transaction_log_backup_minutes": {"key": "transactionLogBackupMinutes", "type": "int"}, + } + + def __init__( + self, + *, + retention_period_days: Optional[int] = None, + full_backup_days: Optional[int] = None, + differential_backup_hours: Optional[Union[int, "_models.DifferentialBackupHours"]] = None, + transaction_log_backup_minutes: Optional[int] = None, + **kwargs: Any + ) -> None: + """ + :keyword retention_period_days: The retention period for all the databases in this managed + instance. + :paramtype retention_period_days: int + :keyword full_backup_days: The value indicating days between full backups. + :paramtype full_backup_days: int + :keyword differential_backup_hours: The differential backup interval in hours. Known values + are: 12 and 24. + :paramtype differential_backup_hours: int or + ~azure.mgmt.azurearcdata.models.DifferentialBackupHours + :keyword transaction_log_backup_minutes: The value indicating minutes between transaction log + backups. + :paramtype transaction_log_backup_minutes: int + """ + super().__init__(**kwargs) + self.retention_period_days = retention_period_days + self.full_backup_days = full_backup_days + self.differential_backup_hours = differential_backup_hours + self.transaction_log_backup_minutes = transaction_log_backup_minutes + + class BasicLoginInformation(_serialization.Model): """Username and password for basic login authentication. @@ -559,7 +1534,7 @@ class BasicLoginInformation(_serialization.Model): "password": {"key": "password", "type": "str"}, } - def __init__(self, *, username: Optional[str] = None, password: Optional[str] = None, **kwargs): + def __init__(self, *, username: Optional[str] = None, password: Optional[str] = None, **kwargs: Any) -> None: """ :keyword username: Login username. :paramtype username: str @@ -571,10 +1546,60 @@ def __init__(self, *, username: Optional[str] = None, password: Optional[str] = self.password = password +class BestPracticesAssessment(_serialization.Model): + """The configuration related to SQL best practices assessment. + + :ivar enabled: Indicates if SQL best practices assessment is enabled for the SQL Server + instance. + :vartype enabled: bool + :ivar schedule: The scheduling configuration. + :vartype schedule: ~azure.mgmt.azurearcdata.models.Schedule + """ + + _attribute_map = { + "enabled": {"key": "enabled", "type": "bool"}, + "schedule": {"key": "schedule", "type": "Schedule"}, + } + + def __init__( + self, *, enabled: Optional[bool] = None, schedule: Optional["_models.Schedule"] = None, **kwargs: Any + ) -> None: + """ + :keyword enabled: Indicates if SQL best practices assessment is enabled for the SQL Server + instance. + :paramtype enabled: bool + :keyword schedule: The scheduling configuration. + :paramtype schedule: ~azure.mgmt.azurearcdata.models.Schedule + """ + super().__init__(**kwargs) + self.enabled = enabled + self.schedule = schedule + + +class ClientConnection(_serialization.Model): + """Client connection related configuration. + + :ivar enabled: Indicates if client connection is enabled for this SQL Server instance. + :vartype enabled: bool + """ + + _attribute_map = { + "enabled": {"key": "enabled", "type": "bool"}, + } + + def __init__(self, *, enabled: Optional[bool] = None, **kwargs: Any) -> None: + """ + :keyword enabled: Indicates if client connection is enabled for this SQL Server instance. + :paramtype enabled: bool + """ + super().__init__(**kwargs) + self.enabled = enabled + + class CommonSku(_serialization.Model): """The resource model definition representing SKU for ARM resources. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar name: The name of the SKU. It is typically a letter+number code. Required. :vartype name: str @@ -612,8 +1637,8 @@ def __init__( size: Optional[str] = None, family: Optional[str] = None, capacity: Optional[int] = None, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword name: The name of the SKU. It is typically a letter+number code. Required. :paramtype name: str @@ -638,39 +1663,408 @@ def __init__( self.capacity = capacity -class DataControllerProperties(_serialization.Model): # pylint: disable=too-many-instance-attributes - """The data controller properties. +class CostOptionSelectedValues(_serialization.Model): + """Cost option value for the different cost factors selected. - Variables are only populated by the server, and will be ignored when sending a request. + :ivar compute_and_storage_cost_option: selected cost saving option e.g. With1YearASPAndDevTest. + :vartype compute_and_storage_cost_option: str + :ivar sql_license_cost_option: With Azure Hybrid Benefit(AHB) or not for SQL. + :vartype sql_license_cost_option: str + :ivar windows_license_cost_option: With Azure Hybrid Benefit(AHB) or not for Windows. + :vartype windows_license_cost_option: str + """ - :ivar infrastructure: The infrastructure the data controller is running on. Known values are: - "azure", "gcp", "aws", "alibaba", "onpremises", and "other". - :vartype infrastructure: str or ~azure.mgmt.azurearcdata.models.Infrastructure - :ivar on_premise_property: Properties from the Kubernetes data controller. - :vartype on_premise_property: ~azure.mgmt.azurearcdata.models.OnPremiseProperty - :ivar k8_s_raw: The raw kubernetes information. - :vartype k8_s_raw: JSON - :ivar upload_watermark: Properties on upload watermark. Mostly timestamp for each upload data - type. - :vartype upload_watermark: ~azure.mgmt.azurearcdata.models.UploadWatermark - :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date - time. - :vartype last_uploaded_date: ~datetime.datetime - :ivar basic_login_information: Deprecated. Azure Arc Data Services data controller no longer - expose any endpoint. All traffic are exposed through Kubernetes native API. - :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar metrics_dashboard_credential: Login credential for metrics dashboard on the Kubernetes - cluster. - :vartype metrics_dashboard_credential: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar logs_dashboard_credential: Login credential for logs dashboard on the Kubernetes cluster. - :vartype logs_dashboard_credential: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar log_analytics_workspace_config: Log analytics workspace id and primary key. - :vartype log_analytics_workspace_config: - ~azure.mgmt.azurearcdata.models.LogAnalyticsWorkspaceConfig - :ivar upload_service_principal: Deprecated. Service principal is deprecated in favor of Arc - Kubernetes service extension managed identity. - :vartype upload_service_principal: ~azure.mgmt.azurearcdata.models.UploadServicePrincipal - :ivar provisioning_state: The provisioning state of the Arc Data Controller resource. + _attribute_map = { + "compute_and_storage_cost_option": {"key": "computeAndStorageCostOption", "type": "str"}, + "sql_license_cost_option": {"key": "sqlLicenseCostOption", "type": "str"}, + "windows_license_cost_option": {"key": "windowsLicenseCostOption", "type": "str"}, + } + + def __init__( + self, + *, + compute_and_storage_cost_option: Optional[str] = None, + sql_license_cost_option: Optional[str] = None, + windows_license_cost_option: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword compute_and_storage_cost_option: selected cost saving option e.g. + With1YearASPAndDevTest. + :paramtype compute_and_storage_cost_option: str + :keyword sql_license_cost_option: With Azure Hybrid Benefit(AHB) or not for SQL. + :paramtype sql_license_cost_option: str + :keyword windows_license_cost_option: With Azure Hybrid Benefit(AHB) or not for Windows. + :paramtype windows_license_cost_option: str + """ + super().__init__(**kwargs) + self.compute_and_storage_cost_option = compute_and_storage_cost_option + self.sql_license_cost_option = sql_license_cost_option + self.windows_license_cost_option = windows_license_cost_option + + +class CostTypeValues(_serialization.Model): + """The Monthly cost of the particular SKU. + + :ivar compute_cost: Represents the Cost of Compute. + :vartype compute_cost: float + :ivar storage_cost: Represents the Cost of Storage. + :vartype storage_cost: float + :ivar iops_cost: Represents the Cost of IOPS. + :vartype iops_cost: float + """ + + _attribute_map = { + "compute_cost": {"key": "computeCost", "type": "float"}, + "storage_cost": {"key": "storageCost", "type": "float"}, + "iops_cost": {"key": "iopsCost", "type": "float"}, + } + + def __init__( + self, + *, + compute_cost: Optional[float] = None, + storage_cost: Optional[float] = None, + iops_cost: Optional[float] = None, + **kwargs: Any + ) -> None: + """ + :keyword compute_cost: Represents the Cost of Compute. + :paramtype compute_cost: float + :keyword storage_cost: Represents the Cost of Storage. + :paramtype storage_cost: float + :keyword iops_cost: Represents the Cost of IOPS. + :paramtype iops_cost: float + """ + super().__init__(**kwargs) + self.compute_cost = compute_cost + self.storage_cost = storage_cost + self.iops_cost = iops_cost + + +class CronTrigger(_serialization.Model): + """The cron trigger configuration. + + :ivar start_time: Indicates the start time for the trigger. The default value is the time at + which the trigger was created. + :vartype start_time: str + :ivar time_zone: The time zone in which the trigger is scheduled. + :vartype time_zone: str + :ivar expression: A cron string representing a CronTab expression. A crontab expression is a + very compact way to express a recurring schedule with the following format: '{minutes} {hours} + {days} {months} {days-of-week}'. + :vartype expression: str + """ + + _attribute_map = { + "start_time": {"key": "startTime", "type": "str"}, + "time_zone": {"key": "timeZone", "type": "str"}, + "expression": {"key": "expression", "type": "str"}, + } + + def __init__( + self, + *, + start_time: Optional[str] = None, + time_zone: Optional[str] = None, + expression: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword start_time: Indicates the start time for the trigger. The default value is the time at + which the trigger was created. + :paramtype start_time: str + :keyword time_zone: The time zone in which the trigger is scheduled. + :paramtype time_zone: str + :keyword expression: A cron string representing a CronTab expression. A crontab expression is a + very compact way to express a recurring schedule with the following format: '{minutes} {hours} + {days} {months} {days-of-week}'. + :paramtype expression: str + """ + super().__init__(**kwargs) + self.start_time = start_time + self.time_zone = time_zone + self.expression = expression + + +class DatabaseAssessmentsItem(_serialization.Model): + """DatabaseAssessmentsItem. + + :ivar applies_to_migration_target_platform: + :vartype applies_to_migration_target_platform: str + :ivar feature_id: + :vartype feature_id: str + :ivar issue_category: + :vartype issue_category: str + :ivar more_information: + :vartype more_information: str + """ + + _attribute_map = { + "applies_to_migration_target_platform": {"key": "appliesToMigrationTargetPlatform", "type": "str"}, + "feature_id": {"key": "featureId", "type": "str"}, + "issue_category": {"key": "issueCategory", "type": "str"}, + "more_information": {"key": "moreInformation", "type": "str"}, + } + + def __init__( + self, + *, + applies_to_migration_target_platform: Optional[str] = None, + feature_id: Optional[str] = None, + issue_category: Optional[str] = None, + more_information: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword applies_to_migration_target_platform: + :paramtype applies_to_migration_target_platform: str + :keyword feature_id: + :paramtype feature_id: str + :keyword issue_category: + :paramtype issue_category: str + :keyword more_information: + :paramtype more_information: str + """ + super().__init__(**kwargs) + self.applies_to_migration_target_platform = applies_to_migration_target_platform + self.feature_id = feature_id + self.issue_category = issue_category + self.more_information = more_information + + +class DataBaseMigration(_serialization.Model): + """Migration related configuration. + + :ivar assessment: Migration assessments related configuration. + :vartype assessment: ~azure.mgmt.azurearcdata.models.DataBaseMigrationAssessment + :ivar jobs: Migration jobs/actual data movement/data migrations associated with this database + related information. + :vartype jobs: list[~azure.mgmt.azurearcdata.models.DatabaseMigrationJobsItem] + """ + + _attribute_map = { + "assessment": {"key": "assessment", "type": "DataBaseMigrationAssessment"}, + "jobs": {"key": "jobs", "type": "[DatabaseMigrationJobsItem]"}, + } + + def __init__( + self, + *, + assessment: Optional["_models.DataBaseMigrationAssessment"] = None, + jobs: Optional[list["_models.DatabaseMigrationJobsItem"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword assessment: Migration assessments related configuration. + :paramtype assessment: ~azure.mgmt.azurearcdata.models.DataBaseMigrationAssessment + :keyword jobs: Migration jobs/actual data movement/data migrations associated with this + database related information. + :paramtype jobs: list[~azure.mgmt.azurearcdata.models.DatabaseMigrationJobsItem] + """ + super().__init__(**kwargs) + self.assessment = assessment + self.jobs = jobs + + +class DataBaseMigrationAssessment(_serialization.Model): + """The migration assessment related configuration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar assessment_upload_time: The time when Migration Assessment Report upload was last + performed. + :vartype assessment_upload_time: ~datetime.datetime + :ivar target_recommendation_generation_time: The UTC timestamp in ISO 8601 format indicating + when the latest target recommendations were generated for this database. This value is set as + part of a successful RunTargetRecommendation job and is independent of when the migration + readiness results were uploaded (assessmentUploadTime). + :vartype target_recommendation_generation_time: ~datetime.datetime + :ivar database_assessments: Issues and warnings impacting the migration of Database to + particular Azure Migration Target. + :vartype database_assessments: list[~azure.mgmt.azurearcdata.models.DatabaseAssessmentsItem] + :ivar target_readiness: The target readiness for migration for this database. + :vartype target_readiness: ~azure.mgmt.azurearcdata.models.TargetReadiness + """ + + _validation = { + "assessment_upload_time": {"readonly": True}, + "target_recommendation_generation_time": {"readonly": True}, + "database_assessments": {"readonly": True}, + "target_readiness": {"readonly": True}, + } + + _attribute_map = { + "assessment_upload_time": {"key": "assessmentUploadTime", "type": "iso-8601"}, + "target_recommendation_generation_time": {"key": "targetRecommendationGenerationTime", "type": "iso-8601"}, + "database_assessments": {"key": "databaseAssessments", "type": "[DatabaseAssessmentsItem]"}, + "target_readiness": {"key": "targetReadiness", "type": "TargetReadiness"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.assessment_upload_time: Optional[datetime.datetime] = None + self.target_recommendation_generation_time: Optional[datetime.datetime] = None + self.database_assessments: Optional[list["_models.DatabaseAssessmentsItem"]] = None + self.target_readiness: Optional["_models.TargetReadiness"] = None + + +class DatabaseMigrationJobsItem(_serialization.Model): + """DatabaseMigrationJobsItem. + + :ivar migration_tracking_id: Reference identifier for tracking purposes/optional link to system + initiating this migration. e.g. Arc MI link job id, DMS resource id. + :vartype migration_tracking_id: str + :ivar migration_mode: Mode/type of migration. Known values are: "LogShipping", "MILink", + "Logical", "Other", and "Unknown". + :vartype migration_mode: str or ~azure.mgmt.azurearcdata.models.MigrationMode + :ivar initiated_from: To indicate the client from which the migration is initiated from e.g. + Azure Arc, DMS-Azure Portal/PS/CLI for additional tracking. Known values are: "Azure Arc", + "ADS", "SSMS", "SSMA", "DMS-Portal", "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". + :vartype initiated_from: str or ~azure.mgmt.azurearcdata.models.InitiatedFrom + :ivar status: Status of the migration job. Known values are: "NotStarted", "InProgress", + "InProgressWithWarnings", "Cancelled", "Failed", "Successful", and "Unknown". + :vartype status: str or ~azure.mgmt.azurearcdata.models.MigrationStatus + :ivar last_error: Last error if any associated with this migration job. + :vartype last_error: str + :ivar target_type: Type of target in Azure this database is being migrated to. Known values + are: "AzureSqlDatabase", "AzureSqlManagedInstance", and "AzureSqlVirtualMachine". + :vartype target_type: str or ~azure.mgmt.azurearcdata.models.TargetType + :ivar target_resource_id: Resource Id of the target SQL resource for this migration job. + :vartype target_resource_id: str + :ivar start_time: Time when migration job was started. + :vartype start_time: ~datetime.datetime + :ivar end_time: Time when migration job reached terminal state. + :vartype end_time: ~datetime.datetime + :ivar additional_attributes: + :vartype additional_attributes: + list[~azure.mgmt.azurearcdata.models.AdditionalMigrationJobAttributes] + """ + + _attribute_map = { + "migration_tracking_id": {"key": "migrationTrackingId", "type": "str"}, + "migration_mode": {"key": "migrationMode", "type": "str"}, + "initiated_from": {"key": "initiatedFrom", "type": "str"}, + "status": {"key": "status", "type": "str"}, + "last_error": {"key": "lastError", "type": "str"}, + "target_type": {"key": "targetType", "type": "str"}, + "target_resource_id": {"key": "targetResourceId", "type": "str"}, + "start_time": {"key": "startTime", "type": "iso-8601"}, + "end_time": {"key": "endTime", "type": "iso-8601"}, + "additional_attributes": {"key": "additionalAttributes", "type": "[AdditionalMigrationJobAttributes]"}, + } + + def __init__( + self, + *, + migration_tracking_id: Optional[str] = None, + migration_mode: Optional[Union[str, "_models.MigrationMode"]] = None, + initiated_from: Optional[Union[str, "_models.InitiatedFrom"]] = None, + status: Optional[Union[str, "_models.MigrationStatus"]] = None, + last_error: Optional[str] = None, + target_type: Optional[Union[str, "_models.TargetType"]] = None, + target_resource_id: Optional[str] = None, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + additional_attributes: Optional[list["_models.AdditionalMigrationJobAttributes"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword migration_tracking_id: Reference identifier for tracking purposes/optional link to + system initiating this migration. e.g. Arc MI link job id, DMS resource id. + :paramtype migration_tracking_id: str + :keyword migration_mode: Mode/type of migration. Known values are: "LogShipping", "MILink", + "Logical", "Other", and "Unknown". + :paramtype migration_mode: str or ~azure.mgmt.azurearcdata.models.MigrationMode + :keyword initiated_from: To indicate the client from which the migration is initiated from e.g. + Azure Arc, DMS-Azure Portal/PS/CLI for additional tracking. Known values are: "Azure Arc", + "ADS", "SSMS", "SSMA", "DMS-Portal", "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". + :paramtype initiated_from: str or ~azure.mgmt.azurearcdata.models.InitiatedFrom + :keyword status: Status of the migration job. Known values are: "NotStarted", "InProgress", + "InProgressWithWarnings", "Cancelled", "Failed", "Successful", and "Unknown". + :paramtype status: str or ~azure.mgmt.azurearcdata.models.MigrationStatus + :keyword last_error: Last error if any associated with this migration job. + :paramtype last_error: str + :keyword target_type: Type of target in Azure this database is being migrated to. Known values + are: "AzureSqlDatabase", "AzureSqlManagedInstance", and "AzureSqlVirtualMachine". + :paramtype target_type: str or ~azure.mgmt.azurearcdata.models.TargetType + :keyword target_resource_id: Resource Id of the target SQL resource for this migration job. + :paramtype target_resource_id: str + :keyword start_time: Time when migration job was started. + :paramtype start_time: ~datetime.datetime + :keyword end_time: Time when migration job reached terminal state. + :paramtype end_time: ~datetime.datetime + :keyword additional_attributes: + :paramtype additional_attributes: + list[~azure.mgmt.azurearcdata.models.AdditionalMigrationJobAttributes] + """ + super().__init__(**kwargs) + self.migration_tracking_id = migration_tracking_id + self.migration_mode = migration_mode + self.initiated_from = initiated_from + self.status = status + self.last_error = last_error + self.target_type = target_type + self.target_resource_id = target_resource_id + self.start_time = start_time + self.end_time = end_time + self.additional_attributes = additional_attributes + + +class Databases(_serialization.Model): + """List of database names. + + :ivar values: List of database names. + :vartype values: list[str] + """ + + _attribute_map = { + "values": {"key": "values", "type": "[str]"}, + } + + def __init__(self, *, values: Optional[list[str]] = None, **kwargs: Any) -> None: + """ + :keyword values: List of database names. + :paramtype values: list[str] + """ + super().__init__(**kwargs) + self.values = values + + +class DataControllerProperties(_serialization.Model): + """The data controller properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar infrastructure: The infrastructure the data controller is running on. Known values are: + "azure", "gcp", "aws", "alibaba", "onpremises", and "other". + :vartype infrastructure: str or ~azure.mgmt.azurearcdata.models.Infrastructure + :ivar on_premise_property: Properties from the Kubernetes data controller. + :vartype on_premise_property: ~azure.mgmt.azurearcdata.models.OnPremiseProperty + :ivar k8_s_raw: The raw kubernetes information. + :vartype k8_s_raw: JSON + :ivar upload_watermark: Properties on upload watermark. Mostly timestamp for each upload data + type. + :vartype upload_watermark: ~azure.mgmt.azurearcdata.models.UploadWatermark + :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date + time. + :vartype last_uploaded_date: ~datetime.datetime + :ivar basic_login_information: Deprecated. Azure Arc Data Services data controller no longer + expose any endpoint. All traffic are exposed through Kubernetes native API. + :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar metrics_dashboard_credential: Login credential for metrics dashboard on the Kubernetes + cluster. + :vartype metrics_dashboard_credential: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar logs_dashboard_credential: Login credential for logs dashboard on the Kubernetes cluster. + :vartype logs_dashboard_credential: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar log_analytics_workspace_config: Log analytics workspace id and primary key. + :vartype log_analytics_workspace_config: + ~azure.mgmt.azurearcdata.models.LogAnalyticsWorkspaceConfig + :ivar upload_service_principal: Deprecated. Service principal is deprecated in favor of Arc + Kubernetes service extension managed identity. + :vartype upload_service_principal: ~azure.mgmt.azurearcdata.models.UploadServicePrincipal + :ivar provisioning_state: The provisioning state of the Arc Data Controller resource. :vartype provisioning_state: str :ivar cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to. @@ -715,8 +2109,8 @@ def __init__( upload_service_principal: Optional["_models.UploadServicePrincipal"] = None, cluster_id: Optional[str] = None, extension_id: Optional[str] = None, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword infrastructure: The infrastructure the data controller is running on. Known values are: "azure", "gcp", "aws", "alibaba", "onpremises", and "other". @@ -764,17 +2158,18 @@ def __init__( self.logs_dashboard_credential = logs_dashboard_credential self.log_analytics_workspace_config = log_analytics_workspace_config self.upload_service_principal = upload_service_principal - self.provisioning_state = None + self.provisioning_state: Optional[str] = None self.cluster_id = cluster_id self.extension_id = extension_id class TrackedResource(Resource): - """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. + """The resource model definition for an Azure Resource Manager tracked top level resource which + has 'tags' and a 'location'. Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. @@ -810,7 +2205,7 @@ class TrackedResource(Resource): "location": {"key": "location", "type": "str"}, } - def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs): + def __init__(self, *, location: str, tags: Optional[dict[str, str]] = None, **kwargs: Any) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] @@ -827,7 +2222,7 @@ class DataControllerResource(TrackedResource): Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. @@ -875,10 +2270,10 @@ def __init__( *, location: str, properties: "_models.DataControllerProperties", - tags: Optional[Dict[str, str]] = None, + tags: Optional[dict[str, str]] = None, extended_location: Optional["_models.ExtendedLocation"] = None, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] @@ -911,10 +2306,10 @@ class DataControllerUpdate(_serialization.Model): def __init__( self, *, - tags: Optional[Dict[str, str]] = None, + tags: Optional[dict[str, str]] = None, properties: Optional["_models.DataControllerProperties"] = None, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] @@ -926,441 +2321,513 @@ def __init__( self.properties = properties -class ErrorResponse(_serialization.Model): - """An error response from the Azure Data on Azure Arc service. +class DBMEndpoint(_serialization.Model): + """Database mirroring endpoint related properties. + + Variables are only populated by the server, and will be ignored when sending a request. - :ivar error: null. - :vartype error: ~azure.mgmt.azurearcdata.models.ErrorResponseBody + :ivar endpoint_name: Name of the database mirroring endpoint. + :vartype endpoint_name: str + :ivar role: Mirroring Role. Known values are: "NONE", "PARTNER", "WITNESS", and "ALL". + :vartype role: str or ~azure.mgmt.azurearcdata.models.Role + :ivar is_encryption_enabled: Is Encryption enabled. + :vartype is_encryption_enabled: bool + :ivar encryption_algorithm: Encryption Algorithm. Known values are: "NONE", "RC4", "AES", + "NONE, RC4", "NONE, AES", "RC4, AES", "AES, RC4", "NONE, RC4, AES", and "NONE, AES, RC4". + :vartype encryption_algorithm: str or ~azure.mgmt.azurearcdata.models.EncryptionAlgorithm + :ivar connection_auth: The type of connection authentication required for connections to this + endpoint. Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", + "Certificate", "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", + "Windows_Negotiate_Certificate", "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", + and "Certificate_Windows_Negotiate". + :vartype connection_auth: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth + :ivar port: The port number that the endpoint is listening on. + :vartype port: int + :ivar is_dynamic_port: Is the port number dynamically assigned. + :vartype is_dynamic_port: bool + :ivar ip_address: Listener IP address. + :vartype ip_address: str + :ivar certificate_name: Name of the certificate. + :vartype certificate_name: str + :ivar certificate_expiry_date: The certificate expiry date. + :vartype certificate_expiry_date: ~datetime.datetime """ + _validation = { + "endpoint_name": {"readonly": True}, + "role": {"readonly": True}, + "is_encryption_enabled": {"readonly": True}, + "encryption_algorithm": {"readonly": True}, + "connection_auth": {"readonly": True}, + "port": {"readonly": True}, + "is_dynamic_port": {"readonly": True}, + "ip_address": {"readonly": True}, + "certificate_name": {"readonly": True}, + "certificate_expiry_date": {"readonly": True}, + } + _attribute_map = { - "error": {"key": "error", "type": "ErrorResponseBody"}, + "endpoint_name": {"key": "endpointName", "type": "str"}, + "role": {"key": "role", "type": "str"}, + "is_encryption_enabled": {"key": "isEncryptionEnabled", "type": "bool"}, + "encryption_algorithm": {"key": "encryptionAlgorithm", "type": "str"}, + "connection_auth": {"key": "connectionAuth", "type": "str"}, + "port": {"key": "port", "type": "int"}, + "is_dynamic_port": {"key": "isDynamicPort", "type": "bool"}, + "ip_address": {"key": "ipAddress", "type": "str"}, + "certificate_name": {"key": "certificateName", "type": "str"}, + "certificate_expiry_date": {"key": "certificateExpiryDate", "type": "iso-8601"}, } - def __init__(self, *, error: Optional["_models.ErrorResponseBody"] = None, **kwargs): - """ - :keyword error: null. - :paramtype error: ~azure.mgmt.azurearcdata.models.ErrorResponseBody - """ + def __init__(self, **kwargs: Any) -> None: + """ """ super().__init__(**kwargs) - self.error = error - - -class ErrorResponseBody(_serialization.Model): - """An error response from the Batch service. - - :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 display 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.azurearcdata.models.ErrorResponseBody] + self.endpoint_name: Optional[str] = None + self.role: Optional[Union[str, "_models.Role"]] = None + self.is_encryption_enabled: Optional[bool] = None + self.encryption_algorithm: Optional[Union[str, "_models.EncryptionAlgorithm"]] = None + self.connection_auth: Optional[Union[str, "_models.ConnectionAuth"]] = None + self.port: Optional[int] = None + self.is_dynamic_port: Optional[bool] = None + self.ip_address: Optional[str] = None + self.certificate_name: Optional[str] = None + self.certificate_expiry_date: Optional[datetime.datetime] = None + + +class DiskSizes(_serialization.Model): + """disk size values. + + :ivar disk_type: Type of managed disk. + :vartype disk_type: str + :ivar redundancy: Redundancy option. + :vartype redundancy: str + :ivar size: Size of the managed disk - e.g. P30, P40. + :vartype size: str + :ivar caching: Caching configuration - e.g. read only caching. + :vartype caching: str + :ivar max_size_in_gib: maximum disk size in GiB. + :vartype max_size_in_gib: float + :ivar max_throughput_in_mbps: maximum throughput in MB/s. + :vartype max_throughput_in_mbps: float + :ivar max_iops: maximum IO requirements/s (IOPS). + :vartype max_iops: float """ _attribute_map = { - "code": {"key": "code", "type": "str"}, - "message": {"key": "message", "type": "str"}, - "target": {"key": "target", "type": "str"}, - "details": {"key": "details", "type": "[ErrorResponseBody]"}, + "disk_type": {"key": "diskType", "type": "str"}, + "redundancy": {"key": "redundancy", "type": "str"}, + "size": {"key": "size", "type": "str"}, + "caching": {"key": "caching", "type": "str"}, + "max_size_in_gib": {"key": "maxSizeInGib", "type": "float"}, + "max_throughput_in_mbps": {"key": "maxThroughputInMbps", "type": "float"}, + "max_iops": {"key": "maxIops", "type": "float"}, } def __init__( self, *, - code: Optional[str] = None, - message: Optional[str] = None, - target: Optional[str] = None, - details: Optional[List["_models.ErrorResponseBody"]] = None, - **kwargs - ): + disk_type: Optional[str] = None, + redundancy: Optional[str] = None, + size: Optional[str] = None, + caching: Optional[str] = None, + max_size_in_gib: Optional[float] = None, + max_throughput_in_mbps: Optional[float] = None, + max_iops: Optional[float] = 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 display 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.azurearcdata.models.ErrorResponseBody] + :keyword disk_type: Type of managed disk. + :paramtype disk_type: str + :keyword redundancy: Redundancy option. + :paramtype redundancy: str + :keyword size: Size of the managed disk - e.g. P30, P40. + :paramtype size: str + :keyword caching: Caching configuration - e.g. read only caching. + :paramtype caching: str + :keyword max_size_in_gib: maximum disk size in GiB. + :paramtype max_size_in_gib: float + :keyword max_throughput_in_mbps: maximum throughput in MB/s. + :paramtype max_throughput_in_mbps: float + :keyword max_iops: maximum IO requirements/s (IOPS). + :paramtype max_iops: float """ super().__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details + self.disk_type = disk_type + self.redundancy = redundancy + self.size = size + self.caching = caching + self.max_size_in_gib = max_size_in_gib + self.max_throughput_in_mbps = max_throughput_in_mbps + self.max_iops = max_iops -class ExtendedLocation(_serialization.Model): - """The complex type of the extended location. +class DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration( + _serialization.Model +): # pylint: disable=name-too-long + """The availability group certificate configuration. - :ivar name: The name of the extended location. - :vartype name: str - :ivar type: The type of the extended location. "CustomLocation" - :vartype type: str or ~azure.mgmt.azurearcdata.models.ExtendedLocationTypes + :ivar certificate_name: Name of the certificate. + :vartype certificate_name: str """ _attribute_map = { - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, + "certificate_name": {"key": "certificateName", "type": "str"}, } - def __init__( - self, - *, - name: Optional[str] = None, - type: Optional[Union[str, "_models.ExtendedLocationTypes"]] = None, - **kwargs - ): + def __init__(self, *, certificate_name: Optional[str] = None, **kwargs: Any) -> None: """ - :keyword name: The name of the extended location. - :paramtype name: str - :keyword type: The type of the extended location. "CustomLocation" - :paramtype type: str or ~azure.mgmt.azurearcdata.models.ExtendedLocationTypes + :keyword certificate_name: Name of the certificate. + :paramtype certificate_name: str """ super().__init__(**kwargs) - self.name = name - self.type = type - - -class K8SResourceRequirements(_serialization.Model): - """The kubernetes resource limits and requests used to restrict or reserve resource usage. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, JSON] - :ivar requests: Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' - request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default - 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and - maximum 'memory' is '128Gi'. - :vartype requests: dict[str, str] - :ivar limits: Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request - must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' - is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum - 'memory' is '128Gi'. - :vartype limits: dict[str, str] + self.certificate_name = certificate_name + + +class DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration( + _serialization.Model +): # pylint: disable=name-too-long + """The availability group configuration specification for a distributed availability group. + + :ivar availability_group: The azure resource identifier for the availability group. + :vartype availability_group: str + :ivar listener_url: The listener URL of the availability group. + :vartype listener_url: str + :ivar availability_mode: The availability mode of the availability group. Known values are: + "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". + :vartype availability_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode + :ivar failover_mode: The failover mode of the availability group. Known values are: + "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". + :vartype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode + :ivar seeding_mode: The seeding mode of the availability group. Known values are: "AUTOMATIC" + and "MANUAL". + :vartype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode + :ivar certificate_configuration: The certificate configuration for the availability group. + :vartype certificate_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration """ _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "requests": {"key": "requests", "type": "{str}"}, - "limits": {"key": "limits", "type": "{str}"}, + "availability_group": {"key": "availabilityGroup", "type": "str"}, + "listener_url": {"key": "listenerUrl", "type": "str"}, + "availability_mode": {"key": "availabilityMode", "type": "str"}, + "failover_mode": {"key": "failoverMode", "type": "str"}, + "seeding_mode": {"key": "seedingMode", "type": "str"}, + "certificate_configuration": { + "key": "certificateConfiguration", + "type": "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration", + }, } def __init__( self, *, - additional_properties: Optional[Dict[str, JSON]] = None, - requests: Optional[Dict[str, str]] = None, - limits: Optional[Dict[str, str]] = None, - **kwargs - ): + availability_group: Optional[str] = None, + listener_url: Optional[str] = None, + availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = None, + failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = None, + seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = None, + certificate_configuration: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration" + ] = None, + **kwargs: Any + ) -> None: """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, JSON] - :keyword requests: Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' - request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default - 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and - maximum 'memory' is '128Gi'. - :paramtype requests: dict[str, str] - :keyword limits: Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request - must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' - is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum - 'memory' is '128Gi'. - :paramtype limits: dict[str, str] + :keyword availability_group: The azure resource identifier for the availability group. + :paramtype availability_group: str + :keyword listener_url: The listener URL of the availability group. + :paramtype listener_url: str + :keyword availability_mode: The availability mode of the availability group. Known values are: + "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". + :paramtype availability_mode: str or + ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode + :keyword failover_mode: The failover mode of the availability group. Known values are: + "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". + :paramtype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode + :keyword seeding_mode: The seeding mode of the availability group. Known values are: + "AUTOMATIC" and "MANUAL". + :paramtype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode + :keyword certificate_configuration: The certificate configuration for the availability group. + :paramtype certificate_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration """ super().__init__(**kwargs) - self.additional_properties = additional_properties - self.requests = requests - self.limits = limits - - -class K8SScheduling(_serialization.Model): - """The kubernetes scheduling information. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, JSON] - :ivar default: The kubernetes scheduling options. It describes restrictions used to help - Kubernetes select appropriate nodes to host the database service. - :vartype default: ~azure.mgmt.azurearcdata.models.K8SSchedulingOptions + self.availability_group = availability_group + self.listener_url = listener_url + self.availability_mode = availability_mode + self.failover_mode = failover_mode + self.seeding_mode = seeding_mode + self.certificate_configuration = certificate_configuration + + +class DistributedAvailabilityGroupCreateUpdateConfiguration(_serialization.Model): # pylint: disable=name-too-long + """Options used in creating a distributed availability group. + + :ivar availability_group_name: Name of the availability group. + :vartype availability_group_name: str + :ivar primary_availability_group: The initial primary availability group for the distributed + availability group. + :vartype primary_availability_group: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration + :ivar secondary_availability_group: The initial secondary availability group for the + distributed availability group. + :vartype secondary_availability_group: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration """ _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "default": {"key": "default", "type": "K8SSchedulingOptions"}, + "availability_group_name": {"key": "availabilityGroupName", "type": "str"}, + "primary_availability_group": { + "key": "primaryAvailabilityGroup", + "type": "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration", + }, + "secondary_availability_group": { + "key": "secondaryAvailabilityGroup", + "type": "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration", + }, } def __init__( self, *, - additional_properties: Optional[Dict[str, JSON]] = None, - default: Optional["_models.K8SSchedulingOptions"] = None, - **kwargs - ): + availability_group_name: Optional[str] = None, + primary_availability_group: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration" + ] = None, + secondary_availability_group: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration" + ] = None, + **kwargs: Any + ) -> None: """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, JSON] - :keyword default: The kubernetes scheduling options. It describes restrictions used to help - Kubernetes select appropriate nodes to host the database service. - :paramtype default: ~azure.mgmt.azurearcdata.models.K8SSchedulingOptions + :keyword availability_group_name: Name of the availability group. + :paramtype availability_group_name: str + :keyword primary_availability_group: The initial primary availability group for the distributed + availability group. + :paramtype primary_availability_group: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration + :keyword secondary_availability_group: The initial secondary availability group for the + distributed availability group. + :paramtype secondary_availability_group: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration """ super().__init__(**kwargs) - self.additional_properties = additional_properties - self.default = default + self.availability_group_name = availability_group_name + self.primary_availability_group = primary_availability_group + self.secondary_availability_group = secondary_availability_group -class K8SSchedulingOptions(_serialization.Model): - """The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service. +class EntraAuthentication(_serialization.Model): + """Entra Authentication configuration. - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, JSON] - :ivar resources: The kubernetes resource limits and requests used to restrict or reserve - resource usage. - :vartype resources: ~azure.mgmt.azurearcdata.models.K8SResourceRequirements + :ivar identity_type: The method used for Entra authentication. Known values are: + "SystemAssignedManagedIdentity" and "UserAssignedManagedIdentity". + :vartype identity_type: str or ~azure.mgmt.azurearcdata.models.IdentityType + :ivar client_id: The client Id of the Managed Identity to query Microsoft Graph API. An empty + string must be used for the system assigned Managed Identity. + :vartype client_id: str """ _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "resources": {"key": "resources", "type": "K8SResourceRequirements"}, + "identity_type": {"key": "identityType", "type": "str"}, + "client_id": {"key": "clientId", "type": "str"}, } def __init__( self, *, - additional_properties: Optional[Dict[str, JSON]] = None, - resources: Optional["_models.K8SResourceRequirements"] = None, - **kwargs - ): + identity_type: Optional[Union[str, "_models.IdentityType"]] = None, + client_id: Optional[str] = None, + **kwargs: Any + ) -> None: """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, JSON] - :keyword resources: The kubernetes resource limits and requests used to restrict or reserve - resource usage. - :paramtype resources: ~azure.mgmt.azurearcdata.models.K8SResourceRequirements + :keyword identity_type: The method used for Entra authentication. Known values are: + "SystemAssignedManagedIdentity" and "UserAssignedManagedIdentity". + :paramtype identity_type: str or ~azure.mgmt.azurearcdata.models.IdentityType + :keyword client_id: The client Id of the Managed Identity to query Microsoft Graph API. An + empty string must be used for the system assigned Managed Identity. + :paramtype client_id: str """ super().__init__(**kwargs) - self.additional_properties = additional_properties - self.resources = resources + self.identity_type = identity_type + self.client_id = client_id -class KeytabInformation(_serialization.Model): - """Keytab used for authenticate with Active Directory. +class ErrorAdditionalInfo(_serialization.Model): + """The resource management error additional info. - :ivar keytab: A base64-encoded keytab. - :vartype keytab: str + 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 = { - "keytab": {"key": "keytab", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "info": {"key": "info", "type": "object"}, } - def __init__(self, *, keytab: Optional[str] = None, **kwargs): - """ - :keyword keytab: A base64-encoded keytab. - :paramtype keytab: str - """ + def __init__(self, **kwargs: Any) -> None: + """ """ super().__init__(**kwargs) - self.keytab = keytab + self.type: Optional[str] = None + self.info: Optional[JSON] = None -class LogAnalyticsWorkspaceConfig(_serialization.Model): - """Log analytics workspace id and primary key. +class ErrorDetail(_serialization.Model): + """The error detail. - :ivar workspace_id: Azure Log Analytics workspace ID. - :vartype workspace_id: str - :ivar primary_key: Primary key of the workspace. - :vartype primary_key: str + 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.azurearcdata.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~azure.mgmt.azurearcdata.models.ErrorAdditionalInfo] """ + _validation = { + "code": {"readonly": True}, + "message": {"readonly": True}, + "target": {"readonly": True}, + "details": {"readonly": True}, + "additional_info": {"readonly": True}, + } + _attribute_map = { - "workspace_id": {"key": "workspaceId", "type": "str"}, - "primary_key": {"key": "primaryKey", "type": "str"}, + "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, *, workspace_id: Optional[str] = None, primary_key: Optional[str] = None, **kwargs): - """ - :keyword workspace_id: Azure Log Analytics workspace ID. - :paramtype workspace_id: str - :keyword primary_key: Primary key of the workspace. - :paramtype primary_key: str - """ + def __init__(self, **kwargs: Any) -> None: + """ """ super().__init__(**kwargs) - self.workspace_id = workspace_id - self.primary_key = primary_key + self.code: Optional[str] = None + self.message: Optional[str] = None + self.target: Optional[str] = None + self.details: Optional[list["_models.ErrorDetail"]] = None + self.additional_info: Optional[list["_models.ErrorAdditionalInfo"]] = None -class OnPremiseProperty(_serialization.Model): - """Properties from the Kubernetes data controller. - - All required parameters must be populated in order to send to Azure. +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 id: A globally unique ID identifying the associated Kubernetes cluster. Required. - :vartype id: str - :ivar public_signing_key: Certificate that contains the Kubernetes cluster public key used to - verify signing. Required. - :vartype public_signing_key: str - :ivar signing_certificate_thumbprint: Unique thumbprint returned to customer to verify the - certificate being uploaded. - :vartype signing_certificate_thumbprint: str + :ivar error: The error object. + :vartype error: ~azure.mgmt.azurearcdata.models.ErrorDetail """ - _validation = { - "id": {"required": True}, - "public_signing_key": {"required": True}, - } - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "public_signing_key": {"key": "publicSigningKey", "type": "str"}, - "signing_certificate_thumbprint": {"key": "signingCertificateThumbprint", "type": "str"}, + "error": {"key": "error", "type": "ErrorDetail"}, } - def __init__( - self, - *, - id: str, # pylint: disable=redefined-builtin - public_signing_key: str, - signing_certificate_thumbprint: Optional[str] = None, - **kwargs - ): + def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs: Any) -> None: """ - :keyword id: A globally unique ID identifying the associated Kubernetes cluster. Required. - :paramtype id: str - :keyword public_signing_key: Certificate that contains the Kubernetes cluster public key used - to verify signing. Required. - :paramtype public_signing_key: str - :keyword signing_certificate_thumbprint: Unique thumbprint returned to customer to verify the - certificate being uploaded. - :paramtype signing_certificate_thumbprint: str + :keyword error: The error object. + :paramtype error: ~azure.mgmt.azurearcdata.models.ErrorDetail """ super().__init__(**kwargs) - self.id = id - self.public_signing_key = public_signing_key - self.signing_certificate_thumbprint = signing_certificate_thumbprint - - -class Operation(_serialization.Model): - """Azure Data Services on Azure Arc operation definition. + self.error = error - Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. +class ExtendedLocation(_serialization.Model): + """The complex type of the extended location. - :ivar name: The name of the operation being performed on this particular object. Required. + :ivar name: The name of the extended location. :vartype name: str - :ivar display: The localized display information for this particular operation / action. - Required. - :vartype display: ~azure.mgmt.azurearcdata.models.OperationDisplay - :ivar origin: The intended executor of the operation. Known values are: "user" and "system". - :vartype origin: str or ~azure.mgmt.azurearcdata.models.OperationOrigin - :ivar is_data_action: Indicates whether the operation is a data action. Required. - :vartype is_data_action: bool - :ivar properties: Additional descriptions for the operation. - :vartype properties: dict[str, JSON] + :ivar type: The type of the extended location. "CustomLocation" + :vartype type: str or ~azure.mgmt.azurearcdata.models.ExtendedLocationTypes """ - _validation = { - "name": {"required": True}, - "display": {"required": True}, - "origin": {"readonly": True}, - "is_data_action": {"required": True}, - "properties": {"readonly": True}, - } - _attribute_map = { "name": {"key": "name", "type": "str"}, - "display": {"key": "display", "type": "OperationDisplay"}, - "origin": {"key": "origin", "type": "str"}, - "is_data_action": {"key": "isDataAction", "type": "bool"}, - "properties": {"key": "properties", "type": "{object}"}, + "type": {"key": "type", "type": "str"}, } - def __init__(self, *, name: str, display: "_models.OperationDisplay", is_data_action: bool, **kwargs): + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[Union[str, "_models.ExtendedLocationTypes"]] = None, + **kwargs: Any + ) -> None: """ - :keyword name: The name of the operation being performed on this particular object. Required. + :keyword name: The name of the extended location. :paramtype name: str - :keyword display: The localized display information for this particular operation / action. - Required. - :paramtype display: ~azure.mgmt.azurearcdata.models.OperationDisplay - :keyword is_data_action: Indicates whether the operation is a data action. Required. - :paramtype is_data_action: bool + :keyword type: The type of the extended location. "CustomLocation" + :paramtype type: str or ~azure.mgmt.azurearcdata.models.ExtendedLocationTypes """ super().__init__(**kwargs) self.name = name - self.display = display - self.origin = None - self.is_data_action = is_data_action - self.properties = None + self.type = type -class OperationDisplay(_serialization.Model): - """Display metadata associated with the operation. +class FailoverCluster(_serialization.Model): + """Failover Cluster Instance properties. - All required parameters must be populated in order to send to Azure. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar provider: The localized friendly form of the resource provider name. Required. - :vartype provider: str - :ivar resource: The localized friendly form of the resource type related to this - action/operation. Required. - :vartype resource: str - :ivar operation: The localized friendly name for the operation. Required. - :vartype operation: str - :ivar description: The localized friendly description for the operation. Required. - :vartype description: str + :ivar id: The GUID of the SQL Server's underlying Failover Cluster. + :vartype id: str + :ivar network_name: The network name to connect to the SQL FCI. + :vartype network_name: str + :ivar sql_instance_ids: The ARM IDs of the Arc SQL Server resources, belonging to the current + server's Failover cluster. + :vartype sql_instance_ids: list[str] + :ivar host_names: The host names which are part of the SQL FCI resource group. + :vartype host_names: list[str] + :ivar host_ip_addresses: The IP addresses and subnet masks associated with the SQL Failover + Cluster Instance on this host. + :vartype host_ip_addresses: list[~azure.mgmt.azurearcdata.models.HostIPAddressInformation] """ _validation = { - "provider": {"required": True}, - "resource": {"required": True}, - "operation": {"required": True}, - "description": {"required": True}, + "id": {"readonly": True}, + "network_name": {"readonly": True}, + "sql_instance_ids": {"readonly": True}, + "host_names": {"readonly": True}, + "host_ip_addresses": {"readonly": True}, } _attribute_map = { - "provider": {"key": "provider", "type": "str"}, - "resource": {"key": "resource", "type": "str"}, - "operation": {"key": "operation", "type": "str"}, - "description": {"key": "description", "type": "str"}, + "id": {"key": "id", "type": "str"}, + "network_name": {"key": "networkName", "type": "str"}, + "sql_instance_ids": {"key": "sqlInstanceIds", "type": "[str]"}, + "host_names": {"key": "hostNames", "type": "[str]"}, + "host_ip_addresses": {"key": "hostIPAddresses", "type": "[HostIPAddressInformation]"}, } - def __init__(self, *, provider: str, resource: str, operation: str, description: str, **kwargs): - """ - :keyword provider: The localized friendly form of the resource provider name. Required. - :paramtype provider: str - :keyword resource: The localized friendly form of the resource type related to this - action/operation. Required. - :paramtype resource: str - :keyword operation: The localized friendly name for the operation. Required. - :paramtype operation: str - :keyword description: The localized friendly description for the operation. Required. - :paramtype description: str - """ + def __init__(self, **kwargs: Any) -> None: + """ """ super().__init__(**kwargs) - self.provider = provider - self.resource = resource - self.operation = operation - self.description = description + self.id: Optional[str] = None + self.network_name: Optional[str] = None + self.sql_instance_ids: Optional[list[str]] = None + self.host_names: Optional[list[str]] = None + self.host_ip_addresses: Optional[list["_models.HostIPAddressInformation"]] = None -class OperationListResult(_serialization.Model): - """Result of the request to list Azure Data Services on Azure Arc operations. +class FailoverGroupListResult(_serialization.Model): + """A list of failover groups. Variables are only populated by the server, and will be ignored when sending a request. - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.Operation] + :ivar value: Array of failover group results. + :vartype value: list[~azure.mgmt.azurearcdata.models.FailoverGroupResource] :ivar next_link: Link to retrieve next page of results. :vartype next_link: str """ @@ -1371,55 +2838,88 @@ class OperationListResult(_serialization.Model): } _attribute_map = { - "value": {"key": "value", "type": "[Operation]"}, + "value": {"key": "value", "type": "[FailoverGroupResource]"}, "next_link": {"key": "nextLink", "type": "str"}, } - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) - self.value = None - self.next_link = None + self.value: Optional[list["_models.FailoverGroupResource"]] = None + self.next_link: Optional[str] = None -class PageOfDataControllerResource(_serialization.Model): - """A list of data controllers. +class FailoverGroupProperties(_serialization.Model): + """The properties of a failover group resource. - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.DataControllerResource] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar provisioning_state: The provisioning state of the failover group resource. Known values + are: "Succeeded", "Failed", "Canceled", and "Accepted". + :vartype provisioning_state: str or ~azure.mgmt.azurearcdata.models.ProvisioningState + :ivar partner_managed_instance_id: The resource ID of the partner SQL managed instance. + Required. + :vartype partner_managed_instance_id: str + :ivar spec: The specifications of the failover group resource. Required. + :vartype spec: ~azure.mgmt.azurearcdata.models.FailoverGroupSpec + :ivar status: The status of the failover group custom resource. + :vartype status: JSON """ + _validation = { + "provisioning_state": {"readonly": True}, + "partner_managed_instance_id": {"required": True}, + "spec": {"required": True}, + } + _attribute_map = { - "value": {"key": "value", "type": "[DataControllerResource]"}, - "next_link": {"key": "nextLink", "type": "str"}, + "additional_properties": {"key": "", "type": "{object}"}, + "provisioning_state": {"key": "provisioningState", "type": "str"}, + "partner_managed_instance_id": {"key": "partnerManagedInstanceId", "type": "str"}, + "spec": {"key": "spec", "type": "FailoverGroupSpec"}, + "status": {"key": "status", "type": "object"}, } def __init__( self, *, - value: Optional[List["_models.DataControllerResource"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + partner_managed_instance_id: str, + spec: "_models.FailoverGroupSpec", + additional_properties: Optional[dict[str, Any]] = None, + status: Optional[JSON] = None, + **kwargs: Any + ) -> None: """ - :keyword value: Array of results. - :paramtype value: list[~azure.mgmt.azurearcdata.models.DataControllerResource] - :keyword next_link: Link to retrieve next page of results. - :paramtype next_link: str + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword partner_managed_instance_id: The resource ID of the partner SQL managed instance. + Required. + :paramtype partner_managed_instance_id: str + :keyword spec: The specifications of the failover group resource. Required. + :paramtype spec: ~azure.mgmt.azurearcdata.models.FailoverGroupSpec + :keyword status: The status of the failover group custom resource. + :paramtype status: JSON """ super().__init__(**kwargs) - self.value = value - self.next_link = next_link + self.additional_properties = additional_properties + self.provisioning_state: Optional[Union[str, "_models.ProvisioningState"]] = None + self.partner_managed_instance_id = partner_managed_instance_id + self.spec = spec + self.status = status -class PostgresInstance(TrackedResource): - """A Postgres Instance. +class FailoverGroupResource(ProxyResource): + """A failover group resource. Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. + All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. @@ -1432,16 +2932,8 @@ class PostgresInstance(TrackedResource): :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar extended_location: The extendedLocation of the resource. - :vartype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation :ivar properties: null. Required. - :vartype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties - :ivar sku: Resource sku. - :vartype sku: ~azure.mgmt.azurearcdata.models.PostgresInstanceSku + :vartype properties: ~azure.mgmt.azurearcdata.models.FailoverGroupProperties """ _validation = { @@ -1449,7 +2941,6 @@ class PostgresInstance(TrackedResource): "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, - "location": {"required": True}, "properties": {"required": True}, } @@ -1458,755 +2949,6018 @@ class PostgresInstance(TrackedResource): "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"}, - "properties": {"key": "properties", "type": "PostgresInstanceProperties"}, - "sku": {"key": "sku", "type": "PostgresInstanceSku"}, + "properties": {"key": "properties", "type": "FailoverGroupProperties"}, } - def __init__( - self, - *, - location: str, - properties: "_models.PostgresInstanceProperties", - tags: Optional[Dict[str, str]] = None, - extended_location: Optional["_models.ExtendedLocation"] = None, - sku: Optional["_models.PostgresInstanceSku"] = None, - **kwargs - ): + def __init__(self, *, properties: "_models.FailoverGroupProperties", **kwargs: Any) -> None: """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword extended_location: The extendedLocation of the resource. - :paramtype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation :keyword properties: null. Required. - :paramtype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties - :keyword sku: Resource sku. - :paramtype sku: ~azure.mgmt.azurearcdata.models.PostgresInstanceSku + :paramtype properties: ~azure.mgmt.azurearcdata.models.FailoverGroupProperties """ - super().__init__(tags=tags, location=location, **kwargs) - self.extended_location = extended_location + super().__init__(**kwargs) self.properties = properties - self.sku = sku -class PostgresInstanceListResult(_serialization.Model): - """A list of PostgresInstance. +class FailoverGroupSpec(_serialization.Model): + """The specifications of the failover group resource. - Variables are only populated by the server, and will be ignored when sending a request. + All required parameters must be populated in order to send to server. - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.PostgresInstance] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar shared_name: The shared name of the failover group for this SQL managed instance. Both + SQL managed instance and its partner have to use the same shared name. + :vartype shared_name: str + :ivar source_mi: The name of the SQL managed instance with this failover group role. + :vartype source_mi: str + :ivar partner_mi: The name of the partner SQL managed instance. + :vartype partner_mi: str + :ivar partner_mirroring_url: The mirroring endpoint URL of the partner SQL managed instance. + :vartype partner_mirroring_url: str + :ivar partner_mirroring_cert: The mirroring endpoint public certificate for the partner SQL + managed instance. Only PEM format is supported. + :vartype partner_mirroring_cert: str + :ivar partner_sync_mode: The partner sync mode of the SQL managed instance. Known values are: + "async" and "sync". + :vartype partner_sync_mode: str or ~azure.mgmt.azurearcdata.models.FailoverGroupPartnerSyncMode + :ivar role: The role of the SQL managed instance in this failover group. Known values are: + "primary", "secondary", "force-primary-allow-data-loss", and "force-secondary". + :vartype role: str or ~azure.mgmt.azurearcdata.models.InstanceFailoverGroupRole """ _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, + "role": {"required": True}, } _attribute_map = { - "value": {"key": "value", "type": "[PostgresInstance]"}, - "next_link": {"key": "nextLink", "type": "str"}, + "additional_properties": {"key": "", "type": "{object}"}, + "shared_name": {"key": "sharedName", "type": "str"}, + "source_mi": {"key": "sourceMI", "type": "str"}, + "partner_mi": {"key": "partnerMI", "type": "str"}, + "partner_mirroring_url": {"key": "partnerMirroringURL", "type": "str"}, + "partner_mirroring_cert": {"key": "partnerMirroringCert", "type": "str"}, + "partner_sync_mode": {"key": "partnerSyncMode", "type": "str"}, + "role": {"key": "role", "type": "str"}, } - def __init__(self, **kwargs): - """ """ + def __init__( + self, + *, + role: Union[str, "_models.InstanceFailoverGroupRole"] = "primary", + additional_properties: Optional[dict[str, Any]] = None, + shared_name: Optional[str] = None, + source_mi: Optional[str] = None, + partner_mi: Optional[str] = None, + partner_mirroring_url: Optional[str] = None, + partner_mirroring_cert: Optional[str] = None, + partner_sync_mode: Union[str, "_models.FailoverGroupPartnerSyncMode"] = "async", + **kwargs: Any + ) -> None: + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword shared_name: The shared name of the failover group for this SQL managed instance. Both + SQL managed instance and its partner have to use the same shared name. + :paramtype shared_name: str + :keyword source_mi: The name of the SQL managed instance with this failover group role. + :paramtype source_mi: str + :keyword partner_mi: The name of the partner SQL managed instance. + :paramtype partner_mi: str + :keyword partner_mirroring_url: The mirroring endpoint URL of the partner SQL managed instance. + :paramtype partner_mirroring_url: str + :keyword partner_mirroring_cert: The mirroring endpoint public certificate for the partner SQL + managed instance. Only PEM format is supported. + :paramtype partner_mirroring_cert: str + :keyword partner_sync_mode: The partner sync mode of the SQL managed instance. Known values + are: "async" and "sync". + :paramtype partner_sync_mode: str or + ~azure.mgmt.azurearcdata.models.FailoverGroupPartnerSyncMode + :keyword role: The role of the SQL managed instance in this failover group. Known values are: + "primary", "secondary", "force-primary-allow-data-loss", and "force-secondary". + :paramtype role: str or ~azure.mgmt.azurearcdata.models.InstanceFailoverGroupRole + """ super().__init__(**kwargs) - self.value = None - self.next_link = None + self.additional_properties = additional_properties + self.shared_name = shared_name + self.source_mi = source_mi + self.partner_mi = partner_mi + self.partner_mirroring_url = partner_mirroring_url + self.partner_mirroring_cert = partner_mirroring_cert + self.partner_sync_mode = partner_sync_mode + self.role = role + + +class FailoverMiLinkResourceId(_serialization.Model): + """The azure resource identifier for the Sql Managed Instance. + + :ivar managed_instance_id: Azure resource id for the sql managed instance. + :vartype managed_instance_id: str + :ivar force: Whether to perform a Force Failover as opposed to just a regular Failover. + :vartype force: bool + """ + _attribute_map = { + "managed_instance_id": {"key": "managedInstanceId", "type": "str"}, + "force": {"key": "force", "type": "bool"}, + } -class PostgresInstanceProperties(_serialization.Model): - """Postgres Instance properties. + def __init__( + self, *, managed_instance_id: Optional[str] = None, force: Optional[bool] = None, **kwargs: Any + ) -> None: + """ + :keyword managed_instance_id: Azure resource id for the sql managed instance. + :paramtype managed_instance_id: str + :keyword force: Whether to perform a Force Failover as opposed to just a regular Failover. + :paramtype force: bool + """ + super().__init__(**kwargs) + self.managed_instance_id = managed_instance_id + self.force = force + + +class HostIPAddressInformation(_serialization.Model): + """IP address and subnet mask. Variables are only populated by the server, and will be ignored when sending a request. - :ivar data_controller_id: The data controller id. - :vartype data_controller_id: str - :ivar admin: The instance admin. - :vartype admin: str - :ivar basic_login_information: Username and password for basic authentication. - :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar k8_s_raw: The raw kubernetes information. - :vartype k8_s_raw: JSON - :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date - time. - :vartype last_uploaded_date: ~datetime.datetime - :ivar provisioning_state: The provisioning state of the Azure Arc-enabled PostgreSQL instance. - :vartype provisioning_state: str + :ivar ip_address: IP address. + :vartype ip_address: str + :ivar subnet_mask: Subnet mask. + :vartype subnet_mask: str """ _validation = { - "provisioning_state": {"readonly": True}, + "ip_address": {"readonly": True}, + "subnet_mask": {"readonly": True}, } _attribute_map = { - "data_controller_id": {"key": "dataControllerId", "type": "str"}, - "admin": {"key": "admin", "type": "str"}, - "basic_login_information": {"key": "basicLoginInformation", "type": "BasicLoginInformation"}, - "k8_s_raw": {"key": "k8sRaw", "type": "object"}, - "last_uploaded_date": {"key": "lastUploadedDate", "type": "iso-8601"}, - "provisioning_state": {"key": "provisioningState", "type": "str"}, + "ip_address": {"key": "ipAddress", "type": "str"}, + "subnet_mask": {"key": "subnetMask", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.ip_address: Optional[str] = None + self.subnet_mask: Optional[str] = None + + +class ImpactedObjectsInfo(_serialization.Model): + """summary information about the incompatible feature id, number of objects impacted and category + of issue (warning/error). + + :ivar feature_id: Represents the feature id from + https://learn.microsoft.com/en-us/data-migration/sql-server/database/assessment-rules?view=azuresql. + OR + https://learn.microsoft.com/en-us/data-migration/sql-server/managed-instance/assessment-rules?view=azuresql. + :vartype feature_id: str + :ivar number_impacted: Represents the number of issues/warnings. + :vartype number_impacted: int + :ivar issue_category: Issue or Warning. + :vartype issue_category: str + """ + + _attribute_map = { + "feature_id": {"key": "featureId", "type": "str"}, + "number_impacted": {"key": "numberImpacted", "type": "int"}, + "issue_category": {"key": "issueCategory", "type": "str"}, } def __init__( self, *, - data_controller_id: Optional[str] = None, - admin: Optional[str] = None, - basic_login_information: Optional["_models.BasicLoginInformation"] = None, - k8_s_raw: Optional[JSON] = None, - last_uploaded_date: Optional[datetime.datetime] = None, - **kwargs - ): + feature_id: Optional[str] = None, + number_impacted: Optional[int] = None, + issue_category: Optional[str] = None, + **kwargs: Any + ) -> None: """ - :keyword data_controller_id: The data controller id. - :paramtype data_controller_id: str - :keyword admin: The instance admin. - :paramtype admin: str - :keyword basic_login_information: Username and password for basic authentication. - :paramtype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :keyword k8_s_raw: The raw kubernetes information. - :paramtype k8_s_raw: JSON - :keyword last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current - date time. - :paramtype last_uploaded_date: ~datetime.datetime + :keyword feature_id: Represents the feature id from + https://learn.microsoft.com/en-us/data-migration/sql-server/database/assessment-rules?view=azuresql. + OR + https://learn.microsoft.com/en-us/data-migration/sql-server/managed-instance/assessment-rules?view=azuresql. + :paramtype feature_id: str + :keyword number_impacted: Represents the number of issues/warnings. + :paramtype number_impacted: int + :keyword issue_category: Issue or Warning. + :paramtype issue_category: str """ super().__init__(**kwargs) - self.data_controller_id = data_controller_id - self.admin = admin - self.basic_login_information = basic_login_information - self.k8_s_raw = k8_s_raw - self.last_uploaded_date = last_uploaded_date - self.provisioning_state = None + self.feature_id = feature_id + self.number_impacted = number_impacted + self.issue_category = issue_category -class PostgresInstanceSku(CommonSku): - """The resource model definition representing SKU for Azure Database for PostgresSQL - Azure Arc. +class ImpactedObjectsSuitabilitySummary(_serialization.Model): + """Represents a summary of migration readiness issues/warnings per feature type for Azure SQL DB + and SQL MI targets. - All required parameters must be populated in order to send to Azure. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar name: The name of the SKU. It is typically a letter+number code. Required. - :vartype name: str - :ivar dev: Whether dev/test is enabled. When the dev field is set to true, the resource is used - for dev/test purpose. - :vartype dev: bool - :ivar size: The SKU size. When the name field is the combination of tier and some other value, - this would be the standalone code. - :vartype size: str - :ivar family: If the service has different generations of hardware, for the same SKU, then that - can be captured here. - :vartype family: str - :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included. - If scale out/in is not possible for the resource this may be omitted. - :vartype capacity: int - :ivar tier: This field is required to be implemented by the Resource Provider if the service - has more than one tier. Default value is "Hyperscale". - :vartype tier: str + :ivar azure_sql_database: + :vartype azure_sql_database: list[~azure.mgmt.azurearcdata.models.ImpactedObjectsInfo] + :ivar azure_sql_managed_instance: + :vartype azure_sql_managed_instance: list[~azure.mgmt.azurearcdata.models.ImpactedObjectsInfo] """ _validation = { - "name": {"required": True}, + "azure_sql_database": {"readonly": True}, + "azure_sql_managed_instance": {"readonly": True}, } _attribute_map = { - "name": {"key": "name", "type": "str"}, - "dev": {"key": "dev", "type": "bool"}, - "size": {"key": "size", "type": "str"}, - "family": {"key": "family", "type": "str"}, - "capacity": {"key": "capacity", "type": "int"}, - "tier": {"key": "tier", "type": "str"}, + "azure_sql_database": {"key": "azureSqlDatabase", "type": "[ImpactedObjectsInfo]"}, + "azure_sql_managed_instance": {"key": "azureSqlManagedInstance", "type": "[ImpactedObjectsInfo]"}, } - def __init__( - self, - *, - name: str, - dev: bool = True, - size: Optional[str] = None, - family: Optional[str] = None, - capacity: Optional[int] = None, - tier: Literal["Hyperscale"] = "Hyperscale", - **kwargs - ): - """ - :keyword name: The name of the SKU. It is typically a letter+number code. Required. - :paramtype name: str - :keyword dev: Whether dev/test is enabled. When the dev field is set to true, the resource is - used for dev/test purpose. - :paramtype dev: bool - :keyword size: The SKU size. When the name field is the combination of tier and some other - value, this would be the standalone code. - :paramtype size: str - :keyword family: If the service has different generations of hardware, for the same SKU, then - that can be captured here. - :paramtype family: str - :keyword capacity: If the SKU supports scale out/in then the capacity integer should be - included. If scale out/in is not possible for the resource this may be omitted. - :paramtype capacity: int - :keyword tier: This field is required to be implemented by the Resource Provider if the service - has more than one tier. Default value is "Hyperscale". - :paramtype tier: str - """ - super().__init__(name=name, dev=dev, size=size, family=family, capacity=capacity, **kwargs) - self.tier = tier + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.azure_sql_database: Optional[list["_models.ImpactedObjectsInfo"]] = None + self.azure_sql_managed_instance: Optional[list["_models.ImpactedObjectsInfo"]] = None -class PostgresInstanceUpdate(_serialization.Model): - """An update to a Postgres Instance. +class K8SActiveDirectory(_serialization.Model): + """The kubernetes active directory information. - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar properties: Postgres Instance properties. - :vartype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties + :ivar connector: + :vartype connector: ~azure.mgmt.azurearcdata.models.K8SActiveDirectoryConnector + :ivar account_name: Account name for AAD. + :vartype account_name: str + :ivar keytab_secret: Keytab secret used to authenticate with Active Directory. + :vartype keytab_secret: str + :ivar encryption_types: An array of encryption types. + :vartype encryption_types: list[str] """ _attribute_map = { - "tags": {"key": "tags", "type": "{str}"}, - "properties": {"key": "properties", "type": "PostgresInstanceProperties"}, + "connector": {"key": "connector", "type": "K8SActiveDirectoryConnector"}, + "account_name": {"key": "accountName", "type": "str"}, + "keytab_secret": {"key": "keytabSecret", "type": "str"}, + "encryption_types": {"key": "encryptionTypes", "type": "[str]"}, } def __init__( self, *, - tags: Optional[Dict[str, str]] = None, - properties: Optional["_models.PostgresInstanceProperties"] = None, - **kwargs - ): + connector: Optional["_models.K8SActiveDirectoryConnector"] = None, + account_name: Optional[str] = None, + keytab_secret: Optional[str] = None, + encryption_types: Optional[list[str]] = None, + **kwargs: Any + ) -> None: """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword properties: Postgres Instance properties. - :paramtype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties + :keyword connector: + :paramtype connector: ~azure.mgmt.azurearcdata.models.K8SActiveDirectoryConnector + :keyword account_name: Account name for AAD. + :paramtype account_name: str + :keyword keytab_secret: Keytab secret used to authenticate with Active Directory. + :paramtype keytab_secret: str + :keyword encryption_types: An array of encryption types. + :paramtype encryption_types: list[str] """ super().__init__(**kwargs) - self.tags = tags - self.properties = properties + self.connector = connector + self.account_name = account_name + self.keytab_secret = keytab_secret + self.encryption_types = encryption_types -class SqlManagedInstance(TrackedResource): - """A SqlManagedInstance. - - Variables are only populated by the server, and will be ignored when sending a request. +class K8SActiveDirectoryConnector(_serialization.Model): + """K8SActiveDirectoryConnector. - All required parameters must be populated in order to send to Azure. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. + :ivar name: Name of the connector. :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: null. Required. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties - :ivar extended_location: The extendedLocation of the resource. - :vartype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation - :ivar sku: Resource sku. - :vartype sku: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSku + :ivar namespace: Name space of the connector. + :vartype namespace: str """ - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - "properties": {"required": True}, + _attribute_map = { + "name": {"key": "name", "type": "str"}, + "namespace": {"key": "namespace", "type": "str"}, } + def __init__(self, *, name: Optional[str] = None, namespace: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword name: Name of the connector. + :paramtype name: str + :keyword namespace: Name space of the connector. + :paramtype namespace: str + """ + super().__init__(**kwargs) + self.name = name + self.namespace = namespace + + +class K8SNetworkSettings(_serialization.Model): + """The kubernetes network settings information. + + :ivar forceencryption: If 1, then SQL Server forces all connections to be encrypted. By + default, this option is 0. + :vartype forceencryption: int + :ivar tlsciphers: Specifies which ciphers are allowed by SQL Server for TLS. + :vartype tlsciphers: str + :ivar tlsprotocols: A comma-separated list of which TLS protocols are allowed by SQL Server. + :vartype tlsprotocols: str + """ + _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "properties": {"key": "properties", "type": "SqlManagedInstanceProperties"}, - "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"}, - "sku": {"key": "sku", "type": "SqlManagedInstanceSku"}, + "forceencryption": {"key": "forceencryption", "type": "int"}, + "tlsciphers": {"key": "tlsciphers", "type": "str"}, + "tlsprotocols": {"key": "tlsprotocols", "type": "str"}, } def __init__( self, *, - location: str, - properties: "_models.SqlManagedInstanceProperties", - tags: Optional[Dict[str, str]] = None, - extended_location: Optional["_models.ExtendedLocation"] = None, - sku: Optional["_models.SqlManagedInstanceSku"] = None, - **kwargs - ): + forceencryption: Optional[int] = None, + tlsciphers: Optional[str] = None, + tlsprotocols: Optional[str] = None, + **kwargs: Any + ) -> None: """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword properties: null. Required. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties - :keyword extended_location: The extendedLocation of the resource. - :paramtype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation - :keyword sku: Resource sku. - :paramtype sku: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSku + :keyword forceencryption: If 1, then SQL Server forces all connections to be encrypted. By + default, this option is 0. + :paramtype forceencryption: int + :keyword tlsciphers: Specifies which ciphers are allowed by SQL Server for TLS. + :paramtype tlsciphers: str + :keyword tlsprotocols: A comma-separated list of which TLS protocols are allowed by SQL Server. + :paramtype tlsprotocols: str """ - super().__init__(tags=tags, location=location, **kwargs) - self.properties = properties - self.extended_location = extended_location - self.sku = sku + super().__init__(**kwargs) + self.forceencryption = forceencryption + self.tlsciphers = tlsciphers + self.tlsprotocols = tlsprotocols -class SqlManagedInstanceK8SRaw(_serialization.Model): - """The raw kubernetes information. +class K8SResourceRequirements(_serialization.Model): + """The kubernetes resource limits and requests used to restrict or reserve resource usage. :ivar additional_properties: Unmatched properties from the message are deserialized to this collection. - :vartype additional_properties: dict[str, JSON] - :ivar spec: The kubernetes spec information. - :vartype spec: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SSpec + :vartype additional_properties: dict[str, any] + :ivar requests: Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' + request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default + 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and + maximum 'memory' is '128Gi'. + :vartype requests: dict[str, str] + :ivar limits: Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request + must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' + is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum + 'memory' is '128Gi'. + :vartype limits: dict[str, str] """ _attribute_map = { "additional_properties": {"key": "", "type": "{object}"}, - "spec": {"key": "spec", "type": "SqlManagedInstanceK8SSpec"}, + "requests": {"key": "requests", "type": "{str}"}, + "limits": {"key": "limits", "type": "{str}"}, } def __init__( self, *, - additional_properties: Optional[Dict[str, JSON]] = None, - spec: Optional["_models.SqlManagedInstanceK8SSpec"] = None, - **kwargs - ): + additional_properties: Optional[dict[str, Any]] = None, + requests: Optional[dict[str, str]] = None, + limits: Optional[dict[str, str]] = None, + **kwargs: Any + ) -> None: """ :keyword additional_properties: Unmatched properties from the message are deserialized to this collection. - :paramtype additional_properties: dict[str, JSON] - :keyword spec: The kubernetes spec information. - :paramtype spec: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SSpec - """ - super().__init__(**kwargs) + :paramtype additional_properties: dict[str, any] + :keyword requests: Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' + request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default + 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and + maximum 'memory' is '128Gi'. + :paramtype requests: dict[str, str] + :keyword limits: Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request + must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' + is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum + 'memory' is '128Gi'. + :paramtype limits: dict[str, str] + """ + super().__init__(**kwargs) self.additional_properties = additional_properties - self.spec = spec + self.requests = requests + self.limits = limits + + +class K8SScheduling(_serialization.Model): + """The kubernetes scheduling information. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar default: The kubernetes scheduling options. It describes restrictions used to help + Kubernetes select appropriate nodes to host the database service. + :vartype default: ~azure.mgmt.azurearcdata.models.K8SSchedulingOptions + """ + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "default": {"key": "default", "type": "K8SSchedulingOptions"}, + } + + def __init__( + self, + *, + additional_properties: Optional[dict[str, Any]] = None, + default: Optional["_models.K8SSchedulingOptions"] = None, + **kwargs: Any + ) -> None: + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword default: The kubernetes scheduling options. It describes restrictions used to help + Kubernetes select appropriate nodes to host the database service. + :paramtype default: ~azure.mgmt.azurearcdata.models.K8SSchedulingOptions + """ + super().__init__(**kwargs) + self.additional_properties = additional_properties + self.default = default + + +class K8SSchedulingOptions(_serialization.Model): + """The kubernetes scheduling options. It describes restrictions used to help Kubernetes select + appropriate nodes to host the database service. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar resources: The kubernetes resource limits and requests used to restrict or reserve + resource usage. + :vartype resources: ~azure.mgmt.azurearcdata.models.K8SResourceRequirements + """ + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "resources": {"key": "resources", "type": "K8SResourceRequirements"}, + } + + def __init__( + self, + *, + additional_properties: Optional[dict[str, Any]] = None, + resources: Optional["_models.K8SResourceRequirements"] = None, + **kwargs: Any + ) -> None: + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword resources: The kubernetes resource limits and requests used to restrict or reserve + resource usage. + :paramtype resources: ~azure.mgmt.azurearcdata.models.K8SResourceRequirements + """ + super().__init__(**kwargs) + self.additional_properties = additional_properties + self.resources = resources + + +class K8SSecurity(_serialization.Model): + """The kubernetes security information. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar admin_login_secret: Admin login secret key. + :vartype admin_login_secret: str + :ivar service_certificate_secret: Service certificate secret used. + :vartype service_certificate_secret: str + :ivar active_directory: The kubernetes active directory information. + :vartype active_directory: ~azure.mgmt.azurearcdata.models.K8SActiveDirectory + :ivar transparent_data_encryption: Transparent data encryption information. + :vartype transparent_data_encryption: + ~azure.mgmt.azurearcdata.models.K8StransparentDataEncryption + """ + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "admin_login_secret": {"key": "adminLoginSecret", "type": "str"}, + "service_certificate_secret": {"key": "serviceCertificateSecret", "type": "str"}, + "active_directory": {"key": "activeDirectory", "type": "K8SActiveDirectory"}, + "transparent_data_encryption": {"key": "transparentDataEncryption", "type": "K8StransparentDataEncryption"}, + } + + def __init__( + self, + *, + additional_properties: Optional[dict[str, Any]] = None, + admin_login_secret: Optional[str] = None, + service_certificate_secret: Optional[str] = None, + active_directory: Optional["_models.K8SActiveDirectory"] = None, + transparent_data_encryption: Optional["_models.K8StransparentDataEncryption"] = None, + **kwargs: Any + ) -> None: + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword admin_login_secret: Admin login secret key. + :paramtype admin_login_secret: str + :keyword service_certificate_secret: Service certificate secret used. + :paramtype service_certificate_secret: str + :keyword active_directory: The kubernetes active directory information. + :paramtype active_directory: ~azure.mgmt.azurearcdata.models.K8SActiveDirectory + :keyword transparent_data_encryption: Transparent data encryption information. + :paramtype transparent_data_encryption: + ~azure.mgmt.azurearcdata.models.K8StransparentDataEncryption + """ + super().__init__(**kwargs) + self.additional_properties = additional_properties + self.admin_login_secret = admin_login_secret + self.service_certificate_secret = service_certificate_secret + self.active_directory = active_directory + self.transparent_data_encryption = transparent_data_encryption + + +class K8SSettings(_serialization.Model): + """The kubernetes settings information. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar network: The kubernetes network settings information. + :vartype network: ~azure.mgmt.azurearcdata.models.K8SNetworkSettings + """ + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "network": {"key": "network", "type": "K8SNetworkSettings"}, + } + + def __init__( + self, + *, + additional_properties: Optional[dict[str, Any]] = None, + network: Optional["_models.K8SNetworkSettings"] = None, + **kwargs: Any + ) -> None: + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword network: The kubernetes network settings information. + :paramtype network: ~azure.mgmt.azurearcdata.models.K8SNetworkSettings + """ + super().__init__(**kwargs) + self.additional_properties = additional_properties + self.network = network + + +class K8StransparentDataEncryption(_serialization.Model): + """Transparent data encryption information. + + :ivar mode: Transparent data encryption mode. Can be Service Managed, Customer managed or + disabled. + :vartype mode: str + :ivar protector_secret: Protector secret for customer managed Transparent data encryption mode. + :vartype protector_secret: str + """ + + _attribute_map = { + "mode": {"key": "mode", "type": "str"}, + "protector_secret": {"key": "protectorSecret", "type": "str"}, + } + + def __init__(self, *, mode: Optional[str] = None, protector_secret: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword mode: Transparent data encryption mode. Can be Service Managed, Customer managed or + disabled. + :paramtype mode: str + :keyword protector_secret: Protector secret for customer managed Transparent data encryption + mode. + :paramtype protector_secret: str + """ + super().__init__(**kwargs) + self.mode = mode + self.protector_secret = protector_secret + + +class KeytabInformation(_serialization.Model): + """Keytab used for authenticate with Active Directory. + + :ivar keytab: A base64-encoded keytab. + :vartype keytab: str + """ + + _attribute_map = { + "keytab": {"key": "keytab", "type": "str"}, + } + + def __init__(self, *, keytab: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword keytab: A base64-encoded keytab. + :paramtype keytab: str + """ + super().__init__(**kwargs) + self.keytab = keytab + + +class LogAnalyticsWorkspaceConfig(_serialization.Model): + """Log analytics workspace id and primary key. + + :ivar workspace_id: Azure Log Analytics workspace ID. + :vartype workspace_id: str + :ivar primary_key: Primary key of the workspace. + :vartype primary_key: str + """ + + _attribute_map = { + "workspace_id": {"key": "workspaceId", "type": "str"}, + "primary_key": {"key": "primaryKey", "type": "str"}, + } + + def __init__(self, *, workspace_id: Optional[str] = None, primary_key: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword workspace_id: Azure Log Analytics workspace ID. + :paramtype workspace_id: str + :keyword primary_key: Primary key of the workspace. + :paramtype primary_key: str + """ + super().__init__(**kwargs) + self.workspace_id = workspace_id + self.primary_key = primary_key + + +class ManagedInstanceLinkCreateUpdateConfiguration(_serialization.Model): # pylint: disable=name-too-long + """The configuration for the new Managed Instance Link resource. + + :ivar availability_group: The configuration for the SQL Server availability group resource. + :vartype availability_group: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration + :ivar distributed_availability_group: The distributed availability group configuration for the + MI link. + :vartype distributed_availability_group: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration + :ivar mi_link_configuration: The MI Link specific distributed availability group configuration. + :vartype mi_link_configuration: ~azure.mgmt.azurearcdata.models.MiLinkCreateUpdateConfiguration + """ + + _attribute_map = { + "availability_group": {"key": "availabilityGroup", "type": "AvailabilityGroupCreateUpdateConfiguration"}, + "distributed_availability_group": { + "key": "distributedAvailabilityGroup", + "type": "DistributedAvailabilityGroupCreateUpdateConfiguration", + }, + "mi_link_configuration": {"key": "miLinkConfiguration", "type": "MiLinkCreateUpdateConfiguration"}, + } + + def __init__( + self, + *, + availability_group: Optional["_models.AvailabilityGroupCreateUpdateConfiguration"] = None, + distributed_availability_group: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateConfiguration" + ] = None, + mi_link_configuration: Optional["_models.MiLinkCreateUpdateConfiguration"] = None, + **kwargs: Any + ) -> None: + """ + :keyword availability_group: The configuration for the SQL Server availability group resource. + :paramtype availability_group: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration + :keyword distributed_availability_group: The distributed availability group configuration for + the MI link. + :paramtype distributed_availability_group: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration + :keyword mi_link_configuration: The MI Link specific distributed availability group + configuration. + :paramtype mi_link_configuration: + ~azure.mgmt.azurearcdata.models.MiLinkCreateUpdateConfiguration + """ + super().__init__(**kwargs) + self.availability_group = availability_group + self.distributed_availability_group = distributed_availability_group + self.mi_link_configuration = mi_link_configuration + + +class Migration(_serialization.Model): + """Migration related configuration. + + :ivar assessment: Migration assessments related configuration. + :vartype assessment: ~azure.mgmt.azurearcdata.models.MigrationAssessment + :ivar target_selected_time: The last time when the target resource was selected for migration. + :vartype target_selected_time: ~datetime.datetime + :ivar target_resource_id: Resource Id of the created or selected target SQL resource for + migration. + :vartype target_resource_id: str + """ + + _attribute_map = { + "assessment": {"key": "assessment", "type": "MigrationAssessment"}, + "target_selected_time": {"key": "targetSelectedTime", "type": "iso-8601"}, + "target_resource_id": {"key": "targetResourceId", "type": "str"}, + } + + def __init__( + self, + *, + assessment: Optional["_models.MigrationAssessment"] = None, + target_selected_time: Optional[datetime.datetime] = None, + target_resource_id: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword assessment: Migration assessments related configuration. + :paramtype assessment: ~azure.mgmt.azurearcdata.models.MigrationAssessment + :keyword target_selected_time: The last time when the target resource was selected for + migration. + :paramtype target_selected_time: ~datetime.datetime + :keyword target_resource_id: Resource Id of the created or selected target SQL resource for + migration. + :paramtype target_resource_id: str + """ + super().__init__(**kwargs) + self.assessment = assessment + self.target_selected_time = target_selected_time + self.target_resource_id = target_resource_id + + +class MigrationAssessment(_serialization.Model): + """The migration assessment related configuration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar enabled: Indicates if migration assessment is enabled for this SQL Server instance. + :vartype enabled: bool + :ivar assessment_upload_time: The time when Migration Assessment Report upload was last + performed. + :vartype assessment_upload_time: ~datetime.datetime + :ivar assessment_viewed_time: The time when this migration assessment was last viewed. + :vartype assessment_viewed_time: ~datetime.datetime + :ivar target_recommendation_generation_time: The UTC timestamp in ISO 8601 format indicating + when the latest target recommendations were generated for this SQL Server instance. This value + is set as part of a successful RunTargetRecommendation job and is independent of when the + migration readiness results were uploaded (assessmentUploadTime). + :vartype target_recommendation_generation_time: ~datetime.datetime + :ivar version: version of this migration assessment report - to be passed by the migration + assessment engine. + :vartype version: str + :ivar settings: Settings impacting the migration assessment computation - configurable with + some default values if not set. + :vartype settings: ~azure.mgmt.azurearcdata.models.MigrationAssessmentSettings + :ivar server_assessments: Issues and warnings impacting the migration of SQL Server instance to + particular Azure Migration Target. + :vartype server_assessments: list[~azure.mgmt.azurearcdata.models.ServerAssessmentsItem] + :ivar sku_recommendation_results: SKU Recommendation results for Azure migration targets for + SQL Server. + :vartype sku_recommendation_results: ~azure.mgmt.azurearcdata.models.SkuRecommendationResults + :ivar impacted_objects_summary: Represents a summary of migration readiness issues/warnings per + feature type for Azure SQL DB and SQL MI targets. + :vartype impacted_objects_summary: + ~azure.mgmt.azurearcdata.models.ImpactedObjectsSuitabilitySummary + """ + + _validation = { + "assessment_upload_time": {"readonly": True}, + "target_recommendation_generation_time": {"readonly": True}, + "version": {"readonly": True}, + "server_assessments": {"readonly": True}, + "sku_recommendation_results": {"readonly": True}, + } + + _attribute_map = { + "enabled": {"key": "enabled", "type": "bool"}, + "assessment_upload_time": {"key": "assessmentUploadTime", "type": "iso-8601"}, + "assessment_viewed_time": {"key": "assessmentViewedTime", "type": "iso-8601"}, + "target_recommendation_generation_time": {"key": "targetRecommendationGenerationTime", "type": "iso-8601"}, + "version": {"key": "version", "type": "str"}, + "settings": {"key": "settings", "type": "MigrationAssessmentSettings"}, + "server_assessments": {"key": "serverAssessments", "type": "[ServerAssessmentsItem]"}, + "sku_recommendation_results": {"key": "skuRecommendationResults", "type": "SkuRecommendationResults"}, + "impacted_objects_summary": {"key": "impactedObjectsSummary", "type": "ImpactedObjectsSuitabilitySummary"}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + assessment_viewed_time: Optional[datetime.datetime] = None, + settings: Optional["_models.MigrationAssessmentSettings"] = None, + impacted_objects_summary: Optional["_models.ImpactedObjectsSuitabilitySummary"] = None, + **kwargs: Any + ) -> None: + """ + :keyword enabled: Indicates if migration assessment is enabled for this SQL Server instance. + :paramtype enabled: bool + :keyword assessment_viewed_time: The time when this migration assessment was last viewed. + :paramtype assessment_viewed_time: ~datetime.datetime + :keyword settings: Settings impacting the migration assessment computation - configurable with + some default values if not set. + :paramtype settings: ~azure.mgmt.azurearcdata.models.MigrationAssessmentSettings + :keyword impacted_objects_summary: Represents a summary of migration readiness issues/warnings + per feature type for Azure SQL DB and SQL MI targets. + :paramtype impacted_objects_summary: + ~azure.mgmt.azurearcdata.models.ImpactedObjectsSuitabilitySummary + """ + super().__init__(**kwargs) + self.enabled = enabled + self.assessment_upload_time: Optional[datetime.datetime] = None + self.assessment_viewed_time = assessment_viewed_time + self.target_recommendation_generation_time: Optional[datetime.datetime] = None + self.version: Optional[str] = None + self.settings = settings + self.server_assessments: Optional[list["_models.ServerAssessmentsItem"]] = None + self.sku_recommendation_results: Optional["_models.SkuRecommendationResults"] = None + self.impacted_objects_summary = impacted_objects_summary + + +class MigrationAssessmentSettings(_serialization.Model): + """Settings impacting the migration assessment computation - configurable with some default values + if not set. + + :ivar target_location: The target location for Azure SQL SKU for migration. Default is West US. + :vartype target_location: str + :ivar percentile: Indicate the percentile value for the performance sample. Default is 95th + percentile. + :vartype percentile: float + :ivar lookback_period_in_days: How far back to check the performance data - Default is 30 + (days). + :vartype lookback_period_in_days: int + :ivar comfort_factor: Buffer (percentage) to consider while SKU sizing to account for issues + such as seasonal usage, short performance history, and likely increases in future usage - This + buffer is applied on top of the performance metrics. Default is 100 (percent). + :vartype comfort_factor: int + :ivar strategy: Minimize cost or Migrate to PaaS. - to evaluate based on the recommended + strategy. Default is Migrate to PaaS. + :vartype strategy: str + :ivar currency: currency to calculate prices - Default is USD. + :vartype currency: str + :ivar discount_percentage: flat discount percentage to apply for the price - Default is 0. + :vartype discount_percentage: float + :ivar cost_options: Selected cost option value. + :vartype cost_options: ~azure.mgmt.azurearcdata.models.CostOptionSelectedValues + """ + + _attribute_map = { + "target_location": {"key": "targetLocation", "type": "str"}, + "percentile": {"key": "percentile", "type": "float"}, + "lookback_period_in_days": {"key": "lookbackPeriodInDays", "type": "int"}, + "comfort_factor": {"key": "comfortFactor", "type": "int"}, + "strategy": {"key": "strategy", "type": "str"}, + "currency": {"key": "currency", "type": "str"}, + "discount_percentage": {"key": "discountPercentage", "type": "float"}, + "cost_options": {"key": "costOptions", "type": "CostOptionSelectedValues"}, + } + + def __init__( + self, + *, + target_location: Optional[str] = None, + percentile: Optional[float] = None, + lookback_period_in_days: Optional[int] = None, + comfort_factor: Optional[int] = None, + strategy: Optional[str] = None, + currency: Optional[str] = None, + discount_percentage: Optional[float] = None, + cost_options: Optional["_models.CostOptionSelectedValues"] = None, + **kwargs: Any + ) -> None: + """ + :keyword target_location: The target location for Azure SQL SKU for migration. Default is West + US. + :paramtype target_location: str + :keyword percentile: Indicate the percentile value for the performance sample. Default is 95th + percentile. + :paramtype percentile: float + :keyword lookback_period_in_days: How far back to check the performance data - Default is 30 + (days). + :paramtype lookback_period_in_days: int + :keyword comfort_factor: Buffer (percentage) to consider while SKU sizing to account for issues + such as seasonal usage, short performance history, and likely increases in future usage - This + buffer is applied on top of the performance metrics. Default is 100 (percent). + :paramtype comfort_factor: int + :keyword strategy: Minimize cost or Migrate to PaaS. - to evaluate based on the recommended + strategy. Default is Migrate to PaaS. + :paramtype strategy: str + :keyword currency: currency to calculate prices - Default is USD. + :paramtype currency: str + :keyword discount_percentage: flat discount percentage to apply for the price - Default is 0. + :paramtype discount_percentage: float + :keyword cost_options: Selected cost option value. + :paramtype cost_options: ~azure.mgmt.azurearcdata.models.CostOptionSelectedValues + """ + super().__init__(**kwargs) + self.target_location = target_location + self.percentile = percentile + self.lookback_period_in_days = lookback_period_in_days + self.comfort_factor = comfort_factor + self.strategy = strategy + self.currency = currency + self.discount_percentage = discount_percentage + self.cost_options = cost_options + + +class MiLinkCreateUpdateConfiguration(_serialization.Model): + """The MI Link specific configuration. + + :ivar instance_availability_group_name: The name of the availability group to be created on the + Managed Instance. + :vartype instance_availability_group_name: str + """ + + _attribute_map = { + "instance_availability_group_name": {"key": "instanceAvailabilityGroupName", "type": "str"}, + } + + def __init__(self, *, instance_availability_group_name: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword instance_availability_group_name: The name of the availability group to be created on + the Managed Instance. + :paramtype instance_availability_group_name: str + """ + super().__init__(**kwargs) + self.instance_availability_group_name = instance_availability_group_name + + +class Monitoring(_serialization.Model): + """The monitoring configuration. + + :ivar enabled: Indicates if monitoring is enabled for this SQL Server instance. + :vartype enabled: bool + """ + + _attribute_map = { + "enabled": {"key": "enabled", "type": "bool"}, + } + + def __init__(self, *, enabled: Optional[bool] = None, **kwargs: Any) -> None: + """ + :keyword enabled: Indicates if monitoring is enabled for this SQL Server instance. + :paramtype enabled: bool + """ + super().__init__(**kwargs) + self.enabled = enabled + + +class OnPremiseProperty(_serialization.Model): + """Properties from the Kubernetes data controller. + + All required parameters must be populated in order to send to server. + + :ivar id: A globally unique ID identifying the associated Kubernetes cluster. Required. + :vartype id: str + :ivar public_signing_key: Certificate that contains the Kubernetes cluster public key used to + verify signing. Required. + :vartype public_signing_key: str + :ivar signing_certificate_thumbprint: Unique thumbprint returned to customer to verify the + certificate being uploaded. + :vartype signing_certificate_thumbprint: str + """ + + _validation = { + "id": {"required": True}, + "public_signing_key": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "public_signing_key": {"key": "publicSigningKey", "type": "str"}, + "signing_certificate_thumbprint": {"key": "signingCertificateThumbprint", "type": "str"}, + } + + def __init__( + self, + *, + id: str, # pylint: disable=redefined-builtin + public_signing_key: str, + signing_certificate_thumbprint: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword id: A globally unique ID identifying the associated Kubernetes cluster. Required. + :paramtype id: str + :keyword public_signing_key: Certificate that contains the Kubernetes cluster public key used + to verify signing. Required. + :paramtype public_signing_key: str + :keyword signing_certificate_thumbprint: Unique thumbprint returned to customer to verify the + certificate being uploaded. + :paramtype signing_certificate_thumbprint: str + """ + super().__init__(**kwargs) + self.id = id + self.public_signing_key = public_signing_key + self.signing_certificate_thumbprint = signing_certificate_thumbprint + + +class Operation(_serialization.Model): + """Azure Data Services on Azure Arc operation definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar name: The name of the operation being performed on this particular object. Required. + :vartype name: str + :ivar display: The localized display information for this particular operation / action. + Required. + :vartype display: ~azure.mgmt.azurearcdata.models.OperationDisplay + :ivar origin: The intended executor of the operation. Known values are: "user" and "system". + :vartype origin: str or ~azure.mgmt.azurearcdata.models.OperationOrigin + :ivar is_data_action: Indicates whether the operation is a data action. Required. + :vartype is_data_action: bool + :ivar properties: Additional descriptions for the operation. + :vartype properties: dict[str, any] + """ + + _validation = { + "name": {"required": True}, + "display": {"required": True}, + "origin": {"readonly": True}, + "is_data_action": {"required": True}, + "properties": {"readonly": True}, + } + + _attribute_map = { + "name": {"key": "name", "type": "str"}, + "display": {"key": "display", "type": "OperationDisplay"}, + "origin": {"key": "origin", "type": "str"}, + "is_data_action": {"key": "isDataAction", "type": "bool"}, + "properties": {"key": "properties", "type": "{object}"}, + } + + def __init__(self, *, name: str, display: "_models.OperationDisplay", is_data_action: bool, **kwargs: Any) -> None: + """ + :keyword name: The name of the operation being performed on this particular object. Required. + :paramtype name: str + :keyword display: The localized display information for this particular operation / action. + Required. + :paramtype display: ~azure.mgmt.azurearcdata.models.OperationDisplay + :keyword is_data_action: Indicates whether the operation is a data action. Required. + :paramtype is_data_action: bool + """ + super().__init__(**kwargs) + self.name = name + self.display = display + self.origin: Optional[Union[str, "_models.OperationOrigin"]] = None + self.is_data_action = is_data_action + self.properties: Optional[dict[str, Any]] = None + + +class OperationDisplay(_serialization.Model): + """Display metadata associated with the operation. + + All required parameters must be populated in order to send to server. + + :ivar provider: The localized friendly form of the resource provider name. Required. + :vartype provider: str + :ivar resource: The localized friendly form of the resource type related to this + action/operation. Required. + :vartype resource: str + :ivar operation: The localized friendly name for the operation. Required. + :vartype operation: str + :ivar description: The localized friendly description for the operation. Required. + :vartype description: str + """ + + _validation = { + "provider": {"required": True}, + "resource": {"required": True}, + "operation": {"required": True}, + "description": {"required": True}, + } + + _attribute_map = { + "provider": {"key": "provider", "type": "str"}, + "resource": {"key": "resource", "type": "str"}, + "operation": {"key": "operation", "type": "str"}, + "description": {"key": "description", "type": "str"}, + } + + def __init__(self, *, provider: str, resource: str, operation: str, description: str, **kwargs: Any) -> None: + """ + :keyword provider: The localized friendly form of the resource provider name. Required. + :paramtype provider: str + :keyword resource: The localized friendly form of the resource type related to this + action/operation. Required. + :paramtype resource: str + :keyword operation: The localized friendly name for the operation. Required. + :paramtype operation: str + :keyword description: The localized friendly description for the operation. Required. + :paramtype description: str + """ + super().__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class OperationListResult(_serialization.Model): + """Result of the request to list Azure Data Services on Azure Arc operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Array of results. + :vartype value: list[~azure.mgmt.azurearcdata.models.Operation] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _validation = { + "value": {"readonly": True}, + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[Operation]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.value: Optional[list["_models.Operation"]] = None + self.next_link: Optional[str] = None + + +class PageOfDataControllerResource(_serialization.Model): + """A list of data controllers. + + :ivar value: Array of results. + :vartype value: list[~azure.mgmt.azurearcdata.models.DataControllerResource] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _attribute_map = { + "value": {"key": "value", "type": "[DataControllerResource]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__( + self, + *, + value: Optional[list["_models.DataControllerResource"]] = None, + next_link: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword value: Array of results. + :paramtype value: list[~azure.mgmt.azurearcdata.models.DataControllerResource] + :keyword next_link: Link to retrieve next page of results. + :paramtype next_link: str + """ + super().__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PostgresInstance(TrackedResource): + """A Postgres Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar extended_location: The extendedLocation of the resource. + :vartype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation + :ivar properties: null. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties + :ivar sku: Resource sku. + :vartype sku: ~azure.mgmt.azurearcdata.models.PostgresInstanceSku + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "location": {"required": True}, + "properties": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + "tags": {"key": "tags", "type": "{str}"}, + "location": {"key": "location", "type": "str"}, + "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"}, + "properties": {"key": "properties", "type": "PostgresInstanceProperties"}, + "sku": {"key": "sku", "type": "PostgresInstanceSku"}, + } + + def __init__( + self, + *, + location: str, + properties: "_models.PostgresInstanceProperties", + tags: Optional[dict[str, str]] = None, + extended_location: Optional["_models.ExtendedLocation"] = None, + sku: Optional["_models.PostgresInstanceSku"] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword location: The geo-location where the resource lives. Required. + :paramtype location: str + :keyword extended_location: The extendedLocation of the resource. + :paramtype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation + :keyword properties: null. Required. + :paramtype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties + :keyword sku: Resource sku. + :paramtype sku: ~azure.mgmt.azurearcdata.models.PostgresInstanceSku + """ + super().__init__(tags=tags, location=location, **kwargs) + self.extended_location = extended_location + self.properties = properties + self.sku = sku + + +class PostgresInstanceListResult(_serialization.Model): + """A list of PostgresInstance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Array of results. + :vartype value: list[~azure.mgmt.azurearcdata.models.PostgresInstance] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _validation = { + "value": {"readonly": True}, + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[PostgresInstance]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.value: Optional[list["_models.PostgresInstance"]] = None + self.next_link: Optional[str] = None + + +class PostgresInstanceProperties(_serialization.Model): + """Postgres Instance properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar data_controller_id: The data controller id. + :vartype data_controller_id: str + :ivar admin: The instance admin. + :vartype admin: str + :ivar basic_login_information: Username and password for basic authentication. + :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar k8_s_raw: The raw kubernetes information. + :vartype k8_s_raw: JSON + :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date + time. + :vartype last_uploaded_date: ~datetime.datetime + :ivar provisioning_state: The provisioning state of the Azure Arc-enabled PostgreSQL instance. + :vartype provisioning_state: str + """ + + _validation = { + "provisioning_state": {"readonly": True}, + } + + _attribute_map = { + "data_controller_id": {"key": "dataControllerId", "type": "str"}, + "admin": {"key": "admin", "type": "str"}, + "basic_login_information": {"key": "basicLoginInformation", "type": "BasicLoginInformation"}, + "k8_s_raw": {"key": "k8sRaw", "type": "object"}, + "last_uploaded_date": {"key": "lastUploadedDate", "type": "iso-8601"}, + "provisioning_state": {"key": "provisioningState", "type": "str"}, + } + + def __init__( + self, + *, + data_controller_id: Optional[str] = None, + admin: Optional[str] = None, + basic_login_information: Optional["_models.BasicLoginInformation"] = None, + k8_s_raw: Optional[JSON] = None, + last_uploaded_date: Optional[datetime.datetime] = None, + **kwargs: Any + ) -> None: + """ + :keyword data_controller_id: The data controller id. + :paramtype data_controller_id: str + :keyword admin: The instance admin. + :paramtype admin: str + :keyword basic_login_information: Username and password for basic authentication. + :paramtype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :keyword k8_s_raw: The raw kubernetes information. + :paramtype k8_s_raw: JSON + :keyword last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current + date time. + :paramtype last_uploaded_date: ~datetime.datetime + """ + super().__init__(**kwargs) + self.data_controller_id = data_controller_id + self.admin = admin + self.basic_login_information = basic_login_information + self.k8_s_raw = k8_s_raw + self.last_uploaded_date = last_uploaded_date + self.provisioning_state: Optional[str] = None + + +class PostgresInstanceSku(CommonSku): + """The resource model definition representing SKU for Azure Database for PostgresSQL - Azure Arc. + + All required parameters must be populated in order to send to server. + + :ivar name: The name of the SKU. It is typically a letter+number code. Required. + :vartype name: str + :ivar dev: Whether dev/test is enabled. When the dev field is set to true, the resource is used + for dev/test purpose. + :vartype dev: bool + :ivar size: The SKU size. When the name field is the combination of tier and some other value, + this would be the standalone code. + :vartype size: str + :ivar family: If the service has different generations of hardware, for the same SKU, then that + can be captured here. + :vartype family: str + :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included. + If scale out/in is not possible for the resource this may be omitted. + :vartype capacity: int + :ivar tier: This field is required to be implemented by the Resource Provider if the service + has more than one tier. Default value is "Hyperscale". + :vartype tier: str + """ + + _validation = { + "name": {"required": True}, + } + + _attribute_map = { + "name": {"key": "name", "type": "str"}, + "dev": {"key": "dev", "type": "bool"}, + "size": {"key": "size", "type": "str"}, + "family": {"key": "family", "type": "str"}, + "capacity": {"key": "capacity", "type": "int"}, + "tier": {"key": "tier", "type": "str"}, + } + + def __init__( + self, + *, + name: str, + dev: bool = True, + size: Optional[str] = None, + family: Optional[str] = None, + capacity: Optional[int] = None, + tier: Literal["Hyperscale"] = "Hyperscale", + **kwargs: Any + ) -> None: + """ + :keyword name: The name of the SKU. It is typically a letter+number code. Required. + :paramtype name: str + :keyword dev: Whether dev/test is enabled. When the dev field is set to true, the resource is + used for dev/test purpose. + :paramtype dev: bool + :keyword size: The SKU size. When the name field is the combination of tier and some other + value, this would be the standalone code. + :paramtype size: str + :keyword family: If the service has different generations of hardware, for the same SKU, then + that can be captured here. + :paramtype family: str + :keyword capacity: If the SKU supports scale out/in then the capacity integer should be + included. If scale out/in is not possible for the resource this may be omitted. + :paramtype capacity: int + :keyword tier: This field is required to be implemented by the Resource Provider if the service + has more than one tier. Default value is "Hyperscale". + :paramtype tier: str + """ + super().__init__(name=name, dev=dev, size=size, family=family, capacity=capacity, **kwargs) + self.tier = tier + + +class PostgresInstanceUpdate(_serialization.Model): + """An update to a Postgres Instance. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: Postgres Instance properties. + :vartype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties + """ + + _attribute_map = { + "tags": {"key": "tags", "type": "{str}"}, + "properties": {"key": "properties", "type": "PostgresInstanceProperties"}, + } + + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.PostgresInstanceProperties"] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword properties: Postgres Instance properties. + :paramtype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties + """ + super().__init__(**kwargs) + self.tags = tags + self.properties = properties + + +class ResourceAutoGenerated(_serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.id: Optional[str] = None + self.name: Optional[str] = None + self.type: Optional[str] = None + self.system_data: Optional["_models.SystemData"] = None + + +class Schedule(_serialization.Model): + """The scheduling configuration. + + :ivar enabled: Indicates whether scheduling is enabled. + :vartype enabled: bool + :ivar cron_trigger: The cron trigger configuration. + :vartype cron_trigger: ~azure.mgmt.azurearcdata.models.CronTrigger + """ + + _attribute_map = { + "enabled": {"key": "enabled", "type": "bool"}, + "cron_trigger": {"key": "cronTrigger", "type": "CronTrigger"}, + } + + def __init__( + self, *, enabled: Optional[bool] = None, cron_trigger: Optional["_models.CronTrigger"] = None, **kwargs: Any + ) -> None: + """ + :keyword enabled: Indicates whether scheduling is enabled. + :paramtype enabled: bool + :keyword cron_trigger: The cron trigger configuration. + :paramtype cron_trigger: ~azure.mgmt.azurearcdata.models.CronTrigger + """ + super().__init__(**kwargs) + self.enabled = enabled + self.cron_trigger = cron_trigger + + +class SequencerAction(_serialization.Model): + """The sequencer action details. + + :ivar action_id: The unique identifier of the sequencer action. + :vartype action_id: str + :ivar state: The state of the sequencer action. Known values are: "NotStarted", + "WaitingPredecessors", "ExecutingAction", "CreatingSuccessors", and "Completed". + :vartype state: str or ~azure.mgmt.azurearcdata.models.SequencerState + :ivar result: The result of the sequencer action. Known values are: "NotCompleted", + "Succeeded", "Failed", "TimedOut", and "Skipped". + :vartype result: str or ~azure.mgmt.azurearcdata.models.Result + """ + + _attribute_map = { + "action_id": {"key": "actionId", "type": "str"}, + "state": {"key": "state", "type": "str"}, + "result": {"key": "result", "type": "str"}, + } + + def __init__( + self, + *, + action_id: Optional[str] = None, + state: Optional[Union[str, "_models.SequencerState"]] = None, + result: Optional[Union[str, "_models.Result"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword action_id: The unique identifier of the sequencer action. + :paramtype action_id: str + :keyword state: The state of the sequencer action. Known values are: "NotStarted", + "WaitingPredecessors", "ExecutingAction", "CreatingSuccessors", and "Completed". + :paramtype state: str or ~azure.mgmt.azurearcdata.models.SequencerState + :keyword result: The result of the sequencer action. Known values are: "NotCompleted", + "Succeeded", "Failed", "TimedOut", and "Skipped". + :paramtype result: str or ~azure.mgmt.azurearcdata.models.Result + """ + super().__init__(**kwargs) + self.action_id = action_id + self.state = state + self.result = result + + +class ServerAssessmentsItem(_serialization.Model): + """ServerAssessmentsItem. + + :ivar applies_to_migration_target_platform: + :vartype applies_to_migration_target_platform: str + :ivar feature_id: + :vartype feature_id: str + :ivar impacted_objects: + :vartype impacted_objects: + list[~azure.mgmt.azurearcdata.models.ServerAssessmentsPropertiesItemsItem] + :ivar issue_category: + :vartype issue_category: str + :ivar more_information: + :vartype more_information: str + """ + + _attribute_map = { + "applies_to_migration_target_platform": {"key": "appliesToMigrationTargetPlatform", "type": "str"}, + "feature_id": {"key": "featureId", "type": "str"}, + "impacted_objects": {"key": "impactedObjects", "type": "[ServerAssessmentsPropertiesItemsItem]"}, + "issue_category": {"key": "issueCategory", "type": "str"}, + "more_information": {"key": "moreInformation", "type": "str"}, + } + + def __init__( + self, + *, + applies_to_migration_target_platform: Optional[str] = None, + feature_id: Optional[str] = None, + impacted_objects: Optional[list["_models.ServerAssessmentsPropertiesItemsItem"]] = None, + issue_category: Optional[str] = None, + more_information: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword applies_to_migration_target_platform: + :paramtype applies_to_migration_target_platform: str + :keyword feature_id: + :paramtype feature_id: str + :keyword impacted_objects: + :paramtype impacted_objects: + list[~azure.mgmt.azurearcdata.models.ServerAssessmentsPropertiesItemsItem] + :keyword issue_category: + :paramtype issue_category: str + :keyword more_information: + :paramtype more_information: str + """ + super().__init__(**kwargs) + self.applies_to_migration_target_platform = applies_to_migration_target_platform + self.feature_id = feature_id + self.impacted_objects = impacted_objects + self.issue_category = issue_category + self.more_information = more_information + + +class ServerAssessmentsPropertiesItemsItem(_serialization.Model): + """ServerAssessmentsPropertiesItemsItem. + + :ivar impact_detail: + :vartype impact_detail: str + :ivar name: + :vartype name: str + :ivar object_type: + :vartype object_type: str + """ + + _attribute_map = { + "impact_detail": {"key": "impactDetail", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "object_type": {"key": "objectType", "type": "str"}, + } + + def __init__( + self, + *, + impact_detail: Optional[str] = None, + name: Optional[str] = None, + object_type: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword impact_detail: + :paramtype impact_detail: str + :keyword name: + :paramtype name: str + :keyword object_type: + :paramtype object_type: str + """ + super().__init__(**kwargs) + self.impact_detail = impact_detail + self.name = name + self.object_type = object_type + + +class SkuRecommendationResults(_serialization.Model): + """SKU Recommendation results for Azure migration targets for SQL Server. + + :ivar azure_sql_database: SKU Recommendation results for Azure SQL Database. + :vartype azure_sql_database: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabase + :ivar azure_sql_managed_instance: SKU Recommendation results for Azure SQL Managed Instance. + :vartype azure_sql_managed_instance: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstance + :ivar azure_sql_virtual_machine: SKU Recommendation results for Azure SQL Virtual Machine. + :vartype azure_sql_virtual_machine: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachine + """ + + _attribute_map = { + "azure_sql_database": {"key": "azureSqlDatabase", "type": "SkuRecommendationResultsAzureSqlDatabase"}, + "azure_sql_managed_instance": { + "key": "azureSqlManagedInstance", + "type": "SkuRecommendationResultsAzureSqlManagedInstance", + }, + "azure_sql_virtual_machine": { + "key": "azureSqlVirtualMachine", + "type": "SkuRecommendationResultsAzureSqlVirtualMachine", + }, + } + + def __init__( + self, + *, + azure_sql_database: Optional["_models.SkuRecommendationResultsAzureSqlDatabase"] = None, + azure_sql_managed_instance: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstance"] = None, + azure_sql_virtual_machine: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachine"] = None, + **kwargs: Any + ) -> None: + """ + :keyword azure_sql_database: SKU Recommendation results for Azure SQL Database. + :paramtype azure_sql_database: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabase + :keyword azure_sql_managed_instance: SKU Recommendation results for Azure SQL Managed Instance. + :paramtype azure_sql_managed_instance: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstance + :keyword azure_sql_virtual_machine: SKU Recommendation results for Azure SQL Virtual Machine. + :paramtype azure_sql_virtual_machine: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachine + """ + super().__init__(**kwargs) + self.azure_sql_database = azure_sql_database + self.azure_sql_managed_instance = azure_sql_managed_instance + self.azure_sql_virtual_machine = azure_sql_virtual_machine + + +class SkuRecommendationResultsAzureSqlDatabase(_serialization.Model): + """SKU Recommendation results for Azure SQL Database. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar recommendation_status: The target recommendation Status for this database. Known values + are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :ivar number_of_server_blocker_issues: Number of blocker issues to fix before migrating to the + target platform. + :vartype number_of_server_blocker_issues: int + :ivar monthly_cost: The monthly cost of the particular SKU. + :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :ivar monthly_cost_options: The monthly cost for all different savings options applicable for + the particular SKU. + :vartype monthly_cost_options: + list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] + :ivar target_sku: + :vartype target_sku: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSku + """ + + _validation = { + "monthly_cost_options": {"readonly": True}, + } + + _attribute_map = { + "recommendation_status": {"key": "recommendationStatus", "type": "str"}, + "number_of_server_blocker_issues": {"key": "numberOfServerBlockerIssues", "type": "int"}, + "monthly_cost": {"key": "monthlyCost", "type": "SkuRecommendationResultsMonthlyCost"}, + "monthly_cost_options": { + "key": "monthlyCostOptions", + "type": "[SkuRecommendationResultsMonthlyCostOptionItem]", + }, + "target_sku": {"key": "targetSku", "type": "SkuRecommendationResultsAzureSqlDatabaseTargetSku"}, + } + + def __init__( + self, + *, + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, + number_of_server_blocker_issues: Optional[int] = None, + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, + target_sku: Optional["_models.SkuRecommendationResultsAzureSqlDatabaseTargetSku"] = None, + **kwargs: Any + ) -> None: + """ + :keyword recommendation_status: The target recommendation Status for this database. Known + values are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :paramtype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :keyword number_of_server_blocker_issues: Number of blocker issues to fix before migrating to + the target platform. + :paramtype number_of_server_blocker_issues: int + :keyword monthly_cost: The monthly cost of the particular SKU. + :paramtype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :keyword target_sku: + :paramtype target_sku: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSku + """ + super().__init__(**kwargs) + self.recommendation_status = recommendation_status + self.number_of_server_blocker_issues = number_of_server_blocker_issues + self.monthly_cost = monthly_cost + self.monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = None + self.target_sku = target_sku + + +class SkuRecommendationResultsAzureSqlDatabaseTargetSku(_serialization.Model): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlDatabaseTargetSku. + + :ivar category: + :vartype category: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory + :ivar compute_size: Compute Size in vCores. + :vartype compute_size: int + :ivar storage_max_size_in_mb: maximum storage for this particular SKU, in MB. + :vartype storage_max_size_in_mb: float + :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_data_size_in_mb: float + :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_log_size_in_mb: float + :ivar max_storage_iops: The maximum storage IOPS in Azure SQL, will impact the billing cost. + :vartype max_storage_iops: float + :ivar max_throughput_m_bps: The maximum throughput in Azure SQL, will impact the billing cost. + :vartype max_throughput_m_bps: float + """ + + _attribute_map = { + "category": {"key": "category", "type": "SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory"}, + "compute_size": {"key": "computeSize", "type": "int"}, + "storage_max_size_in_mb": {"key": "storageMaxSizeInMb", "type": "float"}, + "predicted_data_size_in_mb": {"key": "predictedDataSizeInMb", "type": "float"}, + "predicted_log_size_in_mb": {"key": "predictedLogSizeInMb", "type": "float"}, + "max_storage_iops": {"key": "maxStorageIops", "type": "float"}, + "max_throughput_m_bps": {"key": "maxThroughputMBps", "type": "float"}, + } + + def __init__( + self, + *, + category: Optional["_models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory"] = None, + compute_size: Optional[int] = None, + storage_max_size_in_mb: Optional[float] = None, + predicted_data_size_in_mb: Optional[float] = None, + predicted_log_size_in_mb: Optional[float] = None, + max_storage_iops: Optional[float] = None, + max_throughput_m_bps: Optional[float] = None, + **kwargs: Any + ) -> None: + """ + :keyword category: + :paramtype category: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory + :keyword compute_size: Compute Size in vCores. + :paramtype compute_size: int + :keyword storage_max_size_in_mb: maximum storage for this particular SKU, in MB. + :paramtype storage_max_size_in_mb: float + :keyword predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :paramtype predicted_data_size_in_mb: float + :keyword predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :paramtype predicted_log_size_in_mb: float + :keyword max_storage_iops: The maximum storage IOPS in Azure SQL, will impact the billing cost. + :paramtype max_storage_iops: float + :keyword max_throughput_m_bps: The maximum throughput in Azure SQL, will impact the billing + cost. + :paramtype max_throughput_m_bps: float + """ + super().__init__(**kwargs) + self.category = category + self.compute_size = compute_size + self.storage_max_size_in_mb = storage_max_size_in_mb + self.predicted_data_size_in_mb = predicted_data_size_in_mb + self.predicted_log_size_in_mb = predicted_log_size_in_mb + self.max_storage_iops = max_storage_iops + self.max_throughput_m_bps = max_throughput_m_bps + + +class SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory(_serialization.Model): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory. + + :ivar compute_tier: The compute tier of the target SKU. + :vartype compute_tier: str + :ivar hardware_type: The hardware type of the target SKU. + :vartype hardware_type: str + :ivar sql_purchasing_model: The SQL purchasing model of the target SKU. + :vartype sql_purchasing_model: str + :ivar sql_service_tier: The SQL service tier of the target SKU. + :vartype sql_service_tier: str + :ivar zone_redundancy_available: Indicates if zone redundancy is available for the target SKU. + :vartype zone_redundancy_available: bool + """ + + _attribute_map = { + "compute_tier": {"key": "computeTier", "type": "str"}, + "hardware_type": {"key": "hardwareType", "type": "str"}, + "sql_purchasing_model": {"key": "sqlPurchasingModel", "type": "str"}, + "sql_service_tier": {"key": "sqlServiceTier", "type": "str"}, + "zone_redundancy_available": {"key": "zoneRedundancyAvailable", "type": "bool"}, + } + + def __init__( + self, + *, + compute_tier: Optional[str] = None, + hardware_type: Optional[str] = None, + sql_purchasing_model: Optional[str] = None, + sql_service_tier: Optional[str] = None, + zone_redundancy_available: Optional[bool] = None, + **kwargs: Any + ) -> None: + """ + :keyword compute_tier: The compute tier of the target SKU. + :paramtype compute_tier: str + :keyword hardware_type: The hardware type of the target SKU. + :paramtype hardware_type: str + :keyword sql_purchasing_model: The SQL purchasing model of the target SKU. + :paramtype sql_purchasing_model: str + :keyword sql_service_tier: The SQL service tier of the target SKU. + :paramtype sql_service_tier: str + :keyword zone_redundancy_available: Indicates if zone redundancy is available for the target + SKU. + :paramtype zone_redundancy_available: bool + """ + super().__init__(**kwargs) + self.compute_tier = compute_tier + self.hardware_type = hardware_type + self.sql_purchasing_model = sql_purchasing_model + self.sql_service_tier = sql_service_tier + self.zone_redundancy_available = zone_redundancy_available + + +class SkuRecommendationResultsAzureSqlManagedInstance(_serialization.Model): # pylint: disable=name-too-long + """SKU Recommendation results for Azure SQL Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar recommendation_status: The target recommendation Status for this database. Known values + are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :ivar number_of_server_blocker_issues: Number of blocker issues to fix before migrating to the + target platform. + :vartype number_of_server_blocker_issues: int + :ivar monthly_cost: The monthly cost of the particular SKU. + :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :ivar monthly_cost_options: The monthly cost for all different savings options applicable for + the particular SKU. + :vartype monthly_cost_options: + list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] + :ivar target_sku: + :vartype target_sku: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku + """ + + _validation = { + "monthly_cost_options": {"readonly": True}, + } + + _attribute_map = { + "recommendation_status": {"key": "recommendationStatus", "type": "str"}, + "number_of_server_blocker_issues": {"key": "numberOfServerBlockerIssues", "type": "int"}, + "monthly_cost": {"key": "monthlyCost", "type": "SkuRecommendationResultsMonthlyCost"}, + "monthly_cost_options": { + "key": "monthlyCostOptions", + "type": "[SkuRecommendationResultsMonthlyCostOptionItem]", + }, + "target_sku": {"key": "targetSku", "type": "SkuRecommendationResultsAzureSqlManagedInstanceTargetSku"}, + } + + def __init__( + self, + *, + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, + number_of_server_blocker_issues: Optional[int] = None, + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, + target_sku: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku"] = None, + **kwargs: Any + ) -> None: + """ + :keyword recommendation_status: The target recommendation Status for this database. Known + values are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :paramtype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :keyword number_of_server_blocker_issues: Number of blocker issues to fix before migrating to + the target platform. + :paramtype number_of_server_blocker_issues: int + :keyword monthly_cost: The monthly cost of the particular SKU. + :paramtype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :keyword target_sku: + :paramtype target_sku: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku + """ + super().__init__(**kwargs) + self.recommendation_status = recommendation_status + self.number_of_server_blocker_issues = number_of_server_blocker_issues + self.monthly_cost = monthly_cost + self.monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = None + self.target_sku = target_sku + + +class SkuRecommendationResultsAzureSqlManagedInstanceTargetSku(_serialization.Model): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlManagedInstanceTargetSku. + + :ivar category: + :vartype category: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory + :ivar compute_size: Compute Size in vCores. + :vartype compute_size: int + :ivar storage_max_size_in_mb: maximum storage for this particular SKU, in MB. + :vartype storage_max_size_in_mb: float + :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_data_size_in_mb: float + :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_log_size_in_mb: float + :ivar max_storage_iops: The maximum storage IOPS in Azure SQL, will impact the billing cost. + :vartype max_storage_iops: float + :ivar max_throughput_m_bps: The maximum throughput in Azure SQL, will impact the billing cost. + :vartype max_throughput_m_bps: float + """ + + _attribute_map = { + "category": {"key": "category", "type": "SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory"}, + "compute_size": {"key": "computeSize", "type": "int"}, + "storage_max_size_in_mb": {"key": "storageMaxSizeInMb", "type": "float"}, + "predicted_data_size_in_mb": {"key": "predictedDataSizeInMb", "type": "float"}, + "predicted_log_size_in_mb": {"key": "predictedLogSizeInMb", "type": "float"}, + "max_storage_iops": {"key": "maxStorageIops", "type": "float"}, + "max_throughput_m_bps": {"key": "maxThroughputMBps", "type": "float"}, + } + + def __init__( + self, + *, + category: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory"] = None, + compute_size: Optional[int] = None, + storage_max_size_in_mb: Optional[float] = None, + predicted_data_size_in_mb: Optional[float] = None, + predicted_log_size_in_mb: Optional[float] = None, + max_storage_iops: Optional[float] = None, + max_throughput_m_bps: Optional[float] = None, + **kwargs: Any + ) -> None: + """ + :keyword category: + :paramtype category: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory + :keyword compute_size: Compute Size in vCores. + :paramtype compute_size: int + :keyword storage_max_size_in_mb: maximum storage for this particular SKU, in MB. + :paramtype storage_max_size_in_mb: float + :keyword predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :paramtype predicted_data_size_in_mb: float + :keyword predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :paramtype predicted_log_size_in_mb: float + :keyword max_storage_iops: The maximum storage IOPS in Azure SQL, will impact the billing cost. + :paramtype max_storage_iops: float + :keyword max_throughput_m_bps: The maximum throughput in Azure SQL, will impact the billing + cost. + :paramtype max_throughput_m_bps: float + """ + super().__init__(**kwargs) + self.category = category + self.compute_size = compute_size + self.storage_max_size_in_mb = storage_max_size_in_mb + self.predicted_data_size_in_mb = predicted_data_size_in_mb + self.predicted_log_size_in_mb = predicted_log_size_in_mb + self.max_storage_iops = max_storage_iops + self.max_throughput_m_bps = max_throughput_m_bps + + +class SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory( + _serialization.Model +): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory. + + :ivar compute_tier: The compute tier of the target SKU. + :vartype compute_tier: str + :ivar hardware_type: The hardware type of the target SKU. + :vartype hardware_type: str + :ivar sql_purchasing_model: The SQL purchasing model of the target SKU. + :vartype sql_purchasing_model: str + :ivar sql_service_tier: The SQL service tier of the target SKU. + :vartype sql_service_tier: str + :ivar zone_redundancy_available: Indicates if zone redundancy is available for the target SKU. + :vartype zone_redundancy_available: bool + """ + + _attribute_map = { + "compute_tier": {"key": "computeTier", "type": "str"}, + "hardware_type": {"key": "hardwareType", "type": "str"}, + "sql_purchasing_model": {"key": "sqlPurchasingModel", "type": "str"}, + "sql_service_tier": {"key": "sqlServiceTier", "type": "str"}, + "zone_redundancy_available": {"key": "zoneRedundancyAvailable", "type": "bool"}, + } + + def __init__( + self, + *, + compute_tier: Optional[str] = None, + hardware_type: Optional[str] = None, + sql_purchasing_model: Optional[str] = None, + sql_service_tier: Optional[str] = None, + zone_redundancy_available: Optional[bool] = None, + **kwargs: Any + ) -> None: + """ + :keyword compute_tier: The compute tier of the target SKU. + :paramtype compute_tier: str + :keyword hardware_type: The hardware type of the target SKU. + :paramtype hardware_type: str + :keyword sql_purchasing_model: The SQL purchasing model of the target SKU. + :paramtype sql_purchasing_model: str + :keyword sql_service_tier: The SQL service tier of the target SKU. + :paramtype sql_service_tier: str + :keyword zone_redundancy_available: Indicates if zone redundancy is available for the target + SKU. + :paramtype zone_redundancy_available: bool + """ + super().__init__(**kwargs) + self.compute_tier = compute_tier + self.hardware_type = hardware_type + self.sql_purchasing_model = sql_purchasing_model + self.sql_service_tier = sql_service_tier + self.zone_redundancy_available = zone_redundancy_available + + +class SkuRecommendationResultsAzureSqlVirtualMachine(_serialization.Model): # pylint: disable=name-too-long + """SKU Recommendation results for Azure SQL Virtual Machine. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar recommendation_status: The target recommendation Status for this database. Known values + are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :ivar number_of_server_blocker_issues: Number of blocker issues to fix before migrating to the + target platform. + :vartype number_of_server_blocker_issues: int + :ivar monthly_cost: The monthly cost of the particular SKU. + :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :ivar monthly_cost_options: The monthly cost for all different savings options applicable for + the particular SKU. + :vartype monthly_cost_options: + list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] + :ivar target_sku: + :vartype target_sku: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku + """ + + _validation = { + "monthly_cost_options": {"readonly": True}, + } + + _attribute_map = { + "recommendation_status": {"key": "recommendationStatus", "type": "str"}, + "number_of_server_blocker_issues": {"key": "numberOfServerBlockerIssues", "type": "int"}, + "monthly_cost": {"key": "monthlyCost", "type": "SkuRecommendationResultsMonthlyCost"}, + "monthly_cost_options": { + "key": "monthlyCostOptions", + "type": "[SkuRecommendationResultsMonthlyCostOptionItem]", + }, + "target_sku": {"key": "targetSku", "type": "SkuRecommendationResultsAzureSqlVirtualMachineTargetSku"}, + } + + def __init__( + self, + *, + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, + number_of_server_blocker_issues: Optional[int] = None, + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, + target_sku: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku"] = None, + **kwargs: Any + ) -> None: + """ + :keyword recommendation_status: The target recommendation Status for this database. Known + values are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :paramtype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :keyword number_of_server_blocker_issues: Number of blocker issues to fix before migrating to + the target platform. + :paramtype number_of_server_blocker_issues: int + :keyword monthly_cost: The monthly cost of the particular SKU. + :paramtype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :keyword target_sku: + :paramtype target_sku: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku + """ + super().__init__(**kwargs) + self.recommendation_status = recommendation_status + self.number_of_server_blocker_issues = number_of_server_blocker_issues + self.monthly_cost = monthly_cost + self.monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = None + self.target_sku = target_sku + + +class SkuRecommendationResultsAzureSqlVirtualMachineTargetSku(_serialization.Model): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlVirtualMachineTargetSku. + + :ivar category: + :vartype category: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory + :ivar compute_size: Compute Size in vCores. + :vartype compute_size: int + :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_data_size_in_mb: float + :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_log_size_in_mb: float + :ivar virtual_machine_size: size parameters for VM size. + :vartype virtual_machine_size: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize + :ivar data_disk_sizes: Data disk sizes. + :vartype data_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] + :ivar log_disk_sizes: Log disk sizes. + :vartype log_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] + :ivar temp_db_disk_sizes: temp db disk sizes. + :vartype temp_db_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] + """ + + _attribute_map = { + "category": {"key": "category", "type": "SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory"}, + "compute_size": {"key": "computeSize", "type": "int"}, + "predicted_data_size_in_mb": {"key": "predictedDataSizeInMb", "type": "float"}, + "predicted_log_size_in_mb": {"key": "predictedLogSizeInMb", "type": "float"}, + "virtual_machine_size": { + "key": "virtualMachineSize", + "type": "SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize", + }, + "data_disk_sizes": {"key": "dataDiskSizes", "type": "[DiskSizes]"}, + "log_disk_sizes": {"key": "logDiskSizes", "type": "[DiskSizes]"}, + "temp_db_disk_sizes": {"key": "tempDbDiskSizes", "type": "[DiskSizes]"}, + } + + def __init__( + self, + *, + category: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory"] = None, + compute_size: Optional[int] = None, + predicted_data_size_in_mb: Optional[float] = None, + predicted_log_size_in_mb: Optional[float] = None, + virtual_machine_size: Optional[ + "_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize" + ] = None, + data_disk_sizes: Optional[list["_models.DiskSizes"]] = None, + log_disk_sizes: Optional[list["_models.DiskSizes"]] = None, + temp_db_disk_sizes: Optional[list["_models.DiskSizes"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword category: + :paramtype category: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory + :keyword compute_size: Compute Size in vCores. + :paramtype compute_size: int + :keyword predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :paramtype predicted_data_size_in_mb: float + :keyword predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :paramtype predicted_log_size_in_mb: float + :keyword virtual_machine_size: size parameters for VM size. + :paramtype virtual_machine_size: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize + :keyword data_disk_sizes: Data disk sizes. + :paramtype data_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] + :keyword log_disk_sizes: Log disk sizes. + :paramtype log_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] + :keyword temp_db_disk_sizes: temp db disk sizes. + :paramtype temp_db_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] + """ + super().__init__(**kwargs) + self.category = category + self.compute_size = compute_size + self.predicted_data_size_in_mb = predicted_data_size_in_mb + self.predicted_log_size_in_mb = predicted_log_size_in_mb + self.virtual_machine_size = virtual_machine_size + self.data_disk_sizes = data_disk_sizes + self.log_disk_sizes = log_disk_sizes + self.temp_db_disk_sizes = temp_db_disk_sizes + + +class SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory( + _serialization.Model +): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory. + + :ivar available_vm_skus: Available VM SKUs for the Azure SQL Virtual Machine. + :vartype available_vm_skus: list[str] + :ivar virtual_machine_family: The virtual machine family of the target SKU. + :vartype virtual_machine_family: str + """ + + _attribute_map = { + "available_vm_skus": {"key": "availableVmSkus", "type": "[str]"}, + "virtual_machine_family": {"key": "virtualMachineFamily", "type": "str"}, + } + + def __init__( + self, + *, + available_vm_skus: Optional[list[str]] = None, + virtual_machine_family: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword available_vm_skus: Available VM SKUs for the Azure SQL Virtual Machine. + :paramtype available_vm_skus: list[str] + :keyword virtual_machine_family: The virtual machine family of the target SKU. + :paramtype virtual_machine_family: str + """ + super().__init__(**kwargs) + self.available_vm_skus = available_vm_skus + self.virtual_machine_family = virtual_machine_family + + +class SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize( + _serialization.Model +): # pylint: disable=name-too-long + """size parameters for VM size. + + :ivar virtual_machine_family: Virtual Machine Family, for example : standardMSFamily. + :vartype virtual_machine_family: str + :ivar size_name: VM Size, for example : M64ls. + :vartype size_name: str + :ivar compute_size: Compute Size in vCores. + :vartype compute_size: int + :ivar azure_sku_name: Virtual Machine SKU name,: Eg : Standard_F16s. + :vartype azure_sku_name: str + :ivar v_cpus_available: Available vCores. This can be less than the vCores in the Constrained + vCPU VM Sizes. + :vartype v_cpus_available: int + :ivar max_network_interfaces: maximum network interfaces. + :vartype max_network_interfaces: int + """ + + _attribute_map = { + "virtual_machine_family": {"key": "virtualMachineFamily", "type": "str"}, + "size_name": {"key": "sizeName", "type": "str"}, + "compute_size": {"key": "computeSize", "type": "int"}, + "azure_sku_name": {"key": "azureSkuName", "type": "str"}, + "v_cpus_available": {"key": "vCPUsAvailable", "type": "int"}, + "max_network_interfaces": {"key": "maxNetworkInterfaces", "type": "int"}, + } + + def __init__( + self, + *, + virtual_machine_family: Optional[str] = None, + size_name: Optional[str] = None, + compute_size: Optional[int] = None, + azure_sku_name: Optional[str] = None, + v_cpus_available: Optional[int] = None, + max_network_interfaces: Optional[int] = None, + **kwargs: Any + ) -> None: + """ + :keyword virtual_machine_family: Virtual Machine Family, for example : standardMSFamily. + :paramtype virtual_machine_family: str + :keyword size_name: VM Size, for example : M64ls. + :paramtype size_name: str + :keyword compute_size: Compute Size in vCores. + :paramtype compute_size: int + :keyword azure_sku_name: Virtual Machine SKU name,: Eg : Standard_F16s. + :paramtype azure_sku_name: str + :keyword v_cpus_available: Available vCores. This can be less than the vCores in the + Constrained vCPU VM Sizes. + :paramtype v_cpus_available: int + :keyword max_network_interfaces: maximum network interfaces. + :paramtype max_network_interfaces: int + """ + super().__init__(**kwargs) + self.virtual_machine_family = virtual_machine_family + self.size_name = size_name + self.compute_size = compute_size + self.azure_sku_name = azure_sku_name + self.v_cpus_available = v_cpus_available + self.max_network_interfaces = max_network_interfaces + + +class SkuRecommendationResultsMonthlyCost(_serialization.Model): + """The monthly cost of the particular SKU. + + :ivar compute_cost: Represents the Cost of Compute. + :vartype compute_cost: float + :ivar storage_cost: Represents the Cost of Storage. + :vartype storage_cost: float + :ivar iops_cost: Represents the Cost of IOPS. + :vartype iops_cost: float + :ivar sql_license_cost: Represents the Cost of SQL license. + :vartype sql_license_cost: float + :ivar windows_license_cost: Represents the Cost of Windows license. + :vartype windows_license_cost: float + :ivar total_cost: Represents the Total Cost. + :vartype total_cost: float + """ + + _attribute_map = { + "compute_cost": {"key": "computeCost", "type": "float"}, + "storage_cost": {"key": "storageCost", "type": "float"}, + "iops_cost": {"key": "iopsCost", "type": "float"}, + "sql_license_cost": {"key": "sqlLicenseCost", "type": "float"}, + "windows_license_cost": {"key": "windowsLicenseCost", "type": "float"}, + "total_cost": {"key": "totalCost", "type": "float"}, + } + + def __init__( + self, + *, + compute_cost: Optional[float] = None, + storage_cost: Optional[float] = None, + iops_cost: Optional[float] = None, + sql_license_cost: Optional[float] = None, + windows_license_cost: Optional[float] = None, + total_cost: Optional[float] = None, + **kwargs: Any + ) -> None: + """ + :keyword compute_cost: Represents the Cost of Compute. + :paramtype compute_cost: float + :keyword storage_cost: Represents the Cost of Storage. + :paramtype storage_cost: float + :keyword iops_cost: Represents the Cost of IOPS. + :paramtype iops_cost: float + :keyword sql_license_cost: Represents the Cost of SQL license. + :paramtype sql_license_cost: float + :keyword windows_license_cost: Represents the Cost of Windows license. + :paramtype windows_license_cost: float + :keyword total_cost: Represents the Total Cost. + :paramtype total_cost: float + """ + super().__init__(**kwargs) + self.compute_cost = compute_cost + self.storage_cost = storage_cost + self.iops_cost = iops_cost + self.sql_license_cost = sql_license_cost + self.windows_license_cost = windows_license_cost + self.total_cost = total_cost + + +class SkuRecommendationResultsMonthlyCostOptionItem(_serialization.Model): # pylint: disable=name-too-long + """The monthly cost values for this saving option combination for the particular SKU. + + :ivar key_name: The unique combination of saving options for a price e.g. With1YearASPAndProd. + :vartype key_name: str + :ivar key_value: The Monthly cost of the particular SKU. + :vartype key_value: ~azure.mgmt.azurearcdata.models.CostTypeValues + """ + + _attribute_map = { + "key_name": {"key": "keyName", "type": "str"}, + "key_value": {"key": "keyValue", "type": "CostTypeValues"}, + } + + def __init__( + self, *, key_name: Optional[str] = None, key_value: Optional["_models.CostTypeValues"] = None, **kwargs: Any + ) -> None: + """ + :keyword key_name: The unique combination of saving options for a price e.g. + With1YearASPAndProd. + :paramtype key_name: str + :keyword key_value: The Monthly cost of the particular SKU. + :paramtype key_value: ~azure.mgmt.azurearcdata.models.CostTypeValues + """ + super().__init__(**kwargs) + self.key_name = key_name + self.key_value = key_value + + +class SkuRecommendationSummary(_serialization.Model): + """The SKU recommendation summary. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar num_of_blocker_issues: Number of blocker issues to fix before migrating this database to + the target platform. + :vartype num_of_blocker_issues: int + :ivar recommendation_status: The target recommendation Status for this database. Known values + are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :ivar impacted_objects_summary: + :vartype impacted_objects_summary: list[~azure.mgmt.azurearcdata.models.ImpactedObjectsInfo] + :ivar monthly_cost: The monthly cost of the particular SKU. + :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :ivar monthly_cost_options: The monthly cost for all different savings options applicable for + the particular SKU. + :vartype monthly_cost_options: + list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] + :ivar target_sku: + :vartype target_sku: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSku + """ + + _validation = { + "impacted_objects_summary": {"readonly": True}, + "monthly_cost_options": {"readonly": True}, + } + + _attribute_map = { + "num_of_blocker_issues": {"key": "numOfBlockerIssues", "type": "int"}, + "recommendation_status": {"key": "recommendationStatus", "type": "str"}, + "impacted_objects_summary": {"key": "impactedObjectsSummary", "type": "[ImpactedObjectsInfo]"}, + "monthly_cost": {"key": "monthlyCost", "type": "SkuRecommendationResultsMonthlyCost"}, + "monthly_cost_options": { + "key": "monthlyCostOptions", + "type": "[SkuRecommendationResultsMonthlyCostOptionItem]", + }, + "target_sku": {"key": "targetSku", "type": "SkuRecommendationSummaryTargetSku"}, + } + + def __init__( + self, + *, + num_of_blocker_issues: Optional[int] = None, + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, + target_sku: Optional["_models.SkuRecommendationSummaryTargetSku"] = None, + **kwargs: Any + ) -> None: + """ + :keyword num_of_blocker_issues: Number of blocker issues to fix before migrating this database + to the target platform. + :paramtype num_of_blocker_issues: int + :keyword recommendation_status: The target recommendation Status for this database. Known + values are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :paramtype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :keyword monthly_cost: The monthly cost of the particular SKU. + :paramtype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :keyword target_sku: + :paramtype target_sku: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSku + """ + super().__init__(**kwargs) + self.num_of_blocker_issues = num_of_blocker_issues + self.recommendation_status = recommendation_status + self.impacted_objects_summary: Optional[list["_models.ImpactedObjectsInfo"]] = None + self.monthly_cost = monthly_cost + self.monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = None + self.target_sku = target_sku + + +class SkuRecommendationSummaryTargetSku(_serialization.Model): + """SkuRecommendationSummaryTargetSku. + + :ivar category: + :vartype category: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSkuCategory + :ivar compute_size: Compute Size in vCores. + :vartype compute_size: int + :ivar storage_max_size_in_mb: max storage for this particular SKU, in MB. + :vartype storage_max_size_in_mb: float + :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_data_size_in_mb: float + :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_log_size_in_mb: float + :ivar max_storage_iops: The max storage IOPS in Azure SQL, will impact the billing cost. + :vartype max_storage_iops: float + :ivar max_throughput_m_bps: The max throughput in Azure SQL, will impact the billing cost. + :vartype max_throughput_m_bps: float + """ + + _attribute_map = { + "category": {"key": "category", "type": "SkuRecommendationSummaryTargetSkuCategory"}, + "compute_size": {"key": "computeSize", "type": "int"}, + "storage_max_size_in_mb": {"key": "storageMaxSizeInMb", "type": "float"}, + "predicted_data_size_in_mb": {"key": "predictedDataSizeInMb", "type": "float"}, + "predicted_log_size_in_mb": {"key": "predictedLogSizeInMb", "type": "float"}, + "max_storage_iops": {"key": "maxStorageIops", "type": "float"}, + "max_throughput_m_bps": {"key": "maxThroughputMBps", "type": "float"}, + } + + def __init__( + self, + *, + category: Optional["_models.SkuRecommendationSummaryTargetSkuCategory"] = None, + compute_size: Optional[int] = None, + storage_max_size_in_mb: Optional[float] = None, + predicted_data_size_in_mb: Optional[float] = None, + predicted_log_size_in_mb: Optional[float] = None, + max_storage_iops: Optional[float] = None, + max_throughput_m_bps: Optional[float] = None, + **kwargs: Any + ) -> None: + """ + :keyword category: + :paramtype category: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSkuCategory + :keyword compute_size: Compute Size in vCores. + :paramtype compute_size: int + :keyword storage_max_size_in_mb: max storage for this particular SKU, in MB. + :paramtype storage_max_size_in_mb: float + :keyword predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :paramtype predicted_data_size_in_mb: float + :keyword predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :paramtype predicted_log_size_in_mb: float + :keyword max_storage_iops: The max storage IOPS in Azure SQL, will impact the billing cost. + :paramtype max_storage_iops: float + :keyword max_throughput_m_bps: The max throughput in Azure SQL, will impact the billing cost. + :paramtype max_throughput_m_bps: float + """ + super().__init__(**kwargs) + self.category = category + self.compute_size = compute_size + self.storage_max_size_in_mb = storage_max_size_in_mb + self.predicted_data_size_in_mb = predicted_data_size_in_mb + self.predicted_log_size_in_mb = predicted_log_size_in_mb + self.max_storage_iops = max_storage_iops + self.max_throughput_m_bps = max_throughput_m_bps + + +class SkuRecommendationSummaryTargetSkuCategory(_serialization.Model): # pylint: disable=name-too-long + """SkuRecommendationSummaryTargetSkuCategory. + + :ivar compute_tier: The compute tier of the target SKU. + :vartype compute_tier: str + :ivar hardware_type: The hardware type of the target SKU. + :vartype hardware_type: str + :ivar sql_purchasing_model: The SQL purchasing model of the target SKU. + :vartype sql_purchasing_model: str + :ivar sql_service_tier: The SQL service tier of the target SKU. + :vartype sql_service_tier: str + :ivar zone_redundancy_available: Indicates if zone redundancy is available for the target SKU. + :vartype zone_redundancy_available: bool + """ + + _attribute_map = { + "compute_tier": {"key": "computeTier", "type": "str"}, + "hardware_type": {"key": "hardwareType", "type": "str"}, + "sql_purchasing_model": {"key": "sqlPurchasingModel", "type": "str"}, + "sql_service_tier": {"key": "sqlServiceTier", "type": "str"}, + "zone_redundancy_available": {"key": "zoneRedundancyAvailable", "type": "bool"}, + } + + def __init__( + self, + *, + compute_tier: Optional[str] = None, + hardware_type: Optional[str] = None, + sql_purchasing_model: Optional[str] = None, + sql_service_tier: Optional[str] = None, + zone_redundancy_available: Optional[bool] = None, + **kwargs: Any + ) -> None: + """ + :keyword compute_tier: The compute tier of the target SKU. + :paramtype compute_tier: str + :keyword hardware_type: The hardware type of the target SKU. + :paramtype hardware_type: str + :keyword sql_purchasing_model: The SQL purchasing model of the target SKU. + :paramtype sql_purchasing_model: str + :keyword sql_service_tier: The SQL service tier of the target SKU. + :paramtype sql_service_tier: str + :keyword zone_redundancy_available: Indicates if zone redundancy is available for the target + SKU. + :paramtype zone_redundancy_available: bool + """ + super().__init__(**kwargs) + self.compute_tier = compute_tier + self.hardware_type = hardware_type + self.sql_purchasing_model = sql_purchasing_model + self.sql_service_tier = sql_service_tier + self.zone_redundancy_available = zone_redundancy_available + + +class SqlAvailabilityGroupDatabaseReplicaResourceProperties(_serialization.Model): # pylint: disable=name-too-long + """The properties of Arc Sql availability group database replica resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar database_name: the database name. + :vartype database_name: str + :ivar replica_name: the database replica name. + :vartype replica_name: str + :ivar is_local: Whether the availability database is local. + :vartype is_local: bool + :ivar is_primary_replica: Returns 1 if the replica is primary, or 0 if it is a secondary + replica. + :vartype is_primary_replica: bool + :ivar synchronization_state_description: Description of the data-movement state. + :vartype synchronization_state_description: str + :ivar is_commit_participant: Whether this replica is transaction committer. + :vartype is_commit_participant: bool + :ivar synchronization_health_description: Description of the health of database. + :vartype synchronization_health_description: str + :ivar database_state_description: Description of the database state of the availability + replica. + :vartype database_state_description: str + :ivar is_suspended: Whether this data movement is suspended. + :vartype is_suspended: bool + :ivar suspend_reason_description: Description of the database suspended state reason. + :vartype suspend_reason_description: str + """ + + _validation = { + "replica_name": {"readonly": True}, + "is_local": {"readonly": True}, + "is_primary_replica": {"readonly": True}, + "synchronization_state_description": {"readonly": True}, + "is_commit_participant": {"readonly": True}, + "synchronization_health_description": {"readonly": True}, + "database_state_description": {"readonly": True}, + "is_suspended": {"readonly": True}, + "suspend_reason_description": {"readonly": True}, + } + + _attribute_map = { + "database_name": {"key": "databaseName", "type": "str"}, + "replica_name": {"key": "replicaName", "type": "str"}, + "is_local": {"key": "isLocal", "type": "bool"}, + "is_primary_replica": {"key": "isPrimaryReplica", "type": "bool"}, + "synchronization_state_description": {"key": "synchronizationStateDescription", "type": "str"}, + "is_commit_participant": {"key": "isCommitParticipant", "type": "bool"}, + "synchronization_health_description": {"key": "synchronizationHealthDescription", "type": "str"}, + "database_state_description": {"key": "databaseStateDescription", "type": "str"}, + "is_suspended": {"key": "isSuspended", "type": "bool"}, + "suspend_reason_description": {"key": "suspendReasonDescription", "type": "str"}, + } + + def __init__(self, *, database_name: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword database_name: the database name. + :paramtype database_name: str + """ + super().__init__(**kwargs) + self.database_name = database_name + self.replica_name: Optional[str] = None + self.is_local: Optional[bool] = None + self.is_primary_replica: Optional[bool] = None + self.synchronization_state_description: Optional[str] = None + self.is_commit_participant: Optional[bool] = None + self.synchronization_health_description: Optional[str] = None + self.database_state_description: Optional[str] = None + self.is_suspended: Optional[bool] = None + self.suspend_reason_description: Optional[str] = None + + +class SqlAvailabilityGroupDhcpListenerProperties(_serialization.Model): # pylint: disable=name-too-long + """The properties of a DHCP Arc Sql availability group listener. + + :ivar dns_name: the DNS name for the listener. + :vartype dns_name: str + :ivar subnet: The IPV4 subnet for the listener. + :vartype subnet: str + :ivar mask: The netmask for the listener. + :vartype mask: str + :ivar port: Network port for the listener. Default is 1433. + :vartype port: int + """ + + _attribute_map = { + "dns_name": {"key": "dnsName", "type": "str"}, + "subnet": {"key": "subnet", "type": "str"}, + "mask": {"key": "mask", "type": "str"}, + "port": {"key": "port", "type": "int"}, + } + + def __init__( + self, + *, + dns_name: Optional[str] = None, + subnet: Optional[str] = None, + mask: Optional[str] = None, + port: Optional[int] = None, + **kwargs: Any + ) -> None: + """ + :keyword dns_name: the DNS name for the listener. + :paramtype dns_name: str + :keyword subnet: The IPV4 subnet for the listener. + :paramtype subnet: str + :keyword mask: The netmask for the listener. + :paramtype mask: str + :keyword port: Network port for the listener. Default is 1433. + :paramtype port: int + """ + super().__init__(**kwargs) + self.dns_name = dns_name + self.subnet = subnet + self.mask = mask + self.port = port + + +class SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem(_serialization.Model): # pylint: disable=name-too-long + """SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem. + + :ivar ip_address: IPV4 address. + :vartype ip_address: str + :ivar mask: IPV4 netmask. + :vartype mask: str + """ + + _attribute_map = { + "ip_address": {"key": "ipAddress", "type": "str"}, + "mask": {"key": "mask", "type": "str"}, + } + + def __init__(self, *, ip_address: Optional[str] = None, mask: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword ip_address: IPV4 address. + :paramtype ip_address: str + :keyword mask: IPV4 netmask. + :paramtype mask: str + """ + super().__init__(**kwargs) + self.ip_address = ip_address + self.mask = mask + + +class SqlAvailabilityGroupReplicaResourceProperties(_serialization.Model): # pylint: disable=name-too-long + """The properties of Arc Sql availability group replica resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar replica_id: ID GUID of the availability group. + :vartype replica_id: str + :ivar replica_name: The replica name. + :vartype replica_name: str + :ivar replica_resource_id: Resource id of this replica. This is required for a distributed + availability group, in which case it describes the location of the availability group that + hosts one replica in the DAG. In a non-distributed availability group this field is optional + but can be used to store the Azure resource id for AG. + :vartype replica_resource_id: str + :ivar configure: null. + :vartype configure: ~azure.mgmt.azurearcdata.models.AvailabilityGroupConfigure + :ivar state: null. + :vartype state: ~azure.mgmt.azurearcdata.models.AvailabilityGroupState + """ + + _validation = { + "replica_id": {"readonly": True, "pattern": r"^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$"}, + } + + _attribute_map = { + "replica_id": {"key": "replicaId", "type": "str"}, + "replica_name": {"key": "replicaName", "type": "str"}, + "replica_resource_id": {"key": "replicaResourceId", "type": "str"}, + "configure": {"key": "configure", "type": "AvailabilityGroupConfigure"}, + "state": {"key": "state", "type": "AvailabilityGroupState"}, + } + + def __init__( + self, + *, + replica_name: Optional[str] = None, + replica_resource_id: Optional[str] = None, + configure: Optional["_models.AvailabilityGroupConfigure"] = None, + state: Optional["_models.AvailabilityGroupState"] = None, + **kwargs: Any + ) -> None: + """ + :keyword replica_name: The replica name. + :paramtype replica_name: str + :keyword replica_resource_id: Resource id of this replica. This is required for a distributed + availability group, in which case it describes the location of the availability group that + hosts one replica in the DAG. In a non-distributed availability group this field is optional + but can be used to store the Azure resource id for AG. + :paramtype replica_resource_id: str + :keyword configure: null. + :paramtype configure: ~azure.mgmt.azurearcdata.models.AvailabilityGroupConfigure + :keyword state: null. + :paramtype state: ~azure.mgmt.azurearcdata.models.AvailabilityGroupState + """ + super().__init__(**kwargs) + self.replica_id: Optional[str] = None + self.replica_name = replica_name + self.replica_resource_id = replica_resource_id + self.configure = configure + self.state = state + + +class SqlAvailabilityGroupStaticIPListenerProperties(_serialization.Model): # pylint: disable=name-too-long + """The properties of a static IP Arc Sql availability group listener. + + :ivar dns_name: the DNS name for the listener. + :vartype dns_name: str + :ivar ip_v4_addresses_and_masks: IP V4 Addresses and masks for the listener. + :vartype ip_v4_addresses_and_masks: + list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem] + :ivar ip_v6_addresses: IP V6 Addresses for the listener. + :vartype ip_v6_addresses: list[str] + :ivar port: Network port for the listener. Default is 1433. + :vartype port: int + """ + + _attribute_map = { + "dns_name": {"key": "dnsName", "type": "str"}, + "ip_v4_addresses_and_masks": { + "key": "ipV4AddressesAndMasks", + "type": "[SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem]", + }, + "ip_v6_addresses": {"key": "ipV6Addresses", "type": "[str]"}, + "port": {"key": "port", "type": "int"}, + } + + def __init__( + self, + *, + dns_name: Optional[str] = None, + ip_v4_addresses_and_masks: Optional[ + list["_models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem"] + ] = None, + ip_v6_addresses: Optional[list[str]] = None, + port: Optional[int] = None, + **kwargs: Any + ) -> None: + """ + :keyword dns_name: the DNS name for the listener. + :paramtype dns_name: str + :keyword ip_v4_addresses_and_masks: IP V4 Addresses and masks for the listener. + :paramtype ip_v4_addresses_and_masks: + list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem] + :keyword ip_v6_addresses: IP V6 Addresses for the listener. + :paramtype ip_v6_addresses: list[str] + :keyword port: Network port for the listener. Default is 1433. + :paramtype port: int + """ + super().__init__(**kwargs) + self.dns_name = dns_name + self.ip_v4_addresses_and_masks = ip_v4_addresses_and_masks + self.ip_v6_addresses = ip_v6_addresses + self.port = port + + +class SqlManagedInstance(TrackedResource): + """A SqlManagedInstance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: null. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties + :ivar extended_location: The extendedLocation of the resource. + :vartype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation + :ivar sku: Resource sku. + :vartype sku: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSku + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "location": {"required": True}, + "properties": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + "tags": {"key": "tags", "type": "{str}"}, + "location": {"key": "location", "type": "str"}, + "properties": {"key": "properties", "type": "SqlManagedInstanceProperties"}, + "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"}, + "sku": {"key": "sku", "type": "SqlManagedInstanceSku"}, + } + + def __init__( + self, + *, + location: str, + properties: "_models.SqlManagedInstanceProperties", + tags: Optional[dict[str, str]] = None, + extended_location: Optional["_models.ExtendedLocation"] = None, + sku: Optional["_models.SqlManagedInstanceSku"] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword location: The geo-location where the resource lives. Required. + :paramtype location: str + :keyword properties: null. Required. + :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties + :keyword extended_location: The extendedLocation of the resource. + :paramtype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation + :keyword sku: Resource sku. + :paramtype sku: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSku + """ + super().__init__(tags=tags, location=location, **kwargs) + self.properties = properties + self.extended_location = extended_location + self.sku = sku + + +class SqlManagedInstanceK8SRaw(_serialization.Model): + """The raw kubernetes information. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar spec: The kubernetes spec information. + :vartype spec: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SSpec + """ + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "spec": {"key": "spec", "type": "SqlManagedInstanceK8SSpec"}, + } + + def __init__( + self, + *, + additional_properties: Optional[dict[str, Any]] = None, + spec: Optional["_models.SqlManagedInstanceK8SSpec"] = None, + **kwargs: Any + ) -> None: + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword spec: The kubernetes spec information. + :paramtype spec: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SSpec + """ + super().__init__(**kwargs) + self.additional_properties = additional_properties + self.spec = spec + + +class SqlManagedInstanceK8SSpec(_serialization.Model): + """The kubernetes spec information. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar scheduling: The kubernetes scheduling information. + :vartype scheduling: ~azure.mgmt.azurearcdata.models.K8SScheduling + :ivar replicas: This option specifies the number of SQL Managed Instance replicas that will be + deployed in your Kubernetes cluster for high availability purposes. If sku.tier is + BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is + GeneralPurpose, replicas must be '1'. + :vartype replicas: int + :ivar security: The kubernetes security information. + :vartype security: ~azure.mgmt.azurearcdata.models.K8SSecurity + :ivar settings: The kubernetes settings information. + :vartype settings: ~azure.mgmt.azurearcdata.models.K8SSettings + """ + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "scheduling": {"key": "scheduling", "type": "K8SScheduling"}, + "replicas": {"key": "replicas", "type": "int"}, + "security": {"key": "security", "type": "K8SSecurity"}, + "settings": {"key": "settings", "type": "K8SSettings"}, + } + + def __init__( + self, + *, + additional_properties: Optional[dict[str, Any]] = None, + scheduling: Optional["_models.K8SScheduling"] = None, + replicas: Optional[int] = None, + security: Optional["_models.K8SSecurity"] = None, + settings: Optional["_models.K8SSettings"] = None, + **kwargs: Any + ) -> None: + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword scheduling: The kubernetes scheduling information. + :paramtype scheduling: ~azure.mgmt.azurearcdata.models.K8SScheduling + :keyword replicas: This option specifies the number of SQL Managed Instance replicas that will + be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is + BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is + GeneralPurpose, replicas must be '1'. + :paramtype replicas: int + :keyword security: The kubernetes security information. + :paramtype security: ~azure.mgmt.azurearcdata.models.K8SSecurity + :keyword settings: The kubernetes settings information. + :paramtype settings: ~azure.mgmt.azurearcdata.models.K8SSettings + """ + super().__init__(**kwargs) + self.additional_properties = additional_properties + self.scheduling = scheduling + self.replicas = replicas + self.security = security + self.settings = settings + + +class SqlManagedInstanceListResult(_serialization.Model): + """A list of SqlManagedInstance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Array of results. + :vartype value: list[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _validation = { + "value": {"readonly": True}, + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[SqlManagedInstance]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.value: Optional[list["_models.SqlManagedInstance"]] = None + self.next_link: Optional[str] = None + + +class SqlManagedInstanceProperties(_serialization.Model): + """Properties of sqlManagedInstance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar data_controller_id: null. + :vartype data_controller_id: str + :ivar admin: The instance admin user. + :vartype admin: str + :ivar start_time: The instance start time. + :vartype start_time: str + :ivar end_time: The instance end time. + :vartype end_time: str + :ivar k8_s_raw: The raw kubernetes information. + :vartype k8_s_raw: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SRaw + :ivar basic_login_information: Username and password for basic authentication. + :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date + time. + :vartype last_uploaded_date: ~datetime.datetime + :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Managed Instance + resource. + :vartype provisioning_state: str + :ivar active_directory_information: Active Directory information related to this SQL Managed + Instance. + :vartype active_directory_information: + ~azure.mgmt.azurearcdata.models.ActiveDirectoryInformation + :ivar license_type: The license type to apply for this managed instance. Known values are: + "BasePrice", "LicenseIncluded", and "DisasterRecovery". + :vartype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType + :ivar cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected + cluster the custom location belongs to. + :vartype cluster_id: str + :ivar extension_id: If a CustomLocation is provided, this contains the ARM id of the extension + the custom location belongs to. + :vartype extension_id: str + """ + + _validation = { + "provisioning_state": {"readonly": True}, + } + + _attribute_map = { + "data_controller_id": {"key": "dataControllerId", "type": "str"}, + "admin": {"key": "admin", "type": "str"}, + "start_time": {"key": "startTime", "type": "str"}, + "end_time": {"key": "endTime", "type": "str"}, + "k8_s_raw": {"key": "k8sRaw", "type": "SqlManagedInstanceK8SRaw"}, + "basic_login_information": {"key": "basicLoginInformation", "type": "BasicLoginInformation"}, + "last_uploaded_date": {"key": "lastUploadedDate", "type": "iso-8601"}, + "provisioning_state": {"key": "provisioningState", "type": "str"}, + "active_directory_information": {"key": "activeDirectoryInformation", "type": "ActiveDirectoryInformation"}, + "license_type": {"key": "licenseType", "type": "str"}, + "cluster_id": {"key": "clusterId", "type": "str"}, + "extension_id": {"key": "extensionId", "type": "str"}, + } + + def __init__( + self, + *, + data_controller_id: Optional[str] = None, + admin: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + k8_s_raw: Optional["_models.SqlManagedInstanceK8SRaw"] = None, + basic_login_information: Optional["_models.BasicLoginInformation"] = None, + last_uploaded_date: Optional[datetime.datetime] = None, + active_directory_information: Optional["_models.ActiveDirectoryInformation"] = None, + license_type: Union[str, "_models.ArcSqlManagedInstanceLicenseType"] = "BasePrice", + cluster_id: Optional[str] = None, + extension_id: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword data_controller_id: null. + :paramtype data_controller_id: str + :keyword admin: The instance admin user. + :paramtype admin: str + :keyword start_time: The instance start time. + :paramtype start_time: str + :keyword end_time: The instance end time. + :paramtype end_time: str + :keyword k8_s_raw: The raw kubernetes information. + :paramtype k8_s_raw: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SRaw + :keyword basic_login_information: Username and password for basic authentication. + :paramtype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :keyword last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current + date time. + :paramtype last_uploaded_date: ~datetime.datetime + :keyword active_directory_information: Active Directory information related to this SQL Managed + Instance. + :paramtype active_directory_information: + ~azure.mgmt.azurearcdata.models.ActiveDirectoryInformation + :keyword license_type: The license type to apply for this managed instance. Known values are: + "BasePrice", "LicenseIncluded", and "DisasterRecovery". + :paramtype license_type: str or + ~azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType + :keyword cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected + cluster the custom location belongs to. + :paramtype cluster_id: str + :keyword extension_id: If a CustomLocation is provided, this contains the ARM id of the + extension the custom location belongs to. + :paramtype extension_id: str + """ + super().__init__(**kwargs) + self.data_controller_id = data_controller_id + self.admin = admin + self.start_time = start_time + self.end_time = end_time + self.k8_s_raw = k8_s_raw + self.basic_login_information = basic_login_information + self.last_uploaded_date = last_uploaded_date + self.provisioning_state: Optional[str] = None + self.active_directory_information = active_directory_information + self.license_type = license_type + self.cluster_id = cluster_id + self.extension_id = extension_id + + +class SqlManagedInstanceSku(_serialization.Model): + """The resource model definition representing SKU for Azure Managed Instance - Azure Arc. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar name: The name of the SKU. Required. Default value is "vCore". + :vartype name: str + :ivar tier: The pricing tier for the instance. Known values are: "GeneralPurpose" and + "BusinessCritical". + :vartype tier: str or ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSkuTier + :ivar dev: Whether dev/test is enabled. When the dev field is set to true, the resource is used + for dev/test purpose. + :vartype dev: bool + :ivar size: The SKU size. When the name field is the combination of tier and some other value, + this would be the standalone code. + :vartype size: str + :ivar family: The SKU family. + :vartype family: str + :ivar capacity: The SKU capacity. + :vartype capacity: int + """ + + _validation = { + "name": {"required": True, "constant": True}, + } + + _attribute_map = { + "name": {"key": "name", "type": "str"}, + "tier": {"key": "tier", "type": "str"}, + "dev": {"key": "dev", "type": "bool"}, + "size": {"key": "size", "type": "str"}, + "family": {"key": "family", "type": "str"}, + "capacity": {"key": "capacity", "type": "int"}, + } + + name = "vCore" + + def __init__( + self, + *, + tier: Union[str, "_models.SqlManagedInstanceSkuTier"] = "GeneralPurpose", + dev: bool = True, + size: Optional[str] = None, + family: Optional[str] = None, + capacity: Optional[int] = None, + **kwargs: Any + ) -> None: + """ + :keyword tier: The pricing tier for the instance. Known values are: "GeneralPurpose" and + "BusinessCritical". + :paramtype tier: str or ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSkuTier + :keyword dev: Whether dev/test is enabled. When the dev field is set to true, the resource is + used for dev/test purpose. + :paramtype dev: bool + :keyword size: The SKU size. When the name field is the combination of tier and some other + value, this would be the standalone code. + :paramtype size: str + :keyword family: The SKU family. + :paramtype family: str + :keyword capacity: The SKU capacity. + :paramtype capacity: int + """ + super().__init__(**kwargs) + self.tier = tier + self.dev = dev + self.size = size + self.family = family + self.capacity = capacity + + +class SqlManagedInstanceUpdate(_serialization.Model): + """An update to a SQL Managed Instance. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + _attribute_map = { + "tags": {"key": "tags", "type": "{str}"}, + } + + def __init__(self, *, tags: Optional[dict[str, str]] = None, **kwargs: Any) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + """ + super().__init__(**kwargs) + self.tags = tags + + +class SqlServerAvailabilityGroupResource(TrackedResource): + """Arc Sql Server Availability Group. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: Properties of Arc Sql Server availability group. Required. + :vartype properties: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "location": {"required": True}, + "properties": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + "tags": {"key": "tags", "type": "{str}"}, + "location": {"key": "location", "type": "str"}, + "properties": {"key": "properties", "type": "SqlServerAvailabilityGroupResourceProperties"}, + } + + def __init__( + self, + *, + location: str, + properties: "_models.SqlServerAvailabilityGroupResourceProperties", + tags: Optional[dict[str, str]] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword location: The geo-location where the resource lives. Required. + :paramtype location: str + :keyword properties: Properties of Arc Sql Server availability group. Required. + :paramtype properties: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties + """ + super().__init__(tags=tags, location=location, **kwargs) + self.properties = properties + + +class SqlServerAvailabilityGroupResourceProperties(_serialization.Model): # pylint: disable=name-too-long + """The properties of Arc Sql Server availability group resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar availability_group_id: ID GUID of the availability group. + :vartype availability_group_id: str + :ivar server_name: the SQL server name. + :vartype server_name: str + :ivar instance_name: the SQL Server Instance name. + :vartype instance_name: str + :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. + :vartype vm_id: str + :ivar collection_timestamp: Timestamp for when the data was collected from the client machine. + :vartype collection_timestamp: ~datetime.datetime + :ivar info: Availability Group Info. + :vartype info: ~azure.mgmt.azurearcdata.models.AvailabilityGroupInfo + :ivar replicas: A list of Availability Group Replicas. + :vartype replicas: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesReplicas + :ivar databases: A list of Availability Group Database Replicas. + :vartype databases: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesDatabases + :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server availability + group resource. + :vartype provisioning_state: str + """ + + _validation = { + "availability_group_id": {"readonly": True, "pattern": r"^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$"}, + "server_name": {"readonly": True}, + "instance_name": {"readonly": True}, + "vm_id": {"readonly": True}, + "collection_timestamp": {"readonly": True}, + "provisioning_state": {"readonly": True}, + } + + _attribute_map = { + "availability_group_id": {"key": "availabilityGroupId", "type": "str"}, + "server_name": {"key": "serverName", "type": "str"}, + "instance_name": {"key": "instanceName", "type": "str"}, + "vm_id": {"key": "vmId", "type": "str"}, + "collection_timestamp": {"key": "collectionTimestamp", "type": "iso-8601"}, + "info": {"key": "info", "type": "AvailabilityGroupInfo"}, + "replicas": {"key": "replicas", "type": "SqlServerAvailabilityGroupResourcePropertiesReplicas"}, + "databases": {"key": "databases", "type": "SqlServerAvailabilityGroupResourcePropertiesDatabases"}, + "provisioning_state": {"key": "provisioningState", "type": "str"}, + } + + def __init__( + self, + *, + info: Optional["_models.AvailabilityGroupInfo"] = None, + replicas: Optional["_models.SqlServerAvailabilityGroupResourcePropertiesReplicas"] = None, + databases: Optional["_models.SqlServerAvailabilityGroupResourcePropertiesDatabases"] = None, + **kwargs: Any + ) -> None: + """ + :keyword info: Availability Group Info. + :paramtype info: ~azure.mgmt.azurearcdata.models.AvailabilityGroupInfo + :keyword replicas: A list of Availability Group Replicas. + :paramtype replicas: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesReplicas + :keyword databases: A list of Availability Group Database Replicas. + :paramtype databases: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesDatabases + """ + super().__init__(**kwargs) + self.availability_group_id: Optional[str] = None + self.server_name: Optional[str] = None + self.instance_name: Optional[str] = None + self.vm_id: Optional[str] = None + self.collection_timestamp: Optional[datetime.datetime] = None + self.info = info + self.replicas = replicas + self.databases = databases + self.provisioning_state: Optional[str] = None + + +class SqlServerAvailabilityGroupResourcePropertiesDatabases(_serialization.Model): # pylint: disable=name-too-long + """A list of Availability Group Database Replicas. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Array of Availability Group Database Replicas. + :vartype value: + list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupDatabaseReplicaResourceProperties] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _validation = { + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[SqlAvailabilityGroupDatabaseReplicaResourceProperties]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__( + self, + *, + value: Optional[list["_models.SqlAvailabilityGroupDatabaseReplicaResourceProperties"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword value: Array of Availability Group Database Replicas. + :paramtype value: + list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupDatabaseReplicaResourceProperties] + """ + super().__init__(**kwargs) + self.value = value + self.next_link: Optional[str] = None + + +class SqlServerAvailabilityGroupResourcePropertiesReplicas(_serialization.Model): # pylint: disable=name-too-long + """A list of Availability Group Replicas. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Array of Availability Group Replicas. + :vartype value: + list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupReplicaResourceProperties] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _validation = { + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[SqlAvailabilityGroupReplicaResourceProperties]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__( + self, *, value: Optional[list["_models.SqlAvailabilityGroupReplicaResourceProperties"]] = None, **kwargs: Any + ) -> None: + """ + :keyword value: Array of Availability Group Replicas. + :paramtype value: + list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupReplicaResourceProperties] + """ + super().__init__(**kwargs) + self.value = value + self.next_link: Optional[str] = None + + +class SqlServerAvailabilityGroupUpdate(_serialization.Model): + """An update to availability group resource. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: The Server Availability Group's properties. + :vartype properties: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties + """ + + _attribute_map = { + "tags": {"key": "tags", "type": "{str}"}, + "properties": {"key": "properties", "type": "SqlServerAvailabilityGroupResourceProperties"}, + } + + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerAvailabilityGroupResourceProperties"] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword properties: The Server Availability Group's properties. + :paramtype properties: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties + """ + super().__init__(**kwargs) + self.tags = tags + self.properties = properties + + +class SqlServerDatabaseResource(TrackedResource): + """Arc Sql Server database. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: Properties of Arc Sql Server database. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "location": {"required": True}, + "properties": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + "tags": {"key": "tags", "type": "{str}"}, + "location": {"key": "location", "type": "str"}, + "properties": {"key": "properties", "type": "SqlServerDatabaseResourceProperties"}, + } + + def __init__( + self, + *, + location: str, + properties: "_models.SqlServerDatabaseResourceProperties", + tags: Optional[dict[str, str]] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword location: The geo-location where the resource lives. Required. + :paramtype location: str + :keyword properties: Properties of Arc Sql Server database. Required. + :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties + """ + super().__init__(tags=tags, location=location, **kwargs) + self.properties = properties + + +class SqlServerDatabaseResourceProperties(_serialization.Model): + """The properties of Arc Sql Server database resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar collation_name: Collation of the database. + :vartype collation_name: str + :ivar database_creation_date: Creation date of the database. + :vartype database_creation_date: ~datetime.datetime + :ivar compatibility_level: Compatibility level of the database. + :vartype compatibility_level: int + :ivar size_mb: Size of the database. + :vartype size_mb: float + :ivar log_file_size_mb: Total size in MB for the log (ldf) files for this database. + :vartype log_file_size_mb: float + :ivar data_file_size_mb: Total size in MB for the data (mdf and ndf) files for this database. + :vartype data_file_size_mb: float + :ivar space_available_mb: Space left of the database. + :vartype space_available_mb: float + :ivar state: State of the database. Known values are: "Online", "Restoring", "Recovering", + "RecoveryPending", "Suspect", "Emergency", "Offline", "Copying", and "OfflineSecondary". + :vartype state: str or ~azure.mgmt.azurearcdata.models.DatabaseState + :ivar is_read_only: Whether the database is read only or not. + :vartype is_read_only: bool + :ivar recovery_mode: Status of the database. Known values are: "Full", "Bulk-logged", and + "Simple". + :vartype recovery_mode: str or ~azure.mgmt.azurearcdata.models.RecoveryMode + :ivar database_options: List of features that are enabled for the database. + :vartype database_options: + ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesDatabaseOptions + :ivar backup_information: + :vartype backup_information: + ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesBackupInformation + :ivar backup_policy: The backup profile for the SQL server. + :vartype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy + :ivar earliest_restore_date: This records the earliest start date and time that restore is + available for this database (ISO8601 format). + :vartype earliest_restore_date: ~datetime.datetime + :ivar create_mode: Database create mode. PointInTimeRestore: Create a database by restoring a + point in time backup of an existing database. sourceDatabaseId and restorePointInTime must be + specified. Known values are: "Default" and "PointInTimeRestore". + :vartype create_mode: str or ~azure.mgmt.azurearcdata.models.DatabaseCreateMode + :ivar source_database_id: The name of the source database associated with create operation of + this database. + :vartype source_database_id: str + :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. + :vartype vm_id: str + :ivar restore_point_in_time: Conditional. If createMode is PointInTimeRestore, this value is + required. Specifies the point in time (ISO8601 format) of the source database that will be + restored to create the new database. + :vartype restore_point_in_time: ~datetime.datetime + :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server database + resource. + :vartype provisioning_state: str + :ivar last_database_upload_time: The time when last successful database upload was performed. + :vartype last_database_upload_time: ~datetime.datetime + :ivar migration: Migration related configuration. + :vartype migration: ~azure.mgmt.azurearcdata.models.DataBaseMigration + """ + + _validation = { + "compatibility_level": {"maximum": 200, "minimum": 80}, + "earliest_restore_date": {"readonly": True}, + "vm_id": {"readonly": True}, + "provisioning_state": {"readonly": True}, + "last_database_upload_time": {"readonly": True}, + } + + _attribute_map = { + "collation_name": {"key": "collationName", "type": "str"}, + "database_creation_date": {"key": "databaseCreationDate", "type": "iso-8601"}, + "compatibility_level": {"key": "compatibilityLevel", "type": "int"}, + "size_mb": {"key": "sizeMB", "type": "float"}, + "log_file_size_mb": {"key": "logFileSizeMB", "type": "float"}, + "data_file_size_mb": {"key": "dataFileSizeMB", "type": "float"}, + "space_available_mb": {"key": "spaceAvailableMB", "type": "float"}, + "state": {"key": "state", "type": "str"}, + "is_read_only": {"key": "isReadOnly", "type": "bool"}, + "recovery_mode": {"key": "recoveryMode", "type": "str"}, + "database_options": {"key": "databaseOptions", "type": "SqlServerDatabaseResourcePropertiesDatabaseOptions"}, + "backup_information": { + "key": "backupInformation", + "type": "SqlServerDatabaseResourcePropertiesBackupInformation", + }, + "backup_policy": {"key": "backupPolicy", "type": "BackupPolicy"}, + "earliest_restore_date": {"key": "earliestRestoreDate", "type": "iso-8601"}, + "create_mode": {"key": "createMode", "type": "str"}, + "source_database_id": {"key": "sourceDatabaseId", "type": "str"}, + "vm_id": {"key": "vmId", "type": "str"}, + "restore_point_in_time": {"key": "restorePointInTime", "type": "iso-8601"}, + "provisioning_state": {"key": "provisioningState", "type": "str"}, + "last_database_upload_time": {"key": "lastDatabaseUploadTime", "type": "iso-8601"}, + "migration": {"key": "migration", "type": "DataBaseMigration"}, + } + + def __init__( + self, + *, + collation_name: Optional[str] = None, + database_creation_date: Optional[datetime.datetime] = None, + compatibility_level: Optional[int] = None, + size_mb: Optional[float] = None, + log_file_size_mb: Optional[float] = None, + data_file_size_mb: Optional[float] = None, + space_available_mb: Optional[float] = None, + state: Optional[Union[str, "_models.DatabaseState"]] = None, + is_read_only: Optional[bool] = None, + recovery_mode: Optional[Union[str, "_models.RecoveryMode"]] = None, + database_options: Optional["_models.SqlServerDatabaseResourcePropertiesDatabaseOptions"] = None, + backup_information: Optional["_models.SqlServerDatabaseResourcePropertiesBackupInformation"] = None, + backup_policy: Optional["_models.BackupPolicy"] = None, + create_mode: Optional[Union[str, "_models.DatabaseCreateMode"]] = None, + source_database_id: Optional[str] = None, + restore_point_in_time: Optional[datetime.datetime] = None, + migration: Optional["_models.DataBaseMigration"] = None, + **kwargs: Any + ) -> None: + """ + :keyword collation_name: Collation of the database. + :paramtype collation_name: str + :keyword database_creation_date: Creation date of the database. + :paramtype database_creation_date: ~datetime.datetime + :keyword compatibility_level: Compatibility level of the database. + :paramtype compatibility_level: int + :keyword size_mb: Size of the database. + :paramtype size_mb: float + :keyword log_file_size_mb: Total size in MB for the log (ldf) files for this database. + :paramtype log_file_size_mb: float + :keyword data_file_size_mb: Total size in MB for the data (mdf and ndf) files for this + database. + :paramtype data_file_size_mb: float + :keyword space_available_mb: Space left of the database. + :paramtype space_available_mb: float + :keyword state: State of the database. Known values are: "Online", "Restoring", "Recovering", + "RecoveryPending", "Suspect", "Emergency", "Offline", "Copying", and "OfflineSecondary". + :paramtype state: str or ~azure.mgmt.azurearcdata.models.DatabaseState + :keyword is_read_only: Whether the database is read only or not. + :paramtype is_read_only: bool + :keyword recovery_mode: Status of the database. Known values are: "Full", "Bulk-logged", and + "Simple". + :paramtype recovery_mode: str or ~azure.mgmt.azurearcdata.models.RecoveryMode + :keyword database_options: List of features that are enabled for the database. + :paramtype database_options: + ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesDatabaseOptions + :keyword backup_information: + :paramtype backup_information: + ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesBackupInformation + :keyword backup_policy: The backup profile for the SQL server. + :paramtype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy + :keyword create_mode: Database create mode. PointInTimeRestore: Create a database by restoring + a point in time backup of an existing database. sourceDatabaseId and restorePointInTime must be + specified. Known values are: "Default" and "PointInTimeRestore". + :paramtype create_mode: str or ~azure.mgmt.azurearcdata.models.DatabaseCreateMode + :keyword source_database_id: The name of the source database associated with create operation + of this database. + :paramtype source_database_id: str + :keyword restore_point_in_time: Conditional. If createMode is PointInTimeRestore, this value is + required. Specifies the point in time (ISO8601 format) of the source database that will be + restored to create the new database. + :paramtype restore_point_in_time: ~datetime.datetime + :keyword migration: Migration related configuration. + :paramtype migration: ~azure.mgmt.azurearcdata.models.DataBaseMigration + """ + super().__init__(**kwargs) + self.collation_name = collation_name + self.database_creation_date = database_creation_date + self.compatibility_level = compatibility_level + self.size_mb = size_mb + self.log_file_size_mb = log_file_size_mb + self.data_file_size_mb = data_file_size_mb + self.space_available_mb = space_available_mb + self.state = state + self.is_read_only = is_read_only + self.recovery_mode = recovery_mode + self.database_options = database_options + self.backup_information = backup_information + self.backup_policy = backup_policy + self.earliest_restore_date: Optional[datetime.datetime] = None + self.create_mode = create_mode + self.source_database_id = source_database_id + self.vm_id: Optional[str] = None + self.restore_point_in_time = restore_point_in_time + self.provisioning_state: Optional[str] = None + self.last_database_upload_time: Optional[datetime.datetime] = None + self.migration = migration + + +class SqlServerDatabaseResourcePropertiesBackupInformation(_serialization.Model): # pylint: disable=name-too-long + """SqlServerDatabaseResourcePropertiesBackupInformation. + + :ivar last_full_backup: Date time of last full backup. + :vartype last_full_backup: ~datetime.datetime + :ivar last_log_backup: Date time of last log backup. + :vartype last_log_backup: ~datetime.datetime + """ + + _attribute_map = { + "last_full_backup": {"key": "lastFullBackup", "type": "iso-8601"}, + "last_log_backup": {"key": "lastLogBackup", "type": "iso-8601"}, + } + + def __init__( + self, + *, + last_full_backup: Optional[datetime.datetime] = None, + last_log_backup: Optional[datetime.datetime] = None, + **kwargs: Any + ) -> None: + """ + :keyword last_full_backup: Date time of last full backup. + :paramtype last_full_backup: ~datetime.datetime + :keyword last_log_backup: Date time of last log backup. + :paramtype last_log_backup: ~datetime.datetime + """ + super().__init__(**kwargs) + self.last_full_backup = last_full_backup + self.last_log_backup = last_log_backup + + +class SqlServerDatabaseResourcePropertiesDatabaseOptions(_serialization.Model): # pylint: disable=name-too-long + """List of features that are enabled for the database. + + :ivar is_auto_close_on: + :vartype is_auto_close_on: bool + :ivar is_auto_shrink_on: + :vartype is_auto_shrink_on: bool + :ivar is_auto_create_stats_on: + :vartype is_auto_create_stats_on: bool + :ivar is_auto_update_stats_on: + :vartype is_auto_update_stats_on: bool + :ivar is_remote_data_archive_enabled: + :vartype is_remote_data_archive_enabled: bool + :ivar is_memory_optimization_enabled: + :vartype is_memory_optimization_enabled: bool + :ivar is_encrypted: + :vartype is_encrypted: bool + :ivar is_trustworthy_on: + :vartype is_trustworthy_on: bool + :ivar is_hekaton_files_on: Whether the database uses the In-Memory OLTP feature for storing + in-memory objects. + :vartype is_hekaton_files_on: bool + :ivar number_of_hekaton_files: How many Hekaton files the DB has on disk, if it uses in-memory + OLTP objects. + :vartype number_of_hekaton_files: int + """ + + _attribute_map = { + "is_auto_close_on": {"key": "isAutoCloseOn", "type": "bool"}, + "is_auto_shrink_on": {"key": "isAutoShrinkOn", "type": "bool"}, + "is_auto_create_stats_on": {"key": "isAutoCreateStatsOn", "type": "bool"}, + "is_auto_update_stats_on": {"key": "isAutoUpdateStatsOn", "type": "bool"}, + "is_remote_data_archive_enabled": {"key": "isRemoteDataArchiveEnabled", "type": "bool"}, + "is_memory_optimization_enabled": {"key": "isMemoryOptimizationEnabled", "type": "bool"}, + "is_encrypted": {"key": "isEncrypted", "type": "bool"}, + "is_trustworthy_on": {"key": "isTrustworthyOn", "type": "bool"}, + "is_hekaton_files_on": {"key": "isHekatonFilesOn", "type": "bool"}, + "number_of_hekaton_files": {"key": "numberOfHekatonFiles", "type": "int"}, + } + + def __init__( + self, + *, + is_auto_close_on: Optional[bool] = None, + is_auto_shrink_on: Optional[bool] = None, + is_auto_create_stats_on: Optional[bool] = None, + is_auto_update_stats_on: Optional[bool] = None, + is_remote_data_archive_enabled: Optional[bool] = None, + is_memory_optimization_enabled: Optional[bool] = None, + is_encrypted: Optional[bool] = None, + is_trustworthy_on: Optional[bool] = None, + is_hekaton_files_on: Optional[bool] = None, + number_of_hekaton_files: Optional[int] = None, + **kwargs: Any + ) -> None: + """ + :keyword is_auto_close_on: + :paramtype is_auto_close_on: bool + :keyword is_auto_shrink_on: + :paramtype is_auto_shrink_on: bool + :keyword is_auto_create_stats_on: + :paramtype is_auto_create_stats_on: bool + :keyword is_auto_update_stats_on: + :paramtype is_auto_update_stats_on: bool + :keyword is_remote_data_archive_enabled: + :paramtype is_remote_data_archive_enabled: bool + :keyword is_memory_optimization_enabled: + :paramtype is_memory_optimization_enabled: bool + :keyword is_encrypted: + :paramtype is_encrypted: bool + :keyword is_trustworthy_on: + :paramtype is_trustworthy_on: bool + :keyword is_hekaton_files_on: Whether the database uses the In-Memory OLTP feature for storing + in-memory objects. + :paramtype is_hekaton_files_on: bool + :keyword number_of_hekaton_files: How many Hekaton files the DB has on disk, if it uses + in-memory OLTP objects. + :paramtype number_of_hekaton_files: int + """ + super().__init__(**kwargs) + self.is_auto_close_on = is_auto_close_on + self.is_auto_shrink_on = is_auto_shrink_on + self.is_auto_create_stats_on = is_auto_create_stats_on + self.is_auto_update_stats_on = is_auto_update_stats_on + self.is_remote_data_archive_enabled = is_remote_data_archive_enabled + self.is_memory_optimization_enabled = is_memory_optimization_enabled + self.is_encrypted = is_encrypted + self.is_trustworthy_on = is_trustworthy_on + self.is_hekaton_files_on = is_hekaton_files_on + self.number_of_hekaton_files = number_of_hekaton_files + + +class SqlServerDatabaseUpdate(_serialization.Model): + """An update to database resource. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: The data controller's properties. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties + """ + + _attribute_map = { + "tags": {"key": "tags", "type": "{str}"}, + "properties": {"key": "properties", "type": "SqlServerDatabaseResourceProperties"}, + } + + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerDatabaseResourceProperties"] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword properties: The data controller's properties. + :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties + """ + super().__init__(**kwargs) + self.tags = tags + self.properties = properties + + +class TrackedResourceAutoGenerated(ResourceAutoGenerated): + """The resource model definition for an Azure Resource Manager tracked top level resource which + has 'tags' and a 'location'. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "location": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + "tags": {"key": "tags", "type": "{str}"}, + "location": {"key": "location", "type": "str"}, + } + + def __init__(self, *, location: str, tags: Optional[dict[str, str]] = None, **kwargs: Any) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword location: The geo-location where the resource lives. Required. + :paramtype location: str + """ + super().__init__(**kwargs) + self.tags = tags + self.location = location + + +class SqlServerEsuLicense(TrackedResourceAutoGenerated): + """Describe SQL Server ESU license resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: SQL Server ESU license properties. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseProperties + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "location": {"required": True}, + "properties": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + "tags": {"key": "tags", "type": "{str}"}, + "location": {"key": "location", "type": "str"}, + "properties": {"key": "properties", "type": "SqlServerEsuLicenseProperties"}, + } + + def __init__( + self, + *, + location: str, + properties: "_models.SqlServerEsuLicenseProperties", + tags: Optional[dict[str, str]] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword location: The geo-location where the resource lives. Required. + :paramtype location: str + :keyword properties: SQL Server ESU license properties. Required. + :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseProperties + """ + super().__init__(tags=tags, location=location, **kwargs) + self.properties = properties + + +class SqlServerEsuLicenseListResult(_serialization.Model): + """A list of SQL Server ESU licenses. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Array of results. + :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _validation = { + "value": {"readonly": True}, + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[SqlServerEsuLicense]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.value: Optional[list["_models.SqlServerEsuLicense"]] = None + self.next_link: Optional[str] = None + + +class SqlServerEsuLicenseProperties(_serialization.Model): + """Properties of SQL Server ESU license. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar billing_plan: SQL Server ESU license type. Required. Known values are: "PAYG" and "Paid". + :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :ivar version: The SQL Server version the license covers. Required. Known values are: "SQL + Server 2012", "SQL Server 2014", and "SQL Server 2016". + :vartype version: str or ~azure.mgmt.azurearcdata.models.Version + :ivar unique_id: The unique ID of this license. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + :vartype unique_id: str + :ivar physical_cores: The number of total cores of the license covers. Required. + :vartype physical_cores: int + :ivar activation_state: The activation state of the license. Required. Known values are: + "Inactive", "Active", "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", + and "Suspended". + :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.State + :ivar scope_type: The Azure scope to which the license will apply. Required. Known values are: + "Tenant", "Subscription", and "ResourceGroup". + :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + :ivar activated_at: The timestamp of the activation of the SqlServerEsuLicense in ISO 8601 + date-time format. + :vartype activated_at: ~datetime.datetime + :ivar terminated_at: The timestamp of the termination of the SqlServerEsuLicense in ISO 8601 + date-time format. + :vartype terminated_at: ~datetime.datetime + :ivar tenant_id: The tenantId the SQL Server ESU license resource subscription resides in. + :vartype tenant_id: str + """ + + _validation = { + "billing_plan": {"required": True}, + "version": {"required": True}, + "unique_id": {"readonly": True, "pattern": r"^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$"}, + "physical_cores": {"required": True, "minimum": 16, "multiple": 2}, + "activation_state": {"required": True}, + "scope_type": {"required": True}, + "activated_at": {"readonly": True}, + "terminated_at": {"readonly": True}, + "tenant_id": {"readonly": True}, + } + + _attribute_map = { + "billing_plan": {"key": "billingPlan", "type": "str"}, + "version": {"key": "version", "type": "str"}, + "unique_id": {"key": "uniqueId", "type": "str"}, + "physical_cores": {"key": "physicalCores", "type": "int"}, + "activation_state": {"key": "activationState", "type": "str"}, + "scope_type": {"key": "scopeType", "type": "str"}, + "activated_at": {"key": "activatedAt", "type": "iso-8601"}, + "terminated_at": {"key": "terminatedAt", "type": "iso-8601"}, + "tenant_id": {"key": "tenantId", "type": "str"}, + } + + def __init__( + self, + *, + billing_plan: Union[str, "_models.BillingPlan"], + version: Union[str, "_models.Version"], + physical_cores: int, + activation_state: Union[str, "_models.State"], + scope_type: Union[str, "_models.ScopeType"], + **kwargs: Any + ) -> None: + """ + :keyword billing_plan: SQL Server ESU license type. Required. Known values are: "PAYG" and + "Paid". + :paramtype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :keyword version: The SQL Server version the license covers. Required. Known values are: "SQL + Server 2012", "SQL Server 2014", and "SQL Server 2016". + :paramtype version: str or ~azure.mgmt.azurearcdata.models.Version + :keyword physical_cores: The number of total cores of the license covers. Required. + :paramtype physical_cores: int + :keyword activation_state: The activation state of the license. Required. Known values are: + "Inactive", "Active", "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", + and "Suspended". + :paramtype activation_state: str or ~azure.mgmt.azurearcdata.models.State + :keyword scope_type: The Azure scope to which the license will apply. Required. Known values + are: "Tenant", "Subscription", and "ResourceGroup". + :paramtype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + """ + super().__init__(**kwargs) + self.billing_plan = billing_plan + self.version = version + self.unique_id: Optional[str] = None + self.physical_cores = physical_cores + self.activation_state = activation_state + self.scope_type = scope_type + self.activated_at: Optional[datetime.datetime] = None + self.terminated_at: Optional[datetime.datetime] = None + self.tenant_id: Optional[str] = None + + +class SqlServerEsuLicenseUpdate(_serialization.Model): + """An update to a SQL Server ESU license resource. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: null. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdateProperties + """ + + _attribute_map = { + "tags": {"key": "tags", "type": "{str}"}, + "properties": {"key": "properties", "type": "SqlServerEsuLicenseUpdateProperties"}, + } + + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerEsuLicenseUpdateProperties"] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword properties: null. + :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdateProperties + """ + super().__init__(**kwargs) + self.tags = tags + self.properties = properties + + +class SqlServerEsuLicenseUpdateProperties(_serialization.Model): + """Properties of update SqlServerEsuLicense. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar billing_plan: SQL Server ESU license type. Known values are: "PAYG" and "Paid". + :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :ivar version: The SQL Server version the license covers. Known values are: "SQL Server 2012", + "SQL Server 2014", and "SQL Server 2016". + :vartype version: str or ~azure.mgmt.azurearcdata.models.Version + :ivar unique_id: The unique ID of this license. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + :vartype unique_id: str + :ivar physical_cores: The number of total cores of the license covers. + :vartype physical_cores: int + :ivar activation_state: The activation state of the license. Known values are: "Inactive", + "Active", "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", and + "Suspended". + :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.State + :ivar scope_type: The Azure scope to which the license will apply. Known values are: "Tenant", + "Subscription", and "ResourceGroup". + :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + :ivar activated_at: The timestamp of the activation of the SqlServerEsuLicense in ISO 8601 + date-time format. + :vartype activated_at: ~datetime.datetime + :ivar terminated_at: The timestamp of the termination of the SqlServerEsuLicense in ISO 8601 + date-time format. + :vartype terminated_at: ~datetime.datetime + :ivar tenant_id: The tenantId the SQL Server ESU license resource subscription resides in. + :vartype tenant_id: str + """ + + _validation = { + "unique_id": {"readonly": True, "pattern": r"^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$"}, + "physical_cores": {"minimum": 16, "multiple": 2}, + "activated_at": {"readonly": True}, + "terminated_at": {"readonly": True}, + "tenant_id": {"readonly": True}, + } + + _attribute_map = { + "billing_plan": {"key": "billingPlan", "type": "str"}, + "version": {"key": "version", "type": "str"}, + "unique_id": {"key": "uniqueId", "type": "str"}, + "physical_cores": {"key": "physicalCores", "type": "int"}, + "activation_state": {"key": "activationState", "type": "str"}, + "scope_type": {"key": "scopeType", "type": "str"}, + "activated_at": {"key": "activatedAt", "type": "iso-8601"}, + "terminated_at": {"key": "terminatedAt", "type": "iso-8601"}, + "tenant_id": {"key": "tenantId", "type": "str"}, + } + + def __init__( + self, + *, + billing_plan: Optional[Union[str, "_models.BillingPlan"]] = None, + version: Optional[Union[str, "_models.Version"]] = None, + physical_cores: Optional[int] = None, + activation_state: Optional[Union[str, "_models.State"]] = None, + scope_type: Optional[Union[str, "_models.ScopeType"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword billing_plan: SQL Server ESU license type. Known values are: "PAYG" and "Paid". + :paramtype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :keyword version: The SQL Server version the license covers. Known values are: "SQL Server + 2012", "SQL Server 2014", and "SQL Server 2016". + :paramtype version: str or ~azure.mgmt.azurearcdata.models.Version + :keyword physical_cores: The number of total cores of the license covers. + :paramtype physical_cores: int + :keyword activation_state: The activation state of the license. Known values are: "Inactive", + "Active", "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", and + "Suspended". + :paramtype activation_state: str or ~azure.mgmt.azurearcdata.models.State + :keyword scope_type: The Azure scope to which the license will apply. Known values are: + "Tenant", "Subscription", and "ResourceGroup". + :paramtype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + """ + super().__init__(**kwargs) + self.billing_plan = billing_plan + self.version = version + self.unique_id: Optional[str] = None + self.physical_cores = physical_cores + self.activation_state = activation_state + self.scope_type = scope_type + self.activated_at: Optional[datetime.datetime] = None + self.terminated_at: Optional[datetime.datetime] = None + self.tenant_id: Optional[str] = None + + +class SqlServerInstance(TrackedResource): + """A SqlServerInstance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: null. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceProperties + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "location": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + "tags": {"key": "tags", "type": "{str}"}, + "location": {"key": "location", "type": "str"}, + "properties": {"key": "properties", "type": "SqlServerInstanceProperties"}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerInstanceProperties"] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword location: The geo-location where the resource lives. Required. + :paramtype location: str + :keyword properties: null. + :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceProperties + """ + super().__init__(tags=tags, location=location, **kwargs) + self.properties = properties + + +class SqlServerInstanceBpaColumn(_serialization.Model): + """The SQL best practices assessment result column. + + :ivar name: The name of the result column. + :vartype name: str + :ivar type: The type of the result column. Known values are: "bool", "datetime", "int", "long", + "double", "string", "guid", and "timespan". + :vartype type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumnType + """ + + _attribute_map = { + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[Union[str, "_models.SqlServerInstanceBpaColumnType"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword name: The name of the result column. + :paramtype name: str + :keyword type: The type of the result column. Known values are: "bool", "datetime", "int", + "long", "double", "string", "guid", and "timespan". + :paramtype type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumnType + """ + super().__init__(**kwargs) + self.name = name + self.type = type + + +class SqlServerInstanceBpaRequest(_serialization.Model): + """The request for retrieving SQL best practices assessment results. + + :ivar report_type: The report type that needs to be fetched. If not specified, the default is + AssessmentSummary. Known values are: "AssessmentDataPoint" and "AssessmentSummary". + :vartype report_type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaReportType + :ivar report_id: The GUID of the report to return best practices assessment results for. If not + specified, summaries for all reports will be returned. + :vartype report_id: str + :ivar skip_token: The opaque token to use to skip to a specific page of the report. If not + specified, the first page will be returned. + :vartype skip_token: str + :ivar query_type: The type of query to run for summarizing the best practices assessment + results. If not specified, the default is 'Basic'. Known values are: "Basic" and + "HistoricalTrends". + :vartype query_type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaQueryType + """ + + _attribute_map = { + "report_type": {"key": "reportType", "type": "str"}, + "report_id": {"key": "reportId", "type": "str"}, + "skip_token": {"key": "skipToken", "type": "str"}, + "query_type": {"key": "queryType", "type": "str"}, + } + + def __init__( + self, + *, + report_type: Optional[Union[str, "_models.SqlServerInstanceBpaReportType"]] = None, + report_id: Optional[str] = None, + skip_token: Optional[str] = None, + query_type: Optional[Union[str, "_models.SqlServerInstanceBpaQueryType"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword report_type: The report type that needs to be fetched. If not specified, the default + is AssessmentSummary. Known values are: "AssessmentDataPoint" and "AssessmentSummary". + :paramtype report_type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaReportType + :keyword report_id: The GUID of the report to return best practices assessment results for. If + not specified, summaries for all reports will be returned. + :paramtype report_id: str + :keyword skip_token: The opaque token to use to skip to a specific page of the report. If not + specified, the first page will be returned. + :paramtype skip_token: str + :keyword query_type: The type of query to run for summarizing the best practices assessment + results. If not specified, the default is 'Basic'. Known values are: "Basic" and + "HistoricalTrends". + :paramtype query_type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaQueryType + """ + super().__init__(**kwargs) + self.report_type = report_type + self.report_id = report_id + self.skip_token = skip_token + self.query_type = query_type + + +class SqlServerInstanceBpaResponse(_serialization.Model): + """A section of the SQL best practices assessment response. + + All required parameters must be populated in order to send to server. + + :ivar columns: The SQL best practices assessment response columns. Required. + :vartype columns: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumn] + :ivar rows: An array of results of the SQL best practices assessment response. Required. + :vartype rows: list[list[str]] + :ivar next_link: The link to the next page of the best practices assessment response for the + SQL Server instance. Null, if no more pages are available. + :vartype next_link: str + """ + + _validation = { + "columns": {"required": True}, + "rows": {"required": True}, + } + + _attribute_map = { + "columns": {"key": "columns", "type": "[SqlServerInstanceBpaColumn]"}, + "rows": {"key": "rows", "type": "[[str]]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__( + self, + *, + columns: list["_models.SqlServerInstanceBpaColumn"], + rows: list[list[str]], + next_link: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword columns: The SQL best practices assessment response columns. Required. + :paramtype columns: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumn] + :keyword rows: An array of results of the SQL best practices assessment response. Required. + :paramtype rows: list[list[str]] + :keyword next_link: The link to the next page of the best practices assessment response for the + SQL Server instance. Null, if no more pages are available. + :paramtype next_link: str + """ + super().__init__(**kwargs) + self.columns = columns + self.rows = rows + self.next_link = next_link + + +class SqlServerInstanceJob(_serialization.Model): + """The job running on the SQL Server instance. + + :ivar id: The unique identifier of the job. + :vartype id: str + :ivar instance_name: The name of the SQL Server instance. + :vartype instance_name: str + :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar job_exception: The exception message if the job failed. + :vartype job_exception: str + :ivar background_job: The background job details. + :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :ivar sequencer_actions: The list of sequencer actions. + :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "instance_name": {"key": "instanceName", "type": "str"}, + "job_status": {"key": "jobStatus", "type": "str"}, + "job_exception": {"key": "jobException", "type": "str"}, + "background_job": {"key": "backgroundJob", "type": "BackgroundJob"}, + "sequencer_actions": {"key": "sequencerActions", "type": "[SequencerAction]"}, + } + + def __init__( + self, + *, + id: Optional[str] = None, # pylint: disable=redefined-builtin + instance_name: Optional[str] = None, + job_status: Optional[Union[str, "_models.JobStatus"]] = None, + job_exception: Optional[str] = None, + background_job: Optional["_models.BackgroundJob"] = None, + sequencer_actions: Optional[list["_models.SequencerAction"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword id: The unique identifier of the job. + :paramtype id: str + :keyword instance_name: The name of the SQL Server instance. + :paramtype instance_name: str + :keyword job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :paramtype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :keyword job_exception: The exception message if the job failed. + :paramtype job_exception: str + :keyword background_job: The background job details. + :paramtype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :keyword sequencer_actions: The list of sequencer actions. + :paramtype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + super().__init__(**kwargs) + self.id = id + self.instance_name = instance_name + self.job_status = job_status + self.job_exception = job_exception + self.background_job = background_job + self.sequencer_actions = sequencer_actions + + +class SqlServerInstanceJobsRequest(_serialization.Model): + """The request for the jobs running on the SQL Server instance. + + :ivar feature_name: The name of the feature to retrieve the jobs for. + :vartype feature_name: str + :ivar job_type: The type of the job to retrieve the jobs for. + :vartype job_type: str + """ + + _attribute_map = { + "feature_name": {"key": "featureName", "type": "str"}, + "job_type": {"key": "jobType", "type": "str"}, + } + + def __init__(self, *, feature_name: Optional[str] = None, job_type: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword feature_name: The name of the feature to retrieve the jobs for. + :paramtype feature_name: str + :keyword job_type: The type of the job to retrieve the jobs for. + :paramtype job_type: str + """ + super().__init__(**kwargs) + self.feature_name = feature_name + self.job_type = job_type + + +class SqlServerInstanceJobsResponse(_serialization.Model): + """The response for the jobs running on the SQL Server instance. + + :ivar jobs: The list of jobs running on the SQL Server instance. + :vartype jobs: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceJob] + """ + + _attribute_map = { + "jobs": {"key": "jobs", "type": "[SqlServerInstanceJob]"}, + } + + def __init__(self, *, jobs: Optional[list["_models.SqlServerInstanceJob"]] = None, **kwargs: Any) -> None: + """ + :keyword jobs: The list of jobs running on the SQL Server instance. + :paramtype jobs: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceJob] + """ + super().__init__(**kwargs) + self.jobs = jobs + + +class SqlServerInstanceJobsStatusRequest(_serialization.Model): + """The request for the status of the jobs running on the SQL Server instance. + + :ivar feature_name: The name of the feature to retrieve the job status for. + :vartype feature_name: str + :ivar job_type: The type of the job to retrieve the status for. + :vartype job_type: str + """ + + _attribute_map = { + "feature_name": {"key": "featureName", "type": "str"}, + "job_type": {"key": "jobType", "type": "str"}, + } + + def __init__(self, *, feature_name: Optional[str] = None, job_type: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword feature_name: The name of the feature to retrieve the job status for. + :paramtype feature_name: str + :keyword job_type: The type of the job to retrieve the status for. + :paramtype job_type: str + """ + super().__init__(**kwargs) + self.feature_name = feature_name + self.job_type = job_type + + +class SqlServerInstanceJobsStatusResponse(_serialization.Model): + """The response for the status of the jobs running on the SQL Server instance. + + :ivar jobs_status: The list of jobs status running on the SQL Server instance. + :vartype jobs_status: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobStatus] + """ + + _attribute_map = { + "jobs_status": {"key": "jobsStatus", "type": "[SqlServerInstanceJobStatus]"}, + } + + def __init__( + self, *, jobs_status: Optional[list["_models.SqlServerInstanceJobStatus"]] = None, **kwargs: Any + ) -> None: + """ + :keyword jobs_status: The list of jobs status running on the SQL Server instance. + :paramtype jobs_status: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobStatus] + """ + super().__init__(**kwargs) + self.jobs_status = jobs_status + + +class SqlServerInstanceJobStatus(_serialization.Model): + """The status of the job running on the SQL Server instance. + + :ivar id: The unique identifier of the job. + :vartype id: str + :ivar instance_name: The name of the SQL Server instance. + :vartype instance_name: str + :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar job_exception: The exception message if the job failed. + :vartype job_exception: str + :ivar background_job: The background job details. + :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :ivar sequencer_actions: The list of sequencer actions. + :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "instance_name": {"key": "instanceName", "type": "str"}, + "job_status": {"key": "jobStatus", "type": "str"}, + "job_exception": {"key": "jobException", "type": "str"}, + "background_job": {"key": "backgroundJob", "type": "BackgroundJob"}, + "sequencer_actions": {"key": "sequencerActions", "type": "[SequencerAction]"}, + } + + def __init__( + self, + *, + id: Optional[str] = None, # pylint: disable=redefined-builtin + instance_name: Optional[str] = None, + job_status: Optional[Union[str, "_models.JobStatus"]] = None, + job_exception: Optional[str] = None, + background_job: Optional["_models.BackgroundJob"] = None, + sequencer_actions: Optional[list["_models.SequencerAction"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword id: The unique identifier of the job. + :paramtype id: str + :keyword instance_name: The name of the SQL Server instance. + :paramtype instance_name: str + :keyword job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :paramtype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :keyword job_exception: The exception message if the job failed. + :paramtype job_exception: str + :keyword background_job: The background job details. + :paramtype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :keyword sequencer_actions: The list of sequencer actions. + :paramtype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + super().__init__(**kwargs) + self.id = id + self.instance_name = instance_name + self.job_status = job_status + self.job_exception = job_exception + self.background_job = background_job + self.sequencer_actions = sequencer_actions + + +class SqlServerInstanceListResult(_serialization.Model): + """A list of SqlServerInstance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Array of results. + :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _validation = { + "value": {"readonly": True}, + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[SqlServerInstance]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.value: Optional[list["_models.SqlServerInstance"]] = None + self.next_link: Optional[str] = None + + +class SqlServerInstanceManagedInstanceLinkAssessment(_serialization.Model): # pylint: disable=name-too-long + """The status of an individual requirement for MI Link. + + :ivar name: The name of the requirement. + :vartype name: str + :ivar category: Validation category for the MI Link prerequisites assessment. Known values are: + "SqlInstance", "SqlInstanceDatabase", "ManagedInstance", "ManagedInstanceDatabase", + "ManagedInstanceCrossValidation", "Certificates", "BoxToMiNetworkConnectivity", + "MiToBoxNetworkConnectivity", "DagCrossValidation", and "SqlInstanceAg". + :vartype category: str or ~azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory + :ivar status: The status of the requirement. Known values are: "Success", "Warning", and + "Failure". + :vartype status: str or ~azure.mgmt.azurearcdata.models.AssessmentStatus + :ivar information: The information text about requirement. + :vartype information: str + :ivar additional_information: Additional details about the check, including any recommended + actions. + :vartype additional_information: str + :ivar failing_dbs: List of names of databases that are failing the given assessment. + :vartype failing_dbs: list[str] + """ + + _attribute_map = { + "name": {"key": "name", "type": "str"}, + "category": {"key": "category", "type": "str"}, + "status": {"key": "status", "type": "str"}, + "information": {"key": "information", "type": "str"}, + "additional_information": {"key": "additionalInformation", "type": "str"}, + "failing_dbs": {"key": "failingDbs", "type": "[str]"}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + category: Optional[Union[str, "_models.MiLinkAssessmentCategory"]] = None, + status: Optional[Union[str, "_models.AssessmentStatus"]] = None, + information: Optional[str] = None, + additional_information: Optional[str] = None, + failing_dbs: Optional[list[str]] = None, + **kwargs: Any + ) -> None: + """ + :keyword name: The name of the requirement. + :paramtype name: str + :keyword category: Validation category for the MI Link prerequisites assessment. Known values + are: "SqlInstance", "SqlInstanceDatabase", "ManagedInstance", "ManagedInstanceDatabase", + "ManagedInstanceCrossValidation", "Certificates", "BoxToMiNetworkConnectivity", + "MiToBoxNetworkConnectivity", "DagCrossValidation", and "SqlInstanceAg". + :paramtype category: str or ~azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory + :keyword status: The status of the requirement. Known values are: "Success", "Warning", and + "Failure". + :paramtype status: str or ~azure.mgmt.azurearcdata.models.AssessmentStatus + :keyword information: The information text about requirement. + :paramtype information: str + :keyword additional_information: Additional details about the check, including any recommended + actions. + :paramtype additional_information: str + :keyword failing_dbs: List of names of databases that are failing the given assessment. + :paramtype failing_dbs: list[str] + """ + super().__init__(**kwargs) + self.name = name + self.category = category + self.status = status + self.information = information + self.additional_information = additional_information + self.failing_dbs = failing_dbs + + +class SqlServerInstanceManagedInstanceLinkAssessmentRequest(_serialization.Model): # pylint: disable=name-too-long + """The MI Link assessment request for the SQL Server instance. + + All required parameters must be populated in order to send to server. + + :ivar azure_managed_instance_resource_id: The Azure SQL Managed Instance resource ID to link + with the SQL Server instance. Required. + :vartype azure_managed_instance_resource_id: str + :ivar azure_managed_instance_role: The role of managed instance in a distributed availability + group, can be Primary or Secondary. Known values are: "Primary" and "Secondary". + :vartype azure_managed_instance_role: str or + ~azure.mgmt.azurearcdata.models.AzureManagedInstanceRole + :ivar database_names: An array of strings, where each value represents the name of a database + to be replicated to the Azure SQL Managed Instance. Required. + :vartype database_names: list[str] + :ivar availability_group_name: The name of the availability group to be used for the database + replication. Required. + :vartype availability_group_name: str + :ivar distributed_availability_group_name: The name of the DAG to be used for the database + replication. Also referred to as Link Name. Required. + :vartype distributed_availability_group_name: str + :ivar assessment_categories: An array of strings, where each value represents the category of + the assessment to be run. If this field is not provided, all assessment categories will be run. + :vartype assessment_categories: list[str or + ~azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory] + :ivar sql_server_ip_address: The IP address of the SQL Server instance. + :vartype sql_server_ip_address: str + """ + + _validation = { + "azure_managed_instance_resource_id": {"required": True}, + "database_names": {"required": True}, + "availability_group_name": {"required": True}, + "distributed_availability_group_name": {"required": True}, + } + + _attribute_map = { + "azure_managed_instance_resource_id": {"key": "azureManagedInstanceResourceId", "type": "str"}, + "azure_managed_instance_role": {"key": "azureManagedInstanceRole", "type": "str"}, + "database_names": {"key": "databaseNames", "type": "[str]"}, + "availability_group_name": {"key": "availabilityGroupName", "type": "str"}, + "distributed_availability_group_name": {"key": "distributedAvailabilityGroupName", "type": "str"}, + "assessment_categories": {"key": "assessmentCategories", "type": "[str]"}, + "sql_server_ip_address": {"key": "sqlServerIpAddress", "type": "str"}, + } + + def __init__( + self, + *, + azure_managed_instance_resource_id: str, + database_names: list[str], + availability_group_name: str, + distributed_availability_group_name: str, + azure_managed_instance_role: Optional[Union[str, "_models.AzureManagedInstanceRole"]] = None, + assessment_categories: Optional[list[Union[str, "_models.MiLinkAssessmentCategory"]]] = None, + sql_server_ip_address: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword azure_managed_instance_resource_id: The Azure SQL Managed Instance resource ID to link + with the SQL Server instance. Required. + :paramtype azure_managed_instance_resource_id: str + :keyword azure_managed_instance_role: The role of managed instance in a distributed + availability group, can be Primary or Secondary. Known values are: "Primary" and "Secondary". + :paramtype azure_managed_instance_role: str or + ~azure.mgmt.azurearcdata.models.AzureManagedInstanceRole + :keyword database_names: An array of strings, where each value represents the name of a + database to be replicated to the Azure SQL Managed Instance. Required. + :paramtype database_names: list[str] + :keyword availability_group_name: The name of the availability group to be used for the + database replication. Required. + :paramtype availability_group_name: str + :keyword distributed_availability_group_name: The name of the DAG to be used for the database + replication. Also referred to as Link Name. Required. + :paramtype distributed_availability_group_name: str + :keyword assessment_categories: An array of strings, where each value represents the category + of the assessment to be run. If this field is not provided, all assessment categories will be + run. + :paramtype assessment_categories: list[str or + ~azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory] + :keyword sql_server_ip_address: The IP address of the SQL Server instance. + :paramtype sql_server_ip_address: str + """ + super().__init__(**kwargs) + self.azure_managed_instance_resource_id = azure_managed_instance_resource_id + self.azure_managed_instance_role = azure_managed_instance_role + self.database_names = database_names + self.availability_group_name = availability_group_name + self.distributed_availability_group_name = distributed_availability_group_name + self.assessment_categories = assessment_categories + self.sql_server_ip_address = sql_server_ip_address + + +class SqlServerInstanceManagedInstanceLinkAssessmentResponse(_serialization.Model): # pylint: disable=name-too-long + """The response containing the results of the MI Link assessment. + + :ivar assessments: The list of the results for MI Link assessment. + :vartype assessments: + list[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessment] + """ + + _attribute_map = { + "assessments": {"key": "assessments", "type": "[SqlServerInstanceManagedInstanceLinkAssessment]"}, + } + + def __init__( + self, + *, + assessments: Optional[list["_models.SqlServerInstanceManagedInstanceLinkAssessment"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword assessments: The list of the results for MI Link assessment. + :paramtype assessments: + list[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessment] + """ + super().__init__(**kwargs) + self.assessments = assessments + + +class SqlServerInstanceMigrationReadinessReportResponse(_serialization.Model): # pylint: disable=name-too-long + """Represents the response containing the SQL Server Instance Migration Readiness report. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar report: The migration readiness report as a serialized JSON string. When isCompressed is + true, the value is base64-encoded GZip-compressed and must be decoded and decompressed before + parsing. + :vartype report: str + :ivar is_compressed: Indicates whether the report field contains base64-encoded GZip-compressed + JSON. + :vartype is_compressed: bool + :ivar created_time: The UTC timestamp in ISO 8601 format indicating when the migration + readiness report was created. + :vartype created_time: ~datetime.datetime + """ + + _validation = { + "report": {"readonly": True}, + "is_compressed": {"readonly": True}, + "created_time": {"readonly": True}, + } + + _attribute_map = { + "report": {"key": "report", "type": "str"}, + "is_compressed": {"key": "isCompressed", "type": "bool"}, + "created_time": {"key": "createdTime", "type": "iso-8601"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.report: Optional[str] = None + self.is_compressed: Optional[bool] = None + self.created_time: Optional[datetime.datetime] = None + + +class SqlServerInstanceProperties(_serialization.Model): + """Properties of SqlServerInstance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar version: SQL Server version. Known values are: "Unknown", "SQL Server 2012", "SQL Server + 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and "SQL + Server 2025". + :vartype version: str or ~azure.mgmt.azurearcdata.models.SqlVersion + :ivar edition: SQL Server edition. Known values are: "Evaluation", "Enterprise", "Standard", + "Web", "Developer", "Express", "Business Intelligence", "Standard Developer", and "Unknown". + :vartype edition: str or ~azure.mgmt.azurearcdata.models.EditionType + :ivar container_resource_id: ARM Resource id of the container resource (Azure Arc for Servers). + :vartype container_resource_id: str + :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. + :vartype vm_id: str + :ivar create_time: The time when the resource was created. + :vartype create_time: str + :ivar v_core: The number of logical processors used by the SQL Server instance. + :vartype v_core: str + :ivar cores: The number of total cores of the Operating System Environment (OSE) hosting the + SQL Server instance. + :vartype cores: str + :ivar status: The cloud connectivity status. Known values are: "Connected", "Disconnected", + "Registered", "Discovered", and "Unknown". + :vartype status: str or ~azure.mgmt.azurearcdata.models.ConnectionStatus + :ivar discovery_source: Indicates the discovery agent or client for this instance. Known values + are: "Azure Arc", "Azure Migrate", "ADS", "SSMS", "SSMA", "Import", "DMS-Portal", "DMS-PS", + "DMS-CLI", "DMS-SDK", and "Other". + :vartype discovery_source: str or ~azure.mgmt.azurearcdata.models.DiscoverySource + :ivar patch_level: SQL Server update level. + :vartype patch_level: str + :ivar collation: SQL Server collation. + :vartype collation: str + :ivar db_master_key_exists: Indicates whether database master key exists in SQL Server. + :vartype db_master_key_exists: bool + :ivar is_hadr_enabled: Indicates whether always On availability groups is enabled in SQL + Server. + :vartype is_hadr_enabled: bool + :ivar trace_flags: An array of integers, where each value represents the enabled trace flags in + SQL Server. + :vartype trace_flags: list[int] + :ivar current_version: SQL Server current version. + :vartype current_version: str + :ivar instance_name: SQL Server instance name. + :vartype instance_name: str + :ivar tcp_dynamic_ports: Dynamic TCP ports used by SQL Server. + :vartype tcp_dynamic_ports: str + :ivar tcp_static_ports: Static TCP ports used by SQL Server. + :vartype tcp_static_ports: str + :ivar product_id: SQL Server product ID. + :vartype product_id: str + :ivar license_type: SQL Server license type. Known values are: "Undefined", "Free", "HADR", + "ServerCAL", "LicenseOnly", "PAYG", "Paid", and "FabricCapacity". + :vartype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerLicenseType + :ivar azure_defender_status_last_updated: Timestamp of last Azure Defender status update. + :vartype azure_defender_status_last_updated: ~datetime.datetime + :ivar azure_defender_status: Status of Azure Defender. Known values are: "Protected", + "Unprotected", and "Unknown". + :vartype azure_defender_status: str or ~azure.mgmt.azurearcdata.models.DefenderStatus + :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server resource. + :vartype provisioning_state: str + :ivar last_inventory_upload_time: The time when last successful inventory upload was performed. + :vartype last_inventory_upload_time: ~datetime.datetime + :ivar last_usage_upload_time: The time when last successful usage upload was performed. + :vartype last_usage_upload_time: ~datetime.datetime + :ivar host_type: Type of host for Azure Arc SQL Server. Known values are: "Azure Virtual + Machine", "Azure VMWare Virtual Machine", "Azure Kubernetes Service", "AWS VMWare Virtual + Machine", "AWS Kubernetes Service", "GCP VMWare Virtual Machine", "GCP Kubernetes Service", + "Container", "Virtual Machine", "Physical Server", "AWS Virtual Machine", "GCP Virtual + Machine", "Hyper-V Virtual Machine", and "Other". + :vartype host_type: str or ~azure.mgmt.azurearcdata.models.HostType + :ivar always_on_role: The role of the SQL Server, based on availability. Known values are: + "None", "FailoverClusterInstance", "FailoverClusterNode", and "AvailabilityGroupReplica". + :vartype always_on_role: str or ~azure.mgmt.azurearcdata.models.AlwaysOnRole + :ivar database_mirroring_endpoint: Database mirroring endpoint related properties. + :vartype database_mirroring_endpoint: ~azure.mgmt.azurearcdata.models.DBMEndpoint + :ivar failover_cluster: Failover Cluster Instance properties. + :vartype failover_cluster: ~azure.mgmt.azurearcdata.models.FailoverCluster + :ivar backup_policy: The backup profile for the SQL server. + :vartype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy + :ivar upgrade_locked_until: Upgrade Action for this resource is locked until it expires. The + Expiration time indicated by this value. It is not locked when it is empty. + :vartype upgrade_locked_until: ~datetime.datetime + :ivar monitoring: The monitoring configuration. + :vartype monitoring: ~azure.mgmt.azurearcdata.models.Monitoring + :ivar migration: Migration related configuration and status. + :vartype migration: ~azure.mgmt.azurearcdata.models.Migration + :ivar best_practices_assessment: The configuration related to SQL best practices assessment. + :vartype best_practices_assessment: ~azure.mgmt.azurearcdata.models.BestPracticesAssessment + :ivar client_connection: Client connection related configuration. + :vartype client_connection: ~azure.mgmt.azurearcdata.models.ClientConnection + :ivar service_type: Indicates if the resource represents a SQL Server engine or a SQL Server + component service installed on the host. Known values are: "Engine", "SSRS", "SSAS", "SSIS", + and "PBIRS". + :vartype service_type: str or ~azure.mgmt.azurearcdata.models.ServiceType + :ivar max_server_memory_mb: maximum server memory (MB) value configured for this instance. + :vartype max_server_memory_mb: int + :ivar is_microsoft_pki_cert_trust_configured: Indicates whether Microsoft PKI root-authority + certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net + domains. + :vartype is_microsoft_pki_cert_trust_configured: bool + :ivar is_digi_cert_pki_cert_trust_configured: Indicates whether DigiCert PKI root-authority + certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net + domains. + :vartype is_digi_cert_pki_cert_trust_configured: bool + :ivar authentication: Authentication related configuration for the SQL Server Instance. + :vartype authentication: ~azure.mgmt.azurearcdata.models.Authentication + """ + + _validation = { + "container_resource_id": {"readonly": True}, + "vm_id": {"readonly": True}, + "create_time": {"readonly": True}, + "v_core": {"readonly": True}, + "status": {"readonly": True}, + "patch_level": {"readonly": True}, + "collation": {"readonly": True}, + "db_master_key_exists": {"readonly": True}, + "is_hadr_enabled": {"readonly": True}, + "trace_flags": {"readonly": True}, + "current_version": {"readonly": True}, + "tcp_dynamic_ports": {"readonly": True}, + "tcp_static_ports": {"readonly": True}, + "product_id": {"readonly": True}, + "license_type": {"readonly": True}, + "azure_defender_status_last_updated": {"readonly": True}, + "azure_defender_status": {"readonly": True}, + "provisioning_state": {"readonly": True}, + "last_inventory_upload_time": {"readonly": True}, + "last_usage_upload_time": {"readonly": True}, + "always_on_role": {"readonly": True}, + "max_server_memory_mb": {"readonly": True}, + "is_microsoft_pki_cert_trust_configured": {"readonly": True}, + "is_digi_cert_pki_cert_trust_configured": {"readonly": True}, + } + + _attribute_map = { + "version": {"key": "version", "type": "str"}, + "edition": {"key": "edition", "type": "str"}, + "container_resource_id": {"key": "containerResourceId", "type": "str"}, + "vm_id": {"key": "vmId", "type": "str"}, + "create_time": {"key": "createTime", "type": "str"}, + "v_core": {"key": "vCore", "type": "str"}, + "cores": {"key": "cores", "type": "str"}, + "status": {"key": "status", "type": "str"}, + "discovery_source": {"key": "discoverySource", "type": "str"}, + "patch_level": {"key": "patchLevel", "type": "str"}, + "collation": {"key": "collation", "type": "str"}, + "db_master_key_exists": {"key": "dbMasterKeyExists", "type": "bool"}, + "is_hadr_enabled": {"key": "isHadrEnabled", "type": "bool"}, + "trace_flags": {"key": "traceFlags", "type": "[int]"}, + "current_version": {"key": "currentVersion", "type": "str"}, + "instance_name": {"key": "instanceName", "type": "str"}, + "tcp_dynamic_ports": {"key": "tcpDynamicPorts", "type": "str"}, + "tcp_static_ports": {"key": "tcpStaticPorts", "type": "str"}, + "product_id": {"key": "productId", "type": "str"}, + "license_type": {"key": "licenseType", "type": "str"}, + "azure_defender_status_last_updated": {"key": "azureDefenderStatusLastUpdated", "type": "iso-8601"}, + "azure_defender_status": {"key": "azureDefenderStatus", "type": "str"}, + "provisioning_state": {"key": "provisioningState", "type": "str"}, + "last_inventory_upload_time": {"key": "lastInventoryUploadTime", "type": "iso-8601"}, + "last_usage_upload_time": {"key": "lastUsageUploadTime", "type": "iso-8601"}, + "host_type": {"key": "hostType", "type": "str"}, + "always_on_role": {"key": "alwaysOnRole", "type": "str"}, + "database_mirroring_endpoint": {"key": "databaseMirroringEndpoint", "type": "DBMEndpoint"}, + "failover_cluster": {"key": "failoverCluster", "type": "FailoverCluster"}, + "backup_policy": {"key": "backupPolicy", "type": "BackupPolicy"}, + "upgrade_locked_until": {"key": "upgradeLockedUntil", "type": "iso-8601"}, + "monitoring": {"key": "monitoring", "type": "Monitoring"}, + "migration": {"key": "migration", "type": "Migration"}, + "best_practices_assessment": {"key": "bestPracticesAssessment", "type": "BestPracticesAssessment"}, + "client_connection": {"key": "clientConnection", "type": "ClientConnection"}, + "service_type": {"key": "serviceType", "type": "str"}, + "max_server_memory_mb": {"key": "maxServerMemoryMB", "type": "int"}, + "is_microsoft_pki_cert_trust_configured": {"key": "isMicrosoftPkiCertTrustConfigured", "type": "bool"}, + "is_digi_cert_pki_cert_trust_configured": {"key": "isDigiCertPkiCertTrustConfigured", "type": "bool"}, + "authentication": {"key": "authentication", "type": "Authentication"}, + } + + def __init__( # pylint: disable=too-many-locals + self, + *, + version: Optional[Union[str, "_models.SqlVersion"]] = None, + edition: Optional[Union[str, "_models.EditionType"]] = None, + cores: Optional[str] = None, + discovery_source: Optional[Union[str, "_models.DiscoverySource"]] = None, + instance_name: Optional[str] = None, + host_type: Optional[Union[str, "_models.HostType"]] = None, + database_mirroring_endpoint: Optional["_models.DBMEndpoint"] = None, + failover_cluster: Optional["_models.FailoverCluster"] = None, + backup_policy: Optional["_models.BackupPolicy"] = None, + upgrade_locked_until: Optional[datetime.datetime] = None, + monitoring: Optional["_models.Monitoring"] = None, + migration: Optional["_models.Migration"] = None, + best_practices_assessment: Optional["_models.BestPracticesAssessment"] = None, + client_connection: Optional["_models.ClientConnection"] = None, + service_type: Optional[Union[str, "_models.ServiceType"]] = None, + authentication: Optional["_models.Authentication"] = None, + **kwargs: Any + ) -> None: + """ + :keyword version: SQL Server version. Known values are: "Unknown", "SQL Server 2012", "SQL + Server 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and + "SQL Server 2025". + :paramtype version: str or ~azure.mgmt.azurearcdata.models.SqlVersion + :keyword edition: SQL Server edition. Known values are: "Evaluation", "Enterprise", "Standard", + "Web", "Developer", "Express", "Business Intelligence", "Standard Developer", and "Unknown". + :paramtype edition: str or ~azure.mgmt.azurearcdata.models.EditionType + :keyword cores: The number of total cores of the Operating System Environment (OSE) hosting the + SQL Server instance. + :paramtype cores: str + :keyword discovery_source: Indicates the discovery agent or client for this instance. Known + values are: "Azure Arc", "Azure Migrate", "ADS", "SSMS", "SSMA", "Import", "DMS-Portal", + "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". + :paramtype discovery_source: str or ~azure.mgmt.azurearcdata.models.DiscoverySource + :keyword instance_name: SQL Server instance name. + :paramtype instance_name: str + :keyword host_type: Type of host for Azure Arc SQL Server. Known values are: "Azure Virtual + Machine", "Azure VMWare Virtual Machine", "Azure Kubernetes Service", "AWS VMWare Virtual + Machine", "AWS Kubernetes Service", "GCP VMWare Virtual Machine", "GCP Kubernetes Service", + "Container", "Virtual Machine", "Physical Server", "AWS Virtual Machine", "GCP Virtual + Machine", "Hyper-V Virtual Machine", and "Other". + :paramtype host_type: str or ~azure.mgmt.azurearcdata.models.HostType + :keyword database_mirroring_endpoint: Database mirroring endpoint related properties. + :paramtype database_mirroring_endpoint: ~azure.mgmt.azurearcdata.models.DBMEndpoint + :keyword failover_cluster: Failover Cluster Instance properties. + :paramtype failover_cluster: ~azure.mgmt.azurearcdata.models.FailoverCluster + :keyword backup_policy: The backup profile for the SQL server. + :paramtype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy + :keyword upgrade_locked_until: Upgrade Action for this resource is locked until it expires. The + Expiration time indicated by this value. It is not locked when it is empty. + :paramtype upgrade_locked_until: ~datetime.datetime + :keyword monitoring: The monitoring configuration. + :paramtype monitoring: ~azure.mgmt.azurearcdata.models.Monitoring + :keyword migration: Migration related configuration and status. + :paramtype migration: ~azure.mgmt.azurearcdata.models.Migration + :keyword best_practices_assessment: The configuration related to SQL best practices assessment. + :paramtype best_practices_assessment: ~azure.mgmt.azurearcdata.models.BestPracticesAssessment + :keyword client_connection: Client connection related configuration. + :paramtype client_connection: ~azure.mgmt.azurearcdata.models.ClientConnection + :keyword service_type: Indicates if the resource represents a SQL Server engine or a SQL Server + component service installed on the host. Known values are: "Engine", "SSRS", "SSAS", "SSIS", + and "PBIRS". + :paramtype service_type: str or ~azure.mgmt.azurearcdata.models.ServiceType + :keyword authentication: Authentication related configuration for the SQL Server Instance. + :paramtype authentication: ~azure.mgmt.azurearcdata.models.Authentication + """ + super().__init__(**kwargs) + self.version = version + self.edition = edition + self.container_resource_id: Optional[str] = None + self.vm_id: Optional[str] = None + self.create_time: Optional[str] = None + self.v_core: Optional[str] = None + self.cores = cores + self.status: Optional[Union[str, "_models.ConnectionStatus"]] = None + self.discovery_source = discovery_source + self.patch_level: Optional[str] = None + self.collation: Optional[str] = None + self.db_master_key_exists: Optional[bool] = None + self.is_hadr_enabled: Optional[bool] = None + self.trace_flags: Optional[list[int]] = None + self.current_version: Optional[str] = None + self.instance_name = instance_name + self.tcp_dynamic_ports: Optional[str] = None + self.tcp_static_ports: Optional[str] = None + self.product_id: Optional[str] = None + self.license_type: Optional[Union[str, "_models.ArcSqlServerLicenseType"]] = None + self.azure_defender_status_last_updated: Optional[datetime.datetime] = None + self.azure_defender_status: Optional[Union[str, "_models.DefenderStatus"]] = None + self.provisioning_state: Optional[str] = None + self.last_inventory_upload_time: Optional[datetime.datetime] = None + self.last_usage_upload_time: Optional[datetime.datetime] = None + self.host_type = host_type + self.always_on_role: Optional[Union[str, "_models.AlwaysOnRole"]] = None + self.database_mirroring_endpoint = database_mirroring_endpoint + self.failover_cluster = failover_cluster + self.backup_policy = backup_policy + self.upgrade_locked_until = upgrade_locked_until + self.monitoring = monitoring + self.migration = migration + self.best_practices_assessment = best_practices_assessment + self.client_connection = client_connection + self.service_type = service_type + self.max_server_memory_mb: Optional[int] = None + self.is_microsoft_pki_cert_trust_configured: Optional[bool] = None + self.is_digi_cert_pki_cert_trust_configured: Optional[bool] = None + self.authentication = authentication + + +class SqlServerInstanceRunBestPracticesAssessmentResponse(_serialization.Model): # pylint: disable=name-too-long + """The response object for the request to run SQL best practices assessment. + + :ivar id: The unique identifier of the job. + :vartype id: str + :ivar instance_name: The name of the SQL Server instance. + :vartype instance_name: str + :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar job_exception: The exception message if the job failed. + :vartype job_exception: str + :ivar background_job: The background job details. + :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :ivar sequencer_actions: The list of sequencer actions. + :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "instance_name": {"key": "instanceName", "type": "str"}, + "job_status": {"key": "jobStatus", "type": "str"}, + "job_exception": {"key": "jobException", "type": "str"}, + "background_job": {"key": "backgroundJob", "type": "BackgroundJob"}, + "sequencer_actions": {"key": "sequencerActions", "type": "[SequencerAction]"}, + } + + def __init__( + self, + *, + id: Optional[str] = None, # pylint: disable=redefined-builtin + instance_name: Optional[str] = None, + job_status: Optional[Union[str, "_models.JobStatus"]] = None, + job_exception: Optional[str] = None, + background_job: Optional["_models.BackgroundJob"] = None, + sequencer_actions: Optional[list["_models.SequencerAction"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword id: The unique identifier of the job. + :paramtype id: str + :keyword instance_name: The name of the SQL Server instance. + :paramtype instance_name: str + :keyword job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :paramtype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :keyword job_exception: The exception message if the job failed. + :paramtype job_exception: str + :keyword background_job: The background job details. + :paramtype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :keyword sequencer_actions: The list of sequencer actions. + :paramtype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + super().__init__(**kwargs) + self.id = id + self.instance_name = instance_name + self.job_status = job_status + self.job_exception = job_exception + self.background_job = background_job + self.sequencer_actions = sequencer_actions -class SqlManagedInstanceK8SSpec(_serialization.Model): - """The kubernetes spec information. +class SqlServerInstanceRunMigrationAssessmentResponse(_serialization.Model): # pylint: disable=name-too-long + """The response for running migration assessment on the SQL Server instance. - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, JSON] - :ivar scheduling: The kubernetes scheduling information. - :vartype scheduling: ~azure.mgmt.azurearcdata.models.K8SScheduling - :ivar replicas: This option specifies the number of SQL Managed Instance replicas that will be - deployed in your Kubernetes cluster for high availability purposes. If sku.tier is - BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is - GeneralPurpose, replicas must be '1'. - :vartype replicas: int + :ivar id: The unique identifier of the job. + :vartype id: str + :ivar instance_name: The name of the SQL Server instance. + :vartype instance_name: str + :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar job_exception: The exception message if the job failed. + :vartype job_exception: str + :ivar background_job: The background job details. + :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :ivar sequencer_actions: The list of sequencer actions. + :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] """ _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "scheduling": {"key": "scheduling", "type": "K8SScheduling"}, - "replicas": {"key": "replicas", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "instance_name": {"key": "instanceName", "type": "str"}, + "job_status": {"key": "jobStatus", "type": "str"}, + "job_exception": {"key": "jobException", "type": "str"}, + "background_job": {"key": "backgroundJob", "type": "BackgroundJob"}, + "sequencer_actions": {"key": "sequencerActions", "type": "[SequencerAction]"}, } def __init__( self, *, - additional_properties: Optional[Dict[str, JSON]] = None, - scheduling: Optional["_models.K8SScheduling"] = None, - replicas: Optional[int] = None, - **kwargs - ): + id: Optional[str] = None, # pylint: disable=redefined-builtin + instance_name: Optional[str] = None, + job_status: Optional[Union[str, "_models.JobStatus"]] = None, + job_exception: Optional[str] = None, + background_job: Optional["_models.BackgroundJob"] = None, + sequencer_actions: Optional[list["_models.SequencerAction"]] = None, + **kwargs: Any + ) -> None: """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, JSON] - :keyword scheduling: The kubernetes scheduling information. - :paramtype scheduling: ~azure.mgmt.azurearcdata.models.K8SScheduling - :keyword replicas: This option specifies the number of SQL Managed Instance replicas that will - be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is - BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is - GeneralPurpose, replicas must be '1'. - :paramtype replicas: int + :keyword id: The unique identifier of the job. + :paramtype id: str + :keyword instance_name: The name of the SQL Server instance. + :paramtype instance_name: str + :keyword job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :paramtype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :keyword job_exception: The exception message if the job failed. + :paramtype job_exception: str + :keyword background_job: The background job details. + :paramtype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :keyword sequencer_actions: The list of sequencer actions. + :paramtype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] """ super().__init__(**kwargs) - self.additional_properties = additional_properties - self.scheduling = scheduling - self.replicas = replicas + self.id = id + self.instance_name = instance_name + self.job_status = job_status + self.job_exception = job_exception + self.background_job = background_job + self.sequencer_actions = sequencer_actions -class SqlManagedInstanceListResult(_serialization.Model): - """A list of SqlManagedInstance. +class SqlServerInstanceRunMigrationReadinessAssessmentResponse(_serialization.Model): # pylint: disable=name-too-long + """The response object for the request to run migration readiness assessment. + + :ivar id: The unique identifier of the job. + :vartype id: str + :ivar instance_name: The name of the SQL Server instance. + :vartype instance_name: str + :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar job_exception: The exception message if the job failed. + :vartype job_exception: str + :ivar background_job: The background job details. + :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :ivar sequencer_actions: The list of sequencer actions. + :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "instance_name": {"key": "instanceName", "type": "str"}, + "job_status": {"key": "jobStatus", "type": "str"}, + "job_exception": {"key": "jobException", "type": "str"}, + "background_job": {"key": "backgroundJob", "type": "BackgroundJob"}, + "sequencer_actions": {"key": "sequencerActions", "type": "[SequencerAction]"}, + } + + def __init__( + self, + *, + id: Optional[str] = None, # pylint: disable=redefined-builtin + instance_name: Optional[str] = None, + job_status: Optional[Union[str, "_models.JobStatus"]] = None, + job_exception: Optional[str] = None, + background_job: Optional["_models.BackgroundJob"] = None, + sequencer_actions: Optional[list["_models.SequencerAction"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword id: The unique identifier of the job. + :paramtype id: str + :keyword instance_name: The name of the SQL Server instance. + :paramtype instance_name: str + :keyword job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :paramtype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :keyword job_exception: The exception message if the job failed. + :paramtype job_exception: str + :keyword background_job: The background job details. + :paramtype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :keyword sequencer_actions: The list of sequencer actions. + :paramtype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + super().__init__(**kwargs) + self.id = id + self.instance_name = instance_name + self.job_status = job_status + self.job_exception = job_exception + self.background_job = background_job + self.sequencer_actions = sequencer_actions + + +class SqlServerInstanceRunTargetRecommendationJobRequest(_serialization.Model): # pylint: disable=name-too-long + """The request for running a SQL Server Instance target recommendation job. + + :ivar resource_update_mode: Controls whether the SQL Server instance resource is updated with + the target recommendation details after the job completes. Known values are: + "UpdateAllTargetRecommendationDetails" and "SkipResourceUpdate". + :vartype resource_update_mode: str or ~azure.mgmt.azurearcdata.models.ResourceUpdateMode + :ivar include_file_level_requirements: Specifies whether to include file-level requirements in + the target recommendation report. + :vartype include_file_level_requirements: bool + :ivar target_location: The Azure region used for target SKU pricing and availability (e.g., + 'westus', 'eastus2', 'westeurope'). + :vartype target_location: str + :ivar percentile: The percentile of performance data points used for aggregation (Range: + 1-100). + :vartype percentile: int + :ivar lookback_period_in_days: The lookback period in days for performance data used in the + target recommendation. + :vartype lookback_period_in_days: int + """ + + _validation = { + "percentile": {"maximum": 100, "minimum": 1}, + "lookback_period_in_days": {"maximum": 30, "minimum": 7}, + } + + _attribute_map = { + "resource_update_mode": {"key": "resourceUpdateMode", "type": "str"}, + "include_file_level_requirements": {"key": "includeFileLevelRequirements", "type": "bool"}, + "target_location": {"key": "targetLocation", "type": "str"}, + "percentile": {"key": "percentile", "type": "int"}, + "lookback_period_in_days": {"key": "lookbackPeriodInDays", "type": "int"}, + } + + def __init__( + self, + *, + resource_update_mode: Union[str, "_models.ResourceUpdateMode"] = "UpdateAllTargetRecommendationDetails", + include_file_level_requirements: bool = False, + target_location: str = "westus", + percentile: int = 95, + lookback_period_in_days: int = 30, + **kwargs: Any + ) -> None: + """ + :keyword resource_update_mode: Controls whether the SQL Server instance resource is updated + with the target recommendation details after the job completes. Known values are: + "UpdateAllTargetRecommendationDetails" and "SkipResourceUpdate". + :paramtype resource_update_mode: str or ~azure.mgmt.azurearcdata.models.ResourceUpdateMode + :keyword include_file_level_requirements: Specifies whether to include file-level requirements + in the target recommendation report. + :paramtype include_file_level_requirements: bool + :keyword target_location: The Azure region used for target SKU pricing and availability (e.g., + 'westus', 'eastus2', 'westeurope'). + :paramtype target_location: str + :keyword percentile: The percentile of performance data points used for aggregation (Range: + 1-100). + :paramtype percentile: int + :keyword lookback_period_in_days: The lookback period in days for performance data used in the + target recommendation. + :paramtype lookback_period_in_days: int + """ + super().__init__(**kwargs) + self.resource_update_mode = resource_update_mode + self.include_file_level_requirements = include_file_level_requirements + self.target_location = target_location + self.percentile = percentile + self.lookback_period_in_days = lookback_period_in_days + + +class SqlServerInstanceRunTargetRecommendationJobResponse(_serialization.Model): # pylint: disable=name-too-long + """Represents the response of a SQL Server Instance target recommendation job execution. Variables are only populated by the server, and will be ignored when sending a request. - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str + :ivar job_status: Represents the current status of the target recommendation job. Known values + are: "NotStarted", "InProgress", "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus """ _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, + "job_status": {"readonly": True}, } _attribute_map = { - "value": {"key": "value", "type": "[SqlManagedInstance]"}, - "next_link": {"key": "nextLink", "type": "str"}, + "job_status": {"key": "jobStatus", "type": "str"}, } - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) - self.value = None - self.next_link = None + self.job_status: Optional[Union[str, "_models.JobStatus"]] = None -class SqlManagedInstanceProperties(_serialization.Model): # pylint: disable=too-many-instance-attributes - """Properties of sqlManagedInstance. +class SqlServerInstanceTargetRecommendationReport(_serialization.Model): # pylint: disable=name-too-long + """Represents a target recommendation report for a SQL Server instance. Variables are only populated by the server, and will be ignored when sending a request. - :ivar data_controller_id: null. - :vartype data_controller_id: str - :ivar admin: The instance admin user. - :vartype admin: str - :ivar start_time: The instance start time. - :vartype start_time: str - :ivar end_time: The instance end time. - :vartype end_time: str - :ivar k8_s_raw: The raw kubernetes information. - :vartype k8_s_raw: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SRaw - :ivar basic_login_information: Username and password for basic authentication. - :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date - time. - :vartype last_uploaded_date: ~datetime.datetime - :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Managed Instance - resource. - :vartype provisioning_state: str - :ivar active_directory_information: Active Directory information related to this SQL Managed - Instance. - :vartype active_directory_information: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryInformation - :ivar license_type: The license type to apply for this managed instance. Known values are: - "BasePrice", "LicenseIncluded", and "DisasterRecovery". - :vartype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType - :ivar cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected - cluster the custom location belongs to. - :vartype cluster_id: str - :ivar extension_id: If a CustomLocation is provided, this contains the ARM id of the extension - the custom location belongs to. - :vartype extension_id: str + :ivar report_id: The identifier of the target recommendation report. + :vartype report_id: str + :ivar created_time: The UTC timestamp in ISO 8601 format indicating when the target + recommendation report was generated. + :vartype created_time: ~datetime.datetime + :ivar sections: Collection of sections included in the report. + :vartype sections: + list[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSection] """ _validation = { - "provisioning_state": {"readonly": True}, + "report_id": {"readonly": True}, + "created_time": {"readonly": True}, + "sections": {"readonly": True}, } _attribute_map = { - "data_controller_id": {"key": "dataControllerId", "type": "str"}, - "admin": {"key": "admin", "type": "str"}, - "start_time": {"key": "startTime", "type": "str"}, - "end_time": {"key": "endTime", "type": "str"}, - "k8_s_raw": {"key": "k8sRaw", "type": "SqlManagedInstanceK8SRaw"}, - "basic_login_information": {"key": "basicLoginInformation", "type": "BasicLoginInformation"}, - "last_uploaded_date": {"key": "lastUploadedDate", "type": "iso-8601"}, - "provisioning_state": {"key": "provisioningState", "type": "str"}, - "active_directory_information": {"key": "activeDirectoryInformation", "type": "ActiveDirectoryInformation"}, - "license_type": {"key": "licenseType", "type": "str"}, - "cluster_id": {"key": "clusterId", "type": "str"}, - "extension_id": {"key": "extensionId", "type": "str"}, + "report_id": {"key": "reportId", "type": "str"}, + "created_time": {"key": "createdTime", "type": "iso-8601"}, + "sections": {"key": "sections", "type": "[SqlServerInstanceTargetRecommendationReportSection]"}, } - def __init__( - self, - *, - data_controller_id: Optional[str] = None, - admin: Optional[str] = None, - start_time: Optional[str] = None, - end_time: Optional[str] = None, - k8_s_raw: Optional["_models.SqlManagedInstanceK8SRaw"] = None, - basic_login_information: Optional["_models.BasicLoginInformation"] = None, - last_uploaded_date: Optional[datetime.datetime] = None, - active_directory_information: Optional["_models.ActiveDirectoryInformation"] = None, - license_type: Union[str, "_models.ArcSqlManagedInstanceLicenseType"] = "BasePrice", - cluster_id: Optional[str] = None, - extension_id: Optional[str] = None, - **kwargs - ): - """ - :keyword data_controller_id: null. - :paramtype data_controller_id: str - :keyword admin: The instance admin user. - :paramtype admin: str - :keyword start_time: The instance start time. - :paramtype start_time: str - :keyword end_time: The instance end time. - :paramtype end_time: str - :keyword k8_s_raw: The raw kubernetes information. - :paramtype k8_s_raw: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SRaw - :keyword basic_login_information: Username and password for basic authentication. - :paramtype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :keyword last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current - date time. - :paramtype last_uploaded_date: ~datetime.datetime - :keyword active_directory_information: Active Directory information related to this SQL Managed - Instance. - :paramtype active_directory_information: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryInformation - :keyword license_type: The license type to apply for this managed instance. Known values are: - "BasePrice", "LicenseIncluded", and "DisasterRecovery". - :paramtype license_type: str or - ~azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType - :keyword cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected - cluster the custom location belongs to. - :paramtype cluster_id: str - :keyword extension_id: If a CustomLocation is provided, this contains the ARM id of the - extension the custom location belongs to. - :paramtype extension_id: str - """ + def __init__(self, **kwargs: Any) -> None: + """ """ super().__init__(**kwargs) - self.data_controller_id = data_controller_id - self.admin = admin - self.start_time = start_time - self.end_time = end_time - self.k8_s_raw = k8_s_raw - self.basic_login_information = basic_login_information - self.last_uploaded_date = last_uploaded_date - self.provisioning_state = None - self.active_directory_information = active_directory_information - self.license_type = license_type - self.cluster_id = cluster_id - self.extension_id = extension_id + self.report_id: Optional[str] = None + self.created_time: Optional[datetime.datetime] = None + self.sections: Optional[list["_models.SqlServerInstanceTargetRecommendationReportSection"]] = None -class SqlManagedInstanceSku(_serialization.Model): - """The resource model definition representing SKU for Azure Managed Instance - Azure Arc. +class SqlServerInstanceTargetRecommendationReportSection(_serialization.Model): # pylint: disable=name-too-long + """Represents a section within a target recommendation report. Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - - :ivar name: The name of the SKU. Required. Default value is "vCore". - :vartype name: str - :ivar tier: The pricing tier for the instance. Known values are: "GeneralPurpose" and - "BusinessCritical". - :vartype tier: str or ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSkuTier - :ivar dev: Whether dev/test is enabled. When the dev field is set to true, the resource is used - for dev/test purpose. - :vartype dev: bool - :ivar size: The SKU size. When the name field is the combination of tier and some other value, - this would be the standalone code. - :vartype size: str - :ivar family: The SKU family. - :vartype family: str - :ivar capacity: The SKU capacity. - :vartype capacity: int + :ivar data: Serialized JSON representation of the section data. If isCompressed is true, the + value contains base64-encoded GZip-compressed JSON. + :vartype data: str + :ivar type: The type of this section. Requirements sections contain source server performance + metrics, while recommendation sections contain suggested Azure target SKUs. Known values are: + "RequirementsPerInstance", "RequirementsPerDatabase", "FileRequirementsPerDatabase", + "SqlVmTargetRecommendationPerInstance", "SqlMiTargetRecommendationPerInstance", and + "SqlDbTargetRecommendationPerDatabase". + :vartype type: str or + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType + :ivar database_name: The name of the database to which this section applies. An empty string + indicates that the section contains instance-level data rather than database-level data. + :vartype database_name: str + :ivar is_compressed: Indicates whether the data field contains base64-encoded GZip-compressed + JSON. + :vartype is_compressed: bool """ _validation = { - "name": {"required": True, "constant": True}, + "data": {"readonly": True}, + "type": {"readonly": True}, + "database_name": {"readonly": True}, + "is_compressed": {"readonly": True}, } _attribute_map = { - "name": {"key": "name", "type": "str"}, - "tier": {"key": "tier", "type": "str"}, - "dev": {"key": "dev", "type": "bool"}, - "size": {"key": "size", "type": "str"}, - "family": {"key": "family", "type": "str"}, - "capacity": {"key": "capacity", "type": "int"}, + "data": {"key": "data", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "database_name": {"key": "databaseName", "type": "str"}, + "is_compressed": {"key": "isCompressed", "type": "bool"}, } - name = "vCore" + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.data: Optional[str] = None + self.type: Optional[Union[str, "_models.SqlServerInstanceTargetRecommendationReportSectionType"]] = None + self.database_name: Optional[str] = None + self.is_compressed: Optional[bool] = None + + +class SqlServerInstanceTargetRecommendationReportsRequest(_serialization.Model): # pylint: disable=name-too-long + """The request for retrieving SQL Server Instance target recommendation reports. + + :ivar report_offset: Zero-based offset indicating where to continue reading reports in the + overall list of reports. Defaults to 0 if not provided. This value must be used together with + the corresponding sectionOffset to resume pagination. The reportOffset advances only after all + sections of the current report have been retrieved. To retrieve subsequent pages, use the + nextReportOffset and nextSectionOffset values from the previous response. + :vartype report_offset: int + :ivar section_offset: Zero-based offset indicating where to continue reading sections within + the current report. Defaults to 0 if not provided. This value must be used together with the + corresponding reportOffset to resume pagination. To retrieve subsequent pages, use the + nextReportOffset and nextSectionOffset values from the previous response. + :vartype section_offset: int + :ivar section_type: Filters the report to a specific section type. If not specified, all + section types are returned. Section types are grouped into two categories: requirements + sections contain performance and resource metrics collected from the source SQL Server, while + recommendation sections contain suggested Azure target SKUs derived from those requirements. + Known values are: "RequirementsPerInstance", "RequirementsPerDatabase", + "FileRequirementsPerDatabase", "SqlVmTargetRecommendationPerInstance", + "SqlMiTargetRecommendationPerInstance", and "SqlDbTargetRecommendationPerDatabase". + :vartype section_type: str or + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType + :ivar database_names: The list of database names to filter the report sections by. If not + specified, sections for all databases are returned. + :vartype database_names: list[str] + """ + + _validation = { + "report_offset": {"minimum": 0}, + "section_offset": {"minimum": 0}, + } + + _attribute_map = { + "report_offset": {"key": "reportOffset", "type": "int"}, + "section_offset": {"key": "sectionOffset", "type": "int"}, + "section_type": {"key": "sectionType", "type": "str"}, + "database_names": {"key": "databaseNames", "type": "[str]"}, + } def __init__( self, *, - tier: Union[str, "_models.SqlManagedInstanceSkuTier"] = "GeneralPurpose", - dev: bool = True, - size: Optional[str] = None, - family: Optional[str] = None, - capacity: Optional[int] = None, - **kwargs - ): + report_offset: Optional[int] = None, + section_offset: Optional[int] = None, + section_type: Optional[Union[str, "_models.SqlServerInstanceTargetRecommendationReportSectionType"]] = None, + database_names: Optional[list[str]] = None, + **kwargs: Any + ) -> None: """ - :keyword tier: The pricing tier for the instance. Known values are: "GeneralPurpose" and - "BusinessCritical". - :paramtype tier: str or ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSkuTier - :keyword dev: Whether dev/test is enabled. When the dev field is set to true, the resource is - used for dev/test purpose. - :paramtype dev: bool - :keyword size: The SKU size. When the name field is the combination of tier and some other - value, this would be the standalone code. - :paramtype size: str - :keyword family: The SKU family. - :paramtype family: str - :keyword capacity: The SKU capacity. - :paramtype capacity: int + :keyword report_offset: Zero-based offset indicating where to continue reading reports in the + overall list of reports. Defaults to 0 if not provided. This value must be used together with + the corresponding sectionOffset to resume pagination. The reportOffset advances only after all + sections of the current report have been retrieved. To retrieve subsequent pages, use the + nextReportOffset and nextSectionOffset values from the previous response. + :paramtype report_offset: int + :keyword section_offset: Zero-based offset indicating where to continue reading sections within + the current report. Defaults to 0 if not provided. This value must be used together with the + corresponding reportOffset to resume pagination. To retrieve subsequent pages, use the + nextReportOffset and nextSectionOffset values from the previous response. + :paramtype section_offset: int + :keyword section_type: Filters the report to a specific section type. If not specified, all + section types are returned. Section types are grouped into two categories: requirements + sections contain performance and resource metrics collected from the source SQL Server, while + recommendation sections contain suggested Azure target SKUs derived from those requirements. + Known values are: "RequirementsPerInstance", "RequirementsPerDatabase", + "FileRequirementsPerDatabase", "SqlVmTargetRecommendationPerInstance", + "SqlMiTargetRecommendationPerInstance", and "SqlDbTargetRecommendationPerDatabase". + :paramtype section_type: str or + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType + :keyword database_names: The list of database names to filter the report sections by. If not + specified, sections for all databases are returned. + :paramtype database_names: list[str] """ super().__init__(**kwargs) - self.tier = tier - self.dev = dev - self.size = size - self.family = family - self.capacity = capacity + self.report_offset = report_offset + self.section_offset = section_offset + self.section_type = section_type + self.database_names = database_names + + +class SqlServerInstanceTargetRecommendationReportsResponse(_serialization.Model): # pylint: disable=name-too-long + """Represents the response containing SQL Server Instance target recommendation reports. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar job_status: Represents the status of the latest target recommendation job. Report records + are returned only when the job status is Succeeded. Known values are: "NotStarted", + "InProgress", "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar reports: A collection of target recommendation reports. Returned only when the job status + is Succeeded. + :vartype reports: + list[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReport] + :ivar total_report_count: The total number of target recommendation reports available for + retrieval. Currently, only the latest report is returned, so this value is always 1. + :vartype total_report_count: int + :ivar next_report_offset: The report offset to use in the next request along with + nextSectionOffset to continue retrieving data. This value remains the same until all sections + of the current report have been retrieved. Present only when there is more data to retrieve. + When both nextReportOffset and nextSectionOffset are absent, all data has been returned. + :vartype next_report_offset: int + :ivar next_section_offset: The section offset to use in the next request along with + nextReportOffset to continue retrieving sections of the current report. Present only when there + is more data to retrieve. When both nextReportOffset and nextSectionOffset are absent, all data + has been returned. + :vartype next_section_offset: int + """ + + _validation = { + "job_status": {"readonly": True}, + "reports": {"readonly": True}, + "total_report_count": {"readonly": True}, + "next_report_offset": {"readonly": True}, + "next_section_offset": {"readonly": True}, + } + + _attribute_map = { + "job_status": {"key": "jobStatus", "type": "str"}, + "reports": {"key": "reports", "type": "[SqlServerInstanceTargetRecommendationReport]"}, + "total_report_count": {"key": "totalReportCount", "type": "int"}, + "next_report_offset": {"key": "nextReportOffset", "type": "int"}, + "next_section_offset": {"key": "nextSectionOffset", "type": "int"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.job_status: Optional[Union[str, "_models.JobStatus"]] = None + self.reports: Optional[list["_models.SqlServerInstanceTargetRecommendationReport"]] = None + self.total_report_count: Optional[int] = None + self.next_report_offset: Optional[int] = None + self.next_section_offset: Optional[int] = None -class SqlManagedInstanceUpdate(_serialization.Model): - """An update to a SQL Managed Instance. +class SqlServerInstanceTelemetryColumn(_serialization.Model): + """The telemetry column for the SQL Server instance. - :ivar tags: Resource tags. - :vartype tags: dict[str, str] + :ivar name: The name of the telemetry column. + :vartype name: str + :ivar type: The type of the telemetry column. Known values are: "bool", "datetime", "int", + "long", "double", "string", "guid", and "timespan". + :vartype type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumnType """ _attribute_map = { - "tags": {"key": "tags", "type": "{str}"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, } - def __init__(self, *, tags: Optional[Dict[str, str]] = None, **kwargs): + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[Union[str, "_models.SqlServerInstanceTelemetryColumnType"]] = None, + **kwargs: Any + ) -> None: """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] + :keyword name: The name of the telemetry column. + :paramtype name: str + :keyword type: The type of the telemetry column. Known values are: "bool", "datetime", "int", + "long", "double", "string", "guid", and "timespan". + :paramtype type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumnType """ super().__init__(**kwargs) - self.tags = tags - - -class SqlServerInstance(TrackedResource): - """A SqlServerInstance. - - Variables are only populated by the server, and will be ignored when sending a request. + self.name = name + self.type = type - All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: null. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceProperties +class SqlServerInstanceTelemetryRequest(_serialization.Model): + """The Arc SQL Server instance telemetry retrieval request. + + All required parameters must be populated in order to send to server. + + :ivar dataset_name: The name of the telemetry dataset to retrieve. Required. + :vartype dataset_name: str + :ivar start_time: The start time for the time range to fetch telemetry for. If not specified, + the current time minus 1 hour is used. + :vartype start_time: ~datetime.datetime + :ivar end_time: The end time for the time range to fetch telemetry for. If not specified, the + current time is used. + :vartype end_time: ~datetime.datetime + :ivar interval: The time granularity to fetch telemetry for. This is an ISO8601 duration. + Examples: PT15M, PT1H, P1D. + :vartype interval: ~datetime.timedelta + :ivar aggregation_type: The aggregation type to use for the numerical columns in the dataset. + Known values are: "Average", "Minimum", "Maximum", "Sum", and "Count". + :vartype aggregation_type: str or ~azure.mgmt.azurearcdata.models.AggregationType + :ivar database_names: The list of database names to return telemetry for. If not specified, + telemetry for all databases will be aggregated and returned. + :vartype database_names: list[str] """ _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, + "dataset_name": {"required": True}, } _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "properties": {"key": "properties", "type": "SqlServerInstanceProperties"}, + "dataset_name": {"key": "datasetName", "type": "str"}, + "start_time": {"key": "startTime", "type": "iso-8601"}, + "end_time": {"key": "endTime", "type": "iso-8601"}, + "interval": {"key": "interval", "type": "duration"}, + "aggregation_type": {"key": "aggregationType", "type": "str"}, + "database_names": {"key": "databaseNames", "type": "[str]"}, } def __init__( self, *, - location: str, - tags: Optional[Dict[str, str]] = None, - properties: Optional["_models.SqlServerInstanceProperties"] = None, - **kwargs - ): + dataset_name: str, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + interval: datetime.timedelta = "PT1H", + aggregation_type: Union[str, "_models.AggregationType"] = "Average", + database_names: Optional[list[str]] = None, + **kwargs: Any + ) -> None: """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword properties: null. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceProperties + :keyword dataset_name: The name of the telemetry dataset to retrieve. Required. + :paramtype dataset_name: str + :keyword start_time: The start time for the time range to fetch telemetry for. If not + specified, the current time minus 1 hour is used. + :paramtype start_time: ~datetime.datetime + :keyword end_time: The end time for the time range to fetch telemetry for. If not specified, + the current time is used. + :paramtype end_time: ~datetime.datetime + :keyword interval: The time granularity to fetch telemetry for. This is an ISO8601 duration. + Examples: PT15M, PT1H, P1D. + :paramtype interval: ~datetime.timedelta + :keyword aggregation_type: The aggregation type to use for the numerical columns in the + dataset. Known values are: "Average", "Minimum", "Maximum", "Sum", and "Count". + :paramtype aggregation_type: str or ~azure.mgmt.azurearcdata.models.AggregationType + :keyword database_names: The list of database names to return telemetry for. If not specified, + telemetry for all databases will be aggregated and returned. + :paramtype database_names: list[str] """ - super().__init__(tags=tags, location=location, **kwargs) - self.properties = properties + super().__init__(**kwargs) + self.dataset_name = dataset_name + self.start_time = start_time + self.end_time = end_time + self.interval = interval + self.aggregation_type = aggregation_type + self.database_names = database_names -class SqlServerInstanceListResult(_serialization.Model): - """A list of SqlServerInstance. +class SqlServerInstanceTelemetryResponse(_serialization.Model): + """A section of the telemetry response for the SQL Server instance. Variables are only populated by the server, and will be ignored when sending a request. - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :ivar next_link: Link to retrieve next page of results. + All required parameters must be populated in order to send to server. + + :ivar columns: The columns of the result telemetry table for the SQL Server instance. Required. + :vartype columns: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumn] + :ivar rows: A list of rows from the result telemetry table for the SQL Server instance. + Required. + :vartype rows: list[list[str]] + :ivar next_link: The link to the next section of rows of the telemetry response for the SQL + Server instance. Null if no more sections are available. :vartype next_link: str """ _validation = { - "value": {"readonly": True}, + "columns": {"required": True}, + "rows": {"required": True}, "next_link": {"readonly": True}, } _attribute_map = { - "value": {"key": "value", "type": "[SqlServerInstance]"}, + "columns": {"key": "columns", "type": "[SqlServerInstanceTelemetryColumn]"}, + "rows": {"key": "rows", "type": "[[str]]"}, "next_link": {"key": "nextLink", "type": "str"}, } - def __init__(self, **kwargs): - """ """ + def __init__( + self, *, columns: list["_models.SqlServerInstanceTelemetryColumn"], rows: list[list[str]], **kwargs: Any + ) -> None: + """ + :keyword columns: The columns of the result telemetry table for the SQL Server instance. + Required. + :paramtype columns: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumn] + :keyword rows: A list of rows from the result telemetry table for the SQL Server instance. + Required. + :paramtype rows: list[list[str]] + """ super().__init__(**kwargs) - self.value = None - self.next_link = None + self.columns = columns + self.rows = rows + self.next_link: Optional[str] = None -class SqlServerInstanceProperties(_serialization.Model): # pylint: disable=too-many-instance-attributes - """Properties of SqlServerInstance. +class SqlServerInstanceUpdate(_serialization.Model): + """An update to a SQL Server Instance. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: null. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdateProperties + """ + + _attribute_map = { + "tags": {"key": "tags", "type": "{str}"}, + "properties": {"key": "properties", "type": "SqlServerInstanceUpdateProperties"}, + } + + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerInstanceUpdateProperties"] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword properties: null. + :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdateProperties + """ + super().__init__(**kwargs) + self.tags = tags + self.properties = properties - Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. +class SqlServerInstanceUpdateProperties(_serialization.Model): + """Properties of update SqlServerInstance. + + Variables are only populated by the server, and will be ignored when sending a request. - :ivar version: SQL Server version. Known values are: "SQL Server 2012", "SQL Server 2014", "SQL - Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and "Unknown". + :ivar version: SQL Server version. Known values are: "Unknown", "SQL Server 2012", "SQL Server + 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and "SQL + Server 2025". :vartype version: str or ~azure.mgmt.azurearcdata.models.SqlVersion :ivar edition: SQL Server edition. Known values are: "Evaluation", "Enterprise", "Standard", - "Web", "Developer", and "Express". + "Web", "Developer", "Express", "Business Intelligence", "Standard Developer", and "Unknown". :vartype edition: str or ~azure.mgmt.azurearcdata.models.EditionType :ivar container_resource_id: ARM Resource id of the container resource (Azure Arc for Servers). - Required. :vartype container_resource_id: str + :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. + :vartype vm_id: str :ivar create_time: The time when the resource was created. :vartype create_time: str :ivar v_core: The number of logical processors used by the SQL Server instance. :vartype v_core: str - :ivar status: The cloud connectivity status. Required. Known values are: "Connected", - "Disconnected", "Registered", and "Unknown". + :ivar cores: The number of total cores of the Operating System Environment (OSE) hosting the + SQL Server instance. + :vartype cores: str + :ivar status: The cloud connectivity status. Known values are: "Connected", "Disconnected", + "Registered", "Discovered", and "Unknown". :vartype status: str or ~azure.mgmt.azurearcdata.models.ConnectionStatus + :ivar discovery_source: Indicates the discovery agent or client for this instance. Default is + Azure Arc. Known values are: "Azure Arc", "Azure Migrate", "ADS", "SSMS", "SSMA", "Import", + "DMS-Portal", "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". + :vartype discovery_source: str or ~azure.mgmt.azurearcdata.models.DiscoverySource :ivar patch_level: SQL Server update level. :vartype patch_level: str :ivar collation: SQL Server collation. :vartype collation: str + :ivar db_master_key_exists: Indicates whether database master key exists in SQL Server. + :vartype db_master_key_exists: bool + :ivar is_hadr_enabled: Indicates whether always On availability groups is enabled in SQL + Server. + :vartype is_hadr_enabled: bool + :ivar trace_flags: An array of integers, where each value represents the enabled trace flags in + SQL Server. + :vartype trace_flags: list[int] :ivar current_version: SQL Server current version. :vartype current_version: str :ivar instance_name: SQL Server instance name. @@ -2218,7 +8972,7 @@ class SqlServerInstanceProperties(_serialization.Model): # pylint: disable=too- :ivar product_id: SQL Server product ID. :vartype product_id: str :ivar license_type: SQL Server license type. Known values are: "Undefined", "Free", "HADR", - "ServerCAL", "LicenseOnly", "PAYG", and "Paid". + "ServerCAL", "LicenseOnly", "PAYG", "Paid", and "FabricCapacity". :vartype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerLicenseType :ivar azure_defender_status_last_updated: Timestamp of last Azure Defender status update. :vartype azure_defender_status_last_updated: ~datetime.datetime @@ -2227,30 +8981,93 @@ class SqlServerInstanceProperties(_serialization.Model): # pylint: disable=too- :vartype azure_defender_status: str or ~azure.mgmt.azurearcdata.models.DefenderStatus :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server resource. :vartype provisioning_state: str + :ivar last_inventory_upload_time: The time when last successful inventory upload was performed. + :vartype last_inventory_upload_time: ~datetime.datetime + :ivar last_usage_upload_time: The time when last successful usage upload was performed. + :vartype last_usage_upload_time: ~datetime.datetime :ivar host_type: Type of host for Azure Arc SQL Server. Known values are: "Azure Virtual Machine", "Azure VMWare Virtual Machine", "Azure Kubernetes Service", "AWS VMWare Virtual Machine", "AWS Kubernetes Service", "GCP VMWare Virtual Machine", "GCP Kubernetes Service", "Container", "Virtual Machine", "Physical Server", "AWS Virtual Machine", "GCP Virtual - Machine", and "Other". + Machine", "Hyper-V Virtual Machine", and "Other". :vartype host_type: str or ~azure.mgmt.azurearcdata.models.HostType + :ivar always_on_role: The role of the SQL Server, based on availability. Known values are: + "None", "FailoverClusterInstance", "FailoverClusterNode", and "AvailabilityGroupReplica". + :vartype always_on_role: str or ~azure.mgmt.azurearcdata.models.AlwaysOnRole + :ivar failover_cluster: Failover Cluster Instance properties. + :vartype failover_cluster: ~azure.mgmt.azurearcdata.models.FailoverCluster + :ivar backup_policy: The backup profile for the SQL server. + :vartype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy + :ivar upgrade_locked_until: Upgrade Action for this resource is locked until it expires. The + Expiration time indicated by this value. It is not locked when it is empty. + :vartype upgrade_locked_until: ~datetime.datetime + :ivar monitoring: The monitoring configuration. + :vartype monitoring: ~azure.mgmt.azurearcdata.models.Monitoring + :ivar migration: Migration related configuration. + :vartype migration: ~azure.mgmt.azurearcdata.models.Migration + :ivar best_practices_assessment: The configuration related to SQL best practices assessment. + :vartype best_practices_assessment: ~azure.mgmt.azurearcdata.models.BestPracticesAssessment + :ivar client_connection: Client connection related configuration. + :vartype client_connection: ~azure.mgmt.azurearcdata.models.ClientConnection + :ivar service_type: Indicates if the resource represents a SQL Server engine or a SQL Server + component service installed on the host. Known values are: "Engine", "SSRS", "SSAS", "SSIS", + and "PBIRS". + :vartype service_type: str or ~azure.mgmt.azurearcdata.models.ServiceType + :ivar authentication: Authentication related configuration for the SQL Server Instance. + :vartype authentication: ~azure.mgmt.azurearcdata.models.Authentication + :ivar database_mirroring_endpoint: Database mirroring endpoint related properties. + :vartype database_mirroring_endpoint: ~azure.mgmt.azurearcdata.models.DBMEndpoint + :ivar is_microsoft_pki_cert_trust_configured: Indicates whether Microsoft PKI root-authority + certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net + domains. + :vartype is_microsoft_pki_cert_trust_configured: bool + :ivar is_digi_cert_pki_cert_trust_configured: Indicates whether DigiCert PKI root-authority + certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net + domains. + :vartype is_digi_cert_pki_cert_trust_configured: bool + :ivar max_server_memory_mb: maximum server memory (MB) value configured for this instance. + :vartype max_server_memory_mb: int """ _validation = { - "container_resource_id": {"required": True}, + "container_resource_id": {"readonly": True}, + "vm_id": {"readonly": True}, "create_time": {"readonly": True}, - "status": {"required": True}, + "v_core": {"readonly": True}, + "status": {"readonly": True}, + "patch_level": {"readonly": True}, + "collation": {"readonly": True}, + "db_master_key_exists": {"readonly": True}, + "is_hadr_enabled": {"readonly": True}, + "trace_flags": {"readonly": True}, + "current_version": {"readonly": True}, + "tcp_dynamic_ports": {"readonly": True}, + "tcp_static_ports": {"readonly": True}, + "product_id": {"readonly": True}, + "license_type": {"readonly": True}, + "azure_defender_status_last_updated": {"readonly": True}, + "azure_defender_status": {"readonly": True}, "provisioning_state": {"readonly": True}, + "last_inventory_upload_time": {"readonly": True}, + "last_usage_upload_time": {"readonly": True}, + "always_on_role": {"readonly": True}, } _attribute_map = { "version": {"key": "version", "type": "str"}, "edition": {"key": "edition", "type": "str"}, "container_resource_id": {"key": "containerResourceId", "type": "str"}, + "vm_id": {"key": "vmId", "type": "str"}, "create_time": {"key": "createTime", "type": "str"}, "v_core": {"key": "vCore", "type": "str"}, + "cores": {"key": "cores", "type": "str"}, "status": {"key": "status", "type": "str"}, + "discovery_source": {"key": "discoverySource", "type": "str"}, "patch_level": {"key": "patchLevel", "type": "str"}, "collation": {"key": "collation", "type": "str"}, + "db_master_key_exists": {"key": "dbMasterKeyExists", "type": "bool"}, + "is_hadr_enabled": {"key": "isHadrEnabled", "type": "bool"}, + "trace_flags": {"key": "traceFlags", "type": "[int]"}, "current_version": {"key": "currentVersion", "type": "str"}, "instance_name": {"key": "instanceName", "type": "str"}, "tcp_dynamic_ports": {"key": "tcpDynamicPorts", "type": "str"}, @@ -2260,113 +9077,440 @@ class SqlServerInstanceProperties(_serialization.Model): # pylint: disable=too- "azure_defender_status_last_updated": {"key": "azureDefenderStatusLastUpdated", "type": "iso-8601"}, "azure_defender_status": {"key": "azureDefenderStatus", "type": "str"}, "provisioning_state": {"key": "provisioningState", "type": "str"}, + "last_inventory_upload_time": {"key": "lastInventoryUploadTime", "type": "iso-8601"}, + "last_usage_upload_time": {"key": "lastUsageUploadTime", "type": "iso-8601"}, "host_type": {"key": "hostType", "type": "str"}, + "always_on_role": {"key": "alwaysOnRole", "type": "str"}, + "failover_cluster": {"key": "failoverCluster", "type": "FailoverCluster"}, + "backup_policy": {"key": "backupPolicy", "type": "BackupPolicy"}, + "upgrade_locked_until": {"key": "upgradeLockedUntil", "type": "iso-8601"}, + "monitoring": {"key": "monitoring", "type": "Monitoring"}, + "migration": {"key": "migration", "type": "Migration"}, + "best_practices_assessment": {"key": "bestPracticesAssessment", "type": "BestPracticesAssessment"}, + "client_connection": {"key": "clientConnection", "type": "ClientConnection"}, + "service_type": {"key": "serviceType", "type": "str"}, + "authentication": {"key": "authentication", "type": "Authentication"}, + "database_mirroring_endpoint": {"key": "databaseMirroringEndpoint", "type": "DBMEndpoint"}, + "is_microsoft_pki_cert_trust_configured": {"key": "isMicrosoftPkiCertTrustConfigured", "type": "bool"}, + "is_digi_cert_pki_cert_trust_configured": {"key": "isDigiCertPkiCertTrustConfigured", "type": "bool"}, + "max_server_memory_mb": {"key": "maxServerMemoryMB", "type": "int"}, } - def __init__( + def __init__( # pylint: disable=too-many-locals self, *, - container_resource_id: str, - status: Union[str, "_models.ConnectionStatus"], version: Optional[Union[str, "_models.SqlVersion"]] = None, edition: Optional[Union[str, "_models.EditionType"]] = None, - v_core: Optional[str] = None, - patch_level: Optional[str] = None, - collation: Optional[str] = None, - current_version: Optional[str] = None, + cores: Optional[str] = None, + discovery_source: Optional[Union[str, "_models.DiscoverySource"]] = None, instance_name: Optional[str] = None, - tcp_dynamic_ports: Optional[str] = None, - tcp_static_ports: Optional[str] = None, - product_id: Optional[str] = None, - license_type: Optional[Union[str, "_models.ArcSqlServerLicenseType"]] = None, - azure_defender_status_last_updated: Optional[datetime.datetime] = None, - azure_defender_status: Optional[Union[str, "_models.DefenderStatus"]] = None, host_type: Optional[Union[str, "_models.HostType"]] = None, - **kwargs - ): + failover_cluster: Optional["_models.FailoverCluster"] = None, + backup_policy: Optional["_models.BackupPolicy"] = None, + upgrade_locked_until: Optional[datetime.datetime] = None, + monitoring: Optional["_models.Monitoring"] = None, + migration: Optional["_models.Migration"] = None, + best_practices_assessment: Optional["_models.BestPracticesAssessment"] = None, + client_connection: Optional["_models.ClientConnection"] = None, + service_type: Optional[Union[str, "_models.ServiceType"]] = None, + authentication: Optional["_models.Authentication"] = None, + database_mirroring_endpoint: Optional["_models.DBMEndpoint"] = None, + is_microsoft_pki_cert_trust_configured: Optional[bool] = None, + is_digi_cert_pki_cert_trust_configured: Optional[bool] = None, + max_server_memory_mb: Optional[int] = None, + **kwargs: Any + ) -> None: """ - :keyword version: SQL Server version. Known values are: "SQL Server 2012", "SQL Server 2014", - "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and "Unknown". + :keyword version: SQL Server version. Known values are: "Unknown", "SQL Server 2012", "SQL + Server 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and + "SQL Server 2025". :paramtype version: str or ~azure.mgmt.azurearcdata.models.SqlVersion :keyword edition: SQL Server edition. Known values are: "Evaluation", "Enterprise", "Standard", - "Web", "Developer", and "Express". + "Web", "Developer", "Express", "Business Intelligence", "Standard Developer", and "Unknown". :paramtype edition: str or ~azure.mgmt.azurearcdata.models.EditionType - :keyword container_resource_id: ARM Resource id of the container resource (Azure Arc for - Servers). Required. - :paramtype container_resource_id: str - :keyword v_core: The number of logical processors used by the SQL Server instance. - :paramtype v_core: str - :keyword status: The cloud connectivity status. Required. Known values are: "Connected", - "Disconnected", "Registered", and "Unknown". - :paramtype status: str or ~azure.mgmt.azurearcdata.models.ConnectionStatus - :keyword patch_level: SQL Server update level. - :paramtype patch_level: str - :keyword collation: SQL Server collation. - :paramtype collation: str - :keyword current_version: SQL Server current version. - :paramtype current_version: str + :keyword cores: The number of total cores of the Operating System Environment (OSE) hosting the + SQL Server instance. + :paramtype cores: str + :keyword discovery_source: Indicates the discovery agent or client for this instance. Default + is Azure Arc. Known values are: "Azure Arc", "Azure Migrate", "ADS", "SSMS", "SSMA", "Import", + "DMS-Portal", "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". + :paramtype discovery_source: str or ~azure.mgmt.azurearcdata.models.DiscoverySource :keyword instance_name: SQL Server instance name. :paramtype instance_name: str - :keyword tcp_dynamic_ports: Dynamic TCP ports used by SQL Server. - :paramtype tcp_dynamic_ports: str - :keyword tcp_static_ports: Static TCP ports used by SQL Server. - :paramtype tcp_static_ports: str - :keyword product_id: SQL Server product ID. - :paramtype product_id: str - :keyword license_type: SQL Server license type. Known values are: "Undefined", "Free", "HADR", - "ServerCAL", "LicenseOnly", "PAYG", and "Paid". - :paramtype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerLicenseType - :keyword azure_defender_status_last_updated: Timestamp of last Azure Defender status update. - :paramtype azure_defender_status_last_updated: ~datetime.datetime - :keyword azure_defender_status: Status of Azure Defender. Known values are: "Protected", - "Unprotected", and "Unknown". - :paramtype azure_defender_status: str or ~azure.mgmt.azurearcdata.models.DefenderStatus :keyword host_type: Type of host for Azure Arc SQL Server. Known values are: "Azure Virtual Machine", "Azure VMWare Virtual Machine", "Azure Kubernetes Service", "AWS VMWare Virtual Machine", "AWS Kubernetes Service", "GCP VMWare Virtual Machine", "GCP Kubernetes Service", "Container", "Virtual Machine", "Physical Server", "AWS Virtual Machine", "GCP Virtual - Machine", and "Other". + Machine", "Hyper-V Virtual Machine", and "Other". :paramtype host_type: str or ~azure.mgmt.azurearcdata.models.HostType + :keyword failover_cluster: Failover Cluster Instance properties. + :paramtype failover_cluster: ~azure.mgmt.azurearcdata.models.FailoverCluster + :keyword backup_policy: The backup profile for the SQL server. + :paramtype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy + :keyword upgrade_locked_until: Upgrade Action for this resource is locked until it expires. The + Expiration time indicated by this value. It is not locked when it is empty. + :paramtype upgrade_locked_until: ~datetime.datetime + :keyword monitoring: The monitoring configuration. + :paramtype monitoring: ~azure.mgmt.azurearcdata.models.Monitoring + :keyword migration: Migration related configuration. + :paramtype migration: ~azure.mgmt.azurearcdata.models.Migration + :keyword best_practices_assessment: The configuration related to SQL best practices assessment. + :paramtype best_practices_assessment: ~azure.mgmt.azurearcdata.models.BestPracticesAssessment + :keyword client_connection: Client connection related configuration. + :paramtype client_connection: ~azure.mgmt.azurearcdata.models.ClientConnection + :keyword service_type: Indicates if the resource represents a SQL Server engine or a SQL Server + component service installed on the host. Known values are: "Engine", "SSRS", "SSAS", "SSIS", + and "PBIRS". + :paramtype service_type: str or ~azure.mgmt.azurearcdata.models.ServiceType + :keyword authentication: Authentication related configuration for the SQL Server Instance. + :paramtype authentication: ~azure.mgmt.azurearcdata.models.Authentication + :keyword database_mirroring_endpoint: Database mirroring endpoint related properties. + :paramtype database_mirroring_endpoint: ~azure.mgmt.azurearcdata.models.DBMEndpoint + :keyword is_microsoft_pki_cert_trust_configured: Indicates whether Microsoft PKI root-authority + certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net + domains. + :paramtype is_microsoft_pki_cert_trust_configured: bool + :keyword is_digi_cert_pki_cert_trust_configured: Indicates whether DigiCert PKI root-authority + certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net + domains. + :paramtype is_digi_cert_pki_cert_trust_configured: bool + :keyword max_server_memory_mb: maximum server memory (MB) value configured for this instance. + :paramtype max_server_memory_mb: int """ super().__init__(**kwargs) self.version = version self.edition = edition - self.container_resource_id = container_resource_id - self.create_time = None - self.v_core = v_core - self.status = status - self.patch_level = patch_level - self.collation = collation - self.current_version = current_version + self.container_resource_id: Optional[str] = None + self.vm_id: Optional[str] = None + self.create_time: Optional[str] = None + self.v_core: Optional[str] = None + self.cores = cores + self.status: Optional[Union[str, "_models.ConnectionStatus"]] = None + self.discovery_source = discovery_source + self.patch_level: Optional[str] = None + self.collation: Optional[str] = None + self.db_master_key_exists: Optional[bool] = None + self.is_hadr_enabled: Optional[bool] = None + self.trace_flags: Optional[list[int]] = None + self.current_version: Optional[str] = None self.instance_name = instance_name - self.tcp_dynamic_ports = tcp_dynamic_ports - self.tcp_static_ports = tcp_static_ports - self.product_id = product_id - self.license_type = license_type - self.azure_defender_status_last_updated = azure_defender_status_last_updated - self.azure_defender_status = azure_defender_status - self.provisioning_state = None + self.tcp_dynamic_ports: Optional[str] = None + self.tcp_static_ports: Optional[str] = None + self.product_id: Optional[str] = None + self.license_type: Optional[Union[str, "_models.ArcSqlServerLicenseType"]] = None + self.azure_defender_status_last_updated: Optional[datetime.datetime] = None + self.azure_defender_status: Optional[Union[str, "_models.DefenderStatus"]] = None + self.provisioning_state: Optional[str] = None + self.last_inventory_upload_time: Optional[datetime.datetime] = None + self.last_usage_upload_time: Optional[datetime.datetime] = None self.host_type = host_type + self.always_on_role: Optional[Union[str, "_models.AlwaysOnRole"]] = None + self.failover_cluster = failover_cluster + self.backup_policy = backup_policy + self.upgrade_locked_until = upgrade_locked_until + self.monitoring = monitoring + self.migration = migration + self.best_practices_assessment = best_practices_assessment + self.client_connection = client_connection + self.service_type = service_type + self.authentication = authentication + self.database_mirroring_endpoint = database_mirroring_endpoint + self.is_microsoft_pki_cert_trust_configured = is_microsoft_pki_cert_trust_configured + self.is_digi_cert_pki_cert_trust_configured = is_digi_cert_pki_cert_trust_configured + self.max_server_memory_mb = max_server_memory_mb + + +class SqlServerLicense(TrackedResource): + """Describe SQL Server license resource. + Variables are only populated by the server, and will be ignored when sending a request. -class SqlServerInstanceUpdate(_serialization.Model): - """An update to a SQL Server Instance. + All required parameters must be populated in order to send to server. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: SQL Server license properties. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerLicenseProperties + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "location": {"required": True}, + "properties": {"required": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + "tags": {"key": "tags", "type": "{str}"}, + "location": {"key": "location", "type": "str"}, + "properties": {"key": "properties", "type": "SqlServerLicenseProperties"}, + } + + def __init__( + self, + *, + location: str, + properties: "_models.SqlServerLicenseProperties", + tags: Optional[dict[str, str]] = None, + **kwargs: Any + ) -> None: + """ + :keyword tags: Resource tags. + :paramtype tags: dict[str, str] + :keyword location: The geo-location where the resource lives. Required. + :paramtype location: str + :keyword properties: SQL Server license properties. Required. + :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerLicenseProperties + """ + super().__init__(tags=tags, location=location, **kwargs) + self.properties = properties + + +class SqlServerLicenseListResult(_serialization.Model): + """A list of SQL Server licenses. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Array of results. + :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerLicense] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + _validation = { + "value": {"readonly": True}, + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[SqlServerLicense]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.value: Optional[list["_models.SqlServerLicense"]] = None + self.next_link: Optional[str] = None + + +class SqlServerLicenseProperties(_serialization.Model): + """Properties of SQL Server License. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar billing_plan: SQL Server license type. Required. Known values are: "PAYG" and "Paid". + :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :ivar physical_cores: The number of total cores of the license covers. Required. + :vartype physical_cores: int + :ivar license_category: This property represents the choice between SQL Server Core and ESU + licenses. Required. "Core" + :vartype license_category: str or ~azure.mgmt.azurearcdata.models.LicenseCategory + :ivar activation_state: The activation state of the license. Required. Known values are: + "Activated" and "Deactivated". + :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.ActivationState + :ivar scope_type: The Azure scope to which the license will apply. Required. Known values are: + "Tenant", "Subscription", and "ResourceGroup". + :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + :ivar last_activated_at: The timestamp of the most recent activation of the SqlServerLicense. + :vartype last_activated_at: ~datetime.datetime + :ivar last_deactivated_at: The timestamp of the most recent deactivation of the + SqlServerLicense. + :vartype last_deactivated_at: ~datetime.datetime + :ivar tenant_id: The tenantId the SQL Server license resource subscription resides in. + :vartype tenant_id: str + """ + + _validation = { + "billing_plan": {"required": True}, + "physical_cores": {"required": True, "minimum": 16, "multiple": 2}, + "license_category": {"required": True}, + "activation_state": {"required": True}, + "scope_type": {"required": True}, + "last_activated_at": {"readonly": True}, + "last_deactivated_at": {"readonly": True}, + "tenant_id": {"readonly": True}, + } + + _attribute_map = { + "billing_plan": {"key": "billingPlan", "type": "str"}, + "physical_cores": {"key": "physicalCores", "type": "int"}, + "license_category": {"key": "licenseCategory", "type": "str"}, + "activation_state": {"key": "activationState", "type": "str"}, + "scope_type": {"key": "scopeType", "type": "str"}, + "last_activated_at": {"key": "lastActivatedAt", "type": "iso-8601"}, + "last_deactivated_at": {"key": "lastDeactivatedAt", "type": "iso-8601"}, + "tenant_id": {"key": "tenantId", "type": "str"}, + } + + def __init__( + self, + *, + billing_plan: Union[str, "_models.BillingPlan"], + physical_cores: int, + license_category: Union[str, "_models.LicenseCategory"], + activation_state: Union[str, "_models.ActivationState"], + scope_type: Union[str, "_models.ScopeType"], + **kwargs: Any + ) -> None: + """ + :keyword billing_plan: SQL Server license type. Required. Known values are: "PAYG" and "Paid". + :paramtype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :keyword physical_cores: The number of total cores of the license covers. Required. + :paramtype physical_cores: int + :keyword license_category: This property represents the choice between SQL Server Core and ESU + licenses. Required. "Core" + :paramtype license_category: str or ~azure.mgmt.azurearcdata.models.LicenseCategory + :keyword activation_state: The activation state of the license. Required. Known values are: + "Activated" and "Deactivated". + :paramtype activation_state: str or ~azure.mgmt.azurearcdata.models.ActivationState + :keyword scope_type: The Azure scope to which the license will apply. Required. Known values + are: "Tenant", "Subscription", and "ResourceGroup". + :paramtype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + """ + super().__init__(**kwargs) + self.billing_plan = billing_plan + self.physical_cores = physical_cores + self.license_category = license_category + self.activation_state = activation_state + self.scope_type = scope_type + self.last_activated_at: Optional[datetime.datetime] = None + self.last_deactivated_at: Optional[datetime.datetime] = None + self.tenant_id: Optional[str] = None + + +class SqlServerLicenseUpdate(_serialization.Model): + """An update to a SQL Server license resource. :ivar tags: Resource tags. :vartype tags: dict[str, str] + :ivar properties: null. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdateProperties """ _attribute_map = { "tags": {"key": "tags", "type": "{str}"}, + "properties": {"key": "properties", "type": "SqlServerLicenseUpdateProperties"}, } - def __init__(self, *, tags: Optional[Dict[str, str]] = None, **kwargs): + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerLicenseUpdateProperties"] = None, + **kwargs: Any + ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] + :keyword properties: null. + :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdateProperties """ super().__init__(**kwargs) self.tags = tags + self.properties = properties + + +class SqlServerLicenseUpdateProperties(_serialization.Model): + """Properties of update SqlServerLicense. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar billing_plan: SQL Server license type. Known values are: "PAYG" and "Paid". + :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :ivar physical_cores: The number of total cores of the license covers. + :vartype physical_cores: int + :ivar license_category: This property represents the choice between SQL Server Core and ESU + licenses. "Core" + :vartype license_category: str or ~azure.mgmt.azurearcdata.models.LicenseCategory + :ivar activation_state: The activation state of the license. Known values are: "Activated" and + "Deactivated". + :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.ActivationState + :ivar scope_type: The Azure scope to which the license will apply. Known values are: "Tenant", + "Subscription", and "ResourceGroup". + :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + :ivar last_activated_at: The timestamp of the most recent activation of the SqlServerLicense. + :vartype last_activated_at: ~datetime.datetime + :ivar last_deactivated_at: The timestamp of the most recent deactivation of the + SqlServerLicense. + :vartype last_deactivated_at: ~datetime.datetime + :ivar tenant_id: The tenantId the SQL Server license resource subscription resides in. + :vartype tenant_id: str + """ + + _validation = { + "physical_cores": {"minimum": 16, "multiple": 2}, + "last_activated_at": {"readonly": True}, + "last_deactivated_at": {"readonly": True}, + "tenant_id": {"readonly": True}, + } + + _attribute_map = { + "billing_plan": {"key": "billingPlan", "type": "str"}, + "physical_cores": {"key": "physicalCores", "type": "int"}, + "license_category": {"key": "licenseCategory", "type": "str"}, + "activation_state": {"key": "activationState", "type": "str"}, + "scope_type": {"key": "scopeType", "type": "str"}, + "last_activated_at": {"key": "lastActivatedAt", "type": "iso-8601"}, + "last_deactivated_at": {"key": "lastDeactivatedAt", "type": "iso-8601"}, + "tenant_id": {"key": "tenantId", "type": "str"}, + } + + def __init__( + self, + *, + billing_plan: Optional[Union[str, "_models.BillingPlan"]] = None, + physical_cores: Optional[int] = None, + license_category: Optional[Union[str, "_models.LicenseCategory"]] = None, + activation_state: Optional[Union[str, "_models.ActivationState"]] = None, + scope_type: Optional[Union[str, "_models.ScopeType"]] = None, + **kwargs: Any + ) -> None: + """ + :keyword billing_plan: SQL Server license type. Known values are: "PAYG" and "Paid". + :paramtype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :keyword physical_cores: The number of total cores of the license covers. + :paramtype physical_cores: int + :keyword license_category: This property represents the choice between SQL Server Core and ESU + licenses. "Core" + :paramtype license_category: str or ~azure.mgmt.azurearcdata.models.LicenseCategory + :keyword activation_state: The activation state of the license. Known values are: "Activated" + and "Deactivated". + :paramtype activation_state: str or ~azure.mgmt.azurearcdata.models.ActivationState + :keyword scope_type: The Azure scope to which the license will apply. Known values are: + "Tenant", "Subscription", and "ResourceGroup". + :paramtype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + """ + super().__init__(**kwargs) + self.billing_plan = billing_plan + self.physical_cores = physical_cores + self.license_category = license_category + self.activation_state = activation_state + self.scope_type = scope_type + self.last_activated_at: Optional[datetime.datetime] = None + self.last_deactivated_at: Optional[datetime.datetime] = None + self.tenant_id: Optional[str] = None class SystemData(_serialization.Model): @@ -2406,8 +9550,8 @@ def __init__( last_modified_by: Optional[str] = None, last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None, last_modified_at: Optional[datetime.datetime] = None, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword created_by: The identity that created the resource. :paramtype created_by: str @@ -2433,6 +9577,45 @@ def __init__( self.last_modified_at = last_modified_at +class TargetReadiness(_serialization.Model): + """The target readiness for migration for this database. + + :ivar azure_sql_database: The SKU recommendation summary. + :vartype azure_sql_database: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary + :ivar azure_sql_managed_instance: The SKU recommendation summary. + :vartype azure_sql_managed_instance: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary + :ivar azure_sql_virtual_machine: The SKU recommendation summary. + :vartype azure_sql_virtual_machine: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary + """ + + _attribute_map = { + "azure_sql_database": {"key": "azureSqlDatabase", "type": "SkuRecommendationSummary"}, + "azure_sql_managed_instance": {"key": "azureSqlManagedInstance", "type": "SkuRecommendationSummary"}, + "azure_sql_virtual_machine": {"key": "azureSqlVirtualMachine", "type": "SkuRecommendationSummary"}, + } + + def __init__( + self, + *, + azure_sql_database: Optional["_models.SkuRecommendationSummary"] = None, + azure_sql_managed_instance: Optional["_models.SkuRecommendationSummary"] = None, + azure_sql_virtual_machine: Optional["_models.SkuRecommendationSummary"] = None, + **kwargs: Any + ) -> None: + """ + :keyword azure_sql_database: The SKU recommendation summary. + :paramtype azure_sql_database: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary + :keyword azure_sql_managed_instance: The SKU recommendation summary. + :paramtype azure_sql_managed_instance: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary + :keyword azure_sql_virtual_machine: The SKU recommendation summary. + :paramtype azure_sql_virtual_machine: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary + """ + super().__init__(**kwargs) + self.azure_sql_database = azure_sql_database + self.azure_sql_managed_instance = azure_sql_managed_instance + self.azure_sql_virtual_machine = azure_sql_virtual_machine + + class UploadServicePrincipal(_serialization.Model): """Service principal for uploading billing, metrics and logs. @@ -2461,8 +9644,8 @@ def __init__( tenant_id: Optional[str] = None, authority: Optional[str] = None, client_secret: Optional[str] = None, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword client_id: Client ID of the service principal for uploading data. :paramtype client_id: str @@ -2506,8 +9689,8 @@ def __init__( metrics: Optional[datetime.datetime] = None, logs: Optional[datetime.datetime] = None, usages: Optional[datetime.datetime] = None, - **kwargs - ): + **kwargs: Any + ) -> None: """ :keyword metrics: Last uploaded date for metrics from kubernetes cluster. Defaults to current date time. diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/__init__.py index 86245dd95097..932bd07931c2 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/__init__.py @@ -5,25 +5,41 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +# pylint: disable=wrong-import-position -from ._operations import Operations -from ._sql_managed_instances_operations import SqlManagedInstancesOperations -from ._sql_server_instances_operations import SqlServerInstancesOperations -from ._data_controllers_operations import DataControllersOperations -from ._active_directory_connectors_operations import ActiveDirectoryConnectorsOperations -from ._postgres_instances_operations import PostgresInstancesOperations +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._patch import * # pylint: disable=unused-wildcard-import + +from ._operations import Operations # type: ignore +from ._sql_managed_instances_operations import SqlManagedInstancesOperations # type: ignore +from ._failover_groups_operations import FailoverGroupsOperations # type: ignore +from ._sql_server_instances_operations import SqlServerInstancesOperations # type: ignore +from ._sql_server_licenses_operations import SqlServerLicensesOperations # type: ignore +from ._data_controllers_operations import DataControllersOperations # type: ignore +from ._active_directory_connectors_operations import ActiveDirectoryConnectorsOperations # type: ignore +from ._postgres_instances_operations import PostgresInstancesOperations # type: ignore +from ._sql_server_availability_groups_operations import SqlServerAvailabilityGroupsOperations # type: ignore +from ._sql_server_databases_operations import SqlServerDatabasesOperations # type: ignore +from ._sql_server_esu_licenses_operations import SqlServerEsuLicensesOperations # type: ignore from ._patch import __all__ as _patch_all -from ._patch import * # pylint: disable=unused-wildcard-import +from ._patch import * from ._patch import patch_sdk as _patch_sdk __all__ = [ "Operations", "SqlManagedInstancesOperations", + "FailoverGroupsOperations", "SqlServerInstancesOperations", + "SqlServerLicensesOperations", "DataControllersOperations", "ActiveDirectoryConnectorsOperations", "PostgresInstancesOperations", + "SqlServerAvailabilityGroupsOperations", + "SqlServerDatabasesOperations", + "SqlServerEsuLicensesOperations", ] -__all__.extend([p for p in _patch_all if p not in __all__]) +__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore _patch_sdk() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_active_directory_connectors_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_active_directory_connectors_operations.py index 0832fa65bb97..8337ef76e1f5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_active_directory_connectors_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_active_directory_connectors_operations.py @@ -1,4 +1,4 @@ -# pylint: disable=too-many-lines +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,38 +6,38 @@ # 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, IO, Iterable, Optional, TypeVar, Union, cast, overload +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse +from azure.core import PipelineClient from azure.core.exceptions import ( ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest +from azure.core.rest import HttpRequest, HttpResponse from azure.core.tracing.decorator import distributed_trace from azure.core.utils import case_insensitive_dict from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling from .. import models as _models -from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -49,23 +49,21 @@ def build_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors", - ) # 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"), "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -86,9 +84,7 @@ def build_create_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -96,7 +92,7 @@ def build_create_request( _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}", - ) # 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"), @@ -106,7 +102,7 @@ def build_create_request( ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -129,16 +125,14 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}", - ) # 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"), @@ -148,7 +142,7 @@ def build_delete_request( ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -169,16 +163,14 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}", - ) # 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"), @@ -188,7 +180,7 @@ def build_get_request( ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -211,17 +203,19 @@ class ActiveDirectoryConnectorsOperations: models = _models - def __init__(self, *args, **kwargs): + 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") + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace def list( self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> Iterable["_models.ActiveDirectoryConnectorResource"]: + ) -> ItemPaged["_models.ActiveDirectoryConnectorResource"]: """List the active directory connectors associated with the given data controller. List the active directory connectors associated with the given data controller. @@ -230,7 +224,6 @@ def list( :type resource_group_name: str :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ActiveDirectoryConnectorResource or the result of cls(response) :rtype: @@ -240,12 +233,10 @@ def list( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.ActiveDirectoryConnectorListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -256,17 +247,15 @@ def list( def prepare_request(next_link=None): if not next_link: - request = build_list_request( + _request = build_list_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -278,13 +267,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request def extract_data(pipeline_response): deserialized = self._deserialize("ActiveDirectoryConnectorListResult", pipeline_response) @@ -294,35 +282,35 @@ def extract_data(pipeline_response): return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged(get_next, extract_data) - list.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors" - } - def _create_initial( self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, - active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO], + active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO[bytes]], **kwargs: Any - ) -> _models.ActiveDirectoryConnectorResource: - error_map = { + ) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -333,21 +321,19 @@ def _create_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.ActiveDirectoryConnectorResource] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(active_directory_connector_resource, (IO, bytes)): + if isinstance(active_directory_connector_resource, (IOBase, bytes)): _content = active_directory_connector_resource else: _json = self._serialize.body(active_directory_connector_resource, "ActiveDirectoryConnectorResource") - request = build_create_request( + _request = build_create_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, active_directory_connector_name=active_directory_connector_name, @@ -356,39 +342,38 @@ def _create_initial( content_type=content_type, json=_json, content=_content, - template_url=self._create_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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("ActiveDirectoryConnectorResource", pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - _create_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" - } - @overload def begin_create( self, @@ -415,14 +400,6 @@ def begin_create( :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 ActiveDirectoryConnectorResource or the result of cls(response) :rtype: @@ -436,7 +413,7 @@ def begin_create( resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, - active_directory_connector_resource: IO, + active_directory_connector_resource: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -451,18 +428,10 @@ def begin_create( Required. :type active_directory_connector_name: str :param active_directory_connector_resource: desc. Required. - :type active_directory_connector_resource: IO + :type active_directory_connector_resource: IO[bytes] :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 ActiveDirectoryConnectorResource or the result of cls(response) :rtype: @@ -476,7 +445,7 @@ def begin_create( resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, - active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO], + active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.ActiveDirectoryConnectorResource]: """Creates or replaces an Active Directory connector resource. @@ -488,21 +457,10 @@ def begin_create( :param active_directory_connector_name: The name of the Active Directory connector instance. Required. :type active_directory_connector_name: str - :param active_directory_connector_resource: desc. Is either a model type or a IO type. - Required. + :param active_directory_connector_resource: desc. Is either a ActiveDirectoryConnectorResource + type or a IO[bytes] type. Required. :type active_directory_connector_resource: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource 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. + ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource or IO[bytes] :return: An instance of LROPoller that returns either ActiveDirectoryConnectorResource or the result of cls(response) :rtype: @@ -512,9 +470,7 @@ def begin_create( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.ActiveDirectoryConnectorResource] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -533,12 +489,13 @@ def begin_create( params=_params, **kwargs ) + raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response) + deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -550,22 +507,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller.from_continuation_token( + return LROPoller[_models.ActiveDirectoryConnectorResource].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_create.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" - } + return LROPoller[_models.ActiveDirectoryConnectorResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - def _delete_initial( # pylint: disable=inconsistent-return-statements + def _delete_initial( self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any - ) -> None: - error_map = { + ) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -576,41 +531,46 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[None] = kwargs.pop("cls", None) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - request = build_delete_request( + _request = build_delete_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, active_directory_connector_name=active_directory_connector_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self._delete_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - _delete_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" - } + return deserialized # type: ignore @distributed_trace def begin_delete( @@ -625,14 +585,6 @@ def begin_delete( :param active_directory_connector_name: The name of the Active Directory connector instance. Required. :type active_directory_connector_name: 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: @@ -640,15 +592,13 @@ def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = self._delete_initial( # type: ignore + raw_result = self._delete_initial( resource_group_name=resource_group_name, data_controller_name=data_controller_name, active_directory_connector_name=active_directory_connector_name, @@ -658,11 +608,12 @@ def begin_delete( params=_params, **kwargs ) + raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) # type: ignore if polling is True: polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) @@ -671,17 +622,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- else: polling_method = polling if cont_token: - return LROPoller.from_continuation_token( + return LROPoller[None].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_delete.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" - } + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace def get( @@ -696,12 +643,11 @@ def get( :param active_directory_connector_name: The name of the Active Directory connector instance. Required. :type active_directory_connector_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: ActiveDirectoryConnectorResource or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -712,42 +658,38 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.ActiveDirectoryConnectorResource] = kwargs.pop("cls", None) - request = build_get_request( + _request = build_get_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, active_directory_connector_name=active_directory_connector_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.get.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response) + deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" - } + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_data_controllers_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_data_controllers_operations.py index f888ba16368e..6eb40981e689 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_data_controllers_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_data_controllers_operations.py @@ -1,4 +1,4 @@ -# pylint: disable=too-many-lines +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,38 +6,38 @@ # 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, IO, Iterable, Optional, TypeVar, Union, cast, overload +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse +from azure.core import PipelineClient from azure.core.exceptions import ( ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest +from azure.core.rest import HttpRequest, HttpResponse from azure.core.tracing.decorator import distributed_trace from azure.core.utils import case_insensitive_dict from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling from .. import models as _models -from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -47,9 +47,7 @@ def build_list_in_subscription_request(subscription_id: str, **kwargs: Any) -> H _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -60,7 +58,7 @@ def build_list_in_subscription_request(subscription_id: str, **kwargs: Any) -> H "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -75,22 +73,20 @@ def build_list_in_group_request(resource_group_name: str, subscription_id: str, _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers", - ) # 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"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -107,9 +103,7 @@ def build_put_data_controller_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -117,14 +111,14 @@ def build_put_data_controller_request( _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}", - ) # 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"), "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -143,23 +137,21 @@ def build_delete_data_controller_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}", - ) # 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"), "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -176,23 +168,21 @@ def build_get_data_controller_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}", - ) # 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"), "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -209,9 +199,7 @@ def build_patch_data_controller_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -219,14 +207,14 @@ def build_patch_data_controller_request( _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}", - ) # 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"), "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -251,20 +239,21 @@ class DataControllersOperations: models = _models - def __init__(self, *args, **kwargs): + 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") + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list_in_subscription(self, **kwargs: Any) -> Iterable["_models.DataControllerResource"]: + def list_in_subscription(self, **kwargs: Any) -> ItemPaged["_models.DataControllerResource"]: """List dataController resources in the subscription. List dataController resources in the subscription. - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either DataControllerResource or the result of cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.DataControllerResource] @@ -273,12 +262,10 @@ def list_in_subscription(self, **kwargs: Any) -> Iterable["_models.DataControlle _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PageOfDataControllerResource] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -289,15 +276,13 @@ def list_in_subscription(self, **kwargs: Any) -> Iterable["_models.DataControlle def prepare_request(next_link=None): if not next_link: - request = build_list_in_subscription_request( + _request = build_list_in_subscription_request( subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list_in_subscription.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -309,13 +294,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request def extract_data(pipeline_response): deserialized = self._deserialize("PageOfDataControllerResource", pipeline_response) @@ -325,35 +309,34 @@ def extract_data(pipeline_response): return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged(get_next, extract_data) - list_in_subscription.metadata = { - "url": "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/dataControllers" - } - @distributed_trace - def list_in_group(self, resource_group_name: str, **kwargs: Any) -> Iterable["_models.DataControllerResource"]: + def list_in_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.DataControllerResource"]: """List dataController resources in the resource group. List dataController resources in the resource group. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either DataControllerResource or the result of cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.DataControllerResource] @@ -362,12 +345,10 @@ def list_in_group(self, resource_group_name: str, **kwargs: Any) -> Iterable["_m _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PageOfDataControllerResource] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -378,16 +359,14 @@ def list_in_group(self, resource_group_name: str, **kwargs: Any) -> Iterable["_m def prepare_request(next_link=None): if not next_link: - request = build_list_in_group_request( + _request = build_list_in_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list_in_group.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -399,13 +378,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request def extract_data(pipeline_response): deserialized = self._deserialize("PageOfDataControllerResource", pipeline_response) @@ -415,34 +393,34 @@ def extract_data(pipeline_response): return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged(get_next, extract_data) - list_in_group.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers" - } - def _put_data_controller_initial( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: Union[_models.DataControllerResource, IO], + data_controller_resource: Union[_models.DataControllerResource, IO[bytes]], **kwargs: Any - ) -> _models.DataControllerResource: - error_map = { + ) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -453,21 +431,19 @@ def _put_data_controller_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.DataControllerResource] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(data_controller_resource, (IO, bytes)): + if isinstance(data_controller_resource, (IOBase, bytes)): _content = data_controller_resource else: _json = self._serialize.body(data_controller_resource, "DataControllerResource") - request = build_put_data_controller_request( + _request = build_put_data_controller_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, subscription_id=self._config.subscription_id, @@ -475,39 +451,38 @@ def _put_data_controller_initial( content_type=content_type, json=_json, content=_content, - template_url=self._put_data_controller_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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("DataControllerResource", pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize("DataControllerResource", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - _put_data_controller_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } - @overload def begin_put_data_controller( self, @@ -529,14 +504,6 @@ def begin_put_data_controller( :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 DataControllerResource or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] @@ -548,7 +515,7 @@ def begin_put_data_controller( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: IO, + data_controller_resource: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -560,18 +527,10 @@ def begin_put_data_controller( :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str :param data_controller_resource: desc. Required. - :type data_controller_resource: IO + :type data_controller_resource: IO[bytes] :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 DataControllerResource or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] @@ -583,7 +542,7 @@ def begin_put_data_controller( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: Union[_models.DataControllerResource, IO], + data_controller_resource: Union[_models.DataControllerResource, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.DataControllerResource]: """Creates or replaces a dataController resource. @@ -592,19 +551,10 @@ def begin_put_data_controller( :type resource_group_name: str :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str - :param data_controller_resource: desc. Is either a model type or a IO type. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource 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. + :param data_controller_resource: desc. Is either a DataControllerResource type or a IO[bytes] + type. Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource or + IO[bytes] :return: An instance of LROPoller that returns either DataControllerResource or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] @@ -613,9 +563,7 @@ def begin_put_data_controller( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.DataControllerResource] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -633,12 +581,13 @@ def begin_put_data_controller( params=_params, **kwargs ) + raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("DataControllerResource", pipeline_response) + deserialized = self._deserialize("DataControllerResource", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -650,22 +599,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller.from_continuation_token( + return LROPoller[_models.DataControllerResource].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_put_data_controller.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return LROPoller[_models.DataControllerResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - def _delete_data_controller_initial( # pylint: disable=inconsistent-return-statements + def _delete_data_controller_initial( self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> None: - error_map = { + ) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -676,40 +623,45 @@ def _delete_data_controller_initial( # pylint: disable=inconsistent-return-stat _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[None] = kwargs.pop("cls", None) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - request = build_delete_data_controller_request( + _request = build_delete_data_controller_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self._delete_data_controller_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - _delete_data_controller_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return deserialized # type: ignore @distributed_trace def begin_delete_data_controller( @@ -721,14 +673,6 @@ def begin_delete_data_controller( :type resource_group_name: str :param data_controller_name: The name of the data controller. Required. :type data_controller_name: 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: @@ -736,15 +680,13 @@ def begin_delete_data_controller( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = self._delete_data_controller_initial( # type: ignore + raw_result = self._delete_data_controller_initial( resource_group_name=resource_group_name, data_controller_name=data_controller_name, api_version=api_version, @@ -753,11 +695,12 @@ def begin_delete_data_controller( params=_params, **kwargs ) + raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) # type: ignore if polling is True: polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) @@ -766,17 +709,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- else: polling_method = polling if cont_token: - return LROPoller.from_continuation_token( + return LROPoller[None].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_delete_data_controller.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @distributed_trace def get_data_controller( @@ -788,12 +727,11 @@ def get_data_controller( :type resource_group_name: str :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: DataControllerResource or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.DataControllerResource :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -804,53 +742,49 @@ def get_data_controller( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.DataControllerResource] = kwargs.pop("cls", None) - request = build_get_data_controller_request( + _request = build_get_data_controller_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.get_data_controller.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("DataControllerResource", pipeline_response) + deserialized = self._deserialize("DataControllerResource", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get_data_controller.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return deserialized # type: ignore def _patch_data_controller_initial( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: Union[_models.DataControllerUpdate, IO], + data_controller_resource: Union[_models.DataControllerUpdate, IO[bytes]], **kwargs: Any - ) -> Optional[_models.DataControllerResource]: - error_map = { + ) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -861,21 +795,19 @@ def _patch_data_controller_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.DataControllerResource]] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(data_controller_resource, (IO, bytes)): + if isinstance(data_controller_resource, (IOBase, bytes)): _content = data_controller_resource else: _json = self._serialize.body(data_controller_resource, "DataControllerUpdate") - request = build_patch_data_controller_request( + _request = build_patch_data_controller_request( resource_group_name=resource_group_name, data_controller_name=data_controller_name, subscription_id=self._config.subscription_id, @@ -883,36 +815,37 @@ def _patch_data_controller_initial( content_type=content_type, json=_json, content=_content, - template_url=self._patch_data_controller_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize("DataControllerResource", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - _patch_data_controller_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return deserialized # type: ignore @overload def begin_patch_data_controller( @@ -935,14 +868,6 @@ def begin_patch_data_controller( :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 DataControllerResource or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] @@ -954,7 +879,7 @@ def begin_patch_data_controller( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: IO, + data_controller_resource: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -966,18 +891,10 @@ def begin_patch_data_controller( :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str :param data_controller_resource: The update data controller resource. Required. - :type data_controller_resource: IO + :type data_controller_resource: IO[bytes] :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 DataControllerResource or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] @@ -989,7 +906,7 @@ def begin_patch_data_controller( self, resource_group_name: str, data_controller_name: str, - data_controller_resource: Union[_models.DataControllerUpdate, IO], + data_controller_resource: Union[_models.DataControllerUpdate, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.DataControllerResource]: """Updates a dataController resource. @@ -998,20 +915,10 @@ def begin_patch_data_controller( :type resource_group_name: str :param data_controller_name: The name of the data controller. Required. :type data_controller_name: str - :param data_controller_resource: The update data controller resource. Is either a model type or - a IO type. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate 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. + :param data_controller_resource: The update data controller resource. Is either a + DataControllerUpdate type or a IO[bytes] type. Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate or + IO[bytes] :return: An instance of LROPoller that returns either DataControllerResource or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] @@ -1020,9 +927,7 @@ def begin_patch_data_controller( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.DataControllerResource] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -1040,12 +945,13 @@ def begin_patch_data_controller( params=_params, **kwargs ) + raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("DataControllerResource", pipeline_response) + deserialized = self._deserialize("DataControllerResource", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -1057,14 +963,12 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller.from_continuation_token( + return LROPoller[_models.DataControllerResource].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_patch_data_controller.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" - } + return LROPoller[_models.DataControllerResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_failover_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_failover_groups_operations.py new file mode 100644 index 000000000000..4cc675090d3b --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_failover_groups_operations.py @@ -0,0 +1,679 @@ +# pylint: disable=line-too-long,useless-suppression +# 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 collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload +import urllib.parse + +from azure.core import PipelineClient +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, + map_error, +) +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest, HttpResponse +from azure.core.tracing.decorator import distributed_trace +from azure.core.utils import case_insensitive_dict +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models +from .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + + +def build_list_request( + resource_group_name: str, sql_managed_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_create_request( + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_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", "2026-03-01-preview")) + 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.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups/{failoverGroupName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + "failoverGroupName": _SERIALIZER.url("failover_group_name", failover_group_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_delete_request( + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups/{failoverGroupName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + "failoverGroupName": _SERIALIZER.url("failover_group_name", failover_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_get_request( + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups/{failoverGroupName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + "failoverGroupName": _SERIALIZER.url("failover_group_name", failover_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +class FailoverGroupsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s + :attr:`failover_groups` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def list( + self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any + ) -> ItemPaged["_models.FailoverGroupResource"]: + """List the failover groups associated with the given sql managed instance. + + List the failover groups associated with the given sql managed instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :return: An iterator like instance of either FailoverGroupResource or the result of + cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.FailoverGroupListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("FailoverGroupListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + def _create_initial( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: Union[_models.FailoverGroupResource, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(failover_group_resource, (IOBase, bytes)): + _content = failover_group_resource + else: + _json = self._serialize.body(failover_group_resource, "FailoverGroupResource") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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 = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: _models.FailoverGroupResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Required. + :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either FailoverGroupResource or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Required. + :type failover_group_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either FailoverGroupResource or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: Union[_models.FailoverGroupResource, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Is either a FailoverGroupResource type or a IO[bytes] + type. Required. + :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource or + IO[bytes] + :return: An instance of LROPoller that returns either FailoverGroupResource or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :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[_models.FailoverGroupResource] = 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._create_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + failover_group_resource=failover_group_resource, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("FailoverGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.FailoverGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.FailoverGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_initial( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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 = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Deletes a failover group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :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 = 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)) + 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._delete_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def get( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> _models.FailoverGroupResource: + """Retrieves a failover group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :return: FailoverGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.FailoverGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.FailoverGroupResource] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("FailoverGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py index 38e3d4aaf604..19ad639dd797 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py @@ -1,4 +1,3 @@ -# pylint: disable=too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,10 +5,11 @@ # 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 +from collections.abc import MutableMapping +from typing import Any, Callable, Optional, TypeVar import urllib.parse +from azure.core import PipelineClient from azure.core.exceptions import ( ClientAuthenticationError, HttpResponseError, @@ -20,22 +20,18 @@ ) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpResponse -from azure.core.rest import HttpRequest +from azure.core.rest import HttpRequest, HttpResponse 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 +from .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -45,9 +41,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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -74,18 +68,19 @@ class Operations: models = _models - def __init__(self, *args, **kwargs): + 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") + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list(self, **kwargs: Any) -> Iterable["_models.Operation"]: + def list(self, **kwargs: Any) -> ItemPaged["_models.Operation"]: """Lists all of the available Azure Data Services on Azure Arc API operations. - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either Operation or the result of cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.Operation] :raises ~azure.core.exceptions.HttpResponseError: @@ -93,12 +88,10 @@ 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-03-01-preview"] = 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 = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -109,14 +102,12 @@ def list(self, **kwargs: Any) -> Iterable["_models.Operation"]: def prepare_request(next_link=None): if not next_link: - request = build_list_request( + _request = build_list_request( api_version=api_version, - template_url=self.list.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -128,13 +119,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request def extract_data(pipeline_response): deserialized = self._deserialize("OperationListResult", pipeline_response) @@ -144,20 +134,22 @@ def extract_data(pipeline_response): return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged(get_next, extract_data) - - list.metadata = {"url": "/providers/Microsoft.AzureArcData/operations"} diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_postgres_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_postgres_instances_operations.py index a02708bbb26e..87bc57c26b0f 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_postgres_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_postgres_instances_operations.py @@ -1,4 +1,4 @@ -# pylint: disable=too-many-lines +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,38 +6,38 @@ # 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, IO, Iterable, Optional, TypeVar, Union, cast, overload +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse +from azure.core import PipelineClient from azure.core.exceptions import ( ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest +from azure.core.rest import HttpRequest, HttpResponse from azure.core.tracing.decorator import distributed_trace from azure.core.utils import case_insensitive_dict from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling from .. import models as _models -from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -47,9 +47,7 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -60,7 +58,7 @@ def build_list_request(subscription_id: str, **kwargs: Any) -> HttpRequest: "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -75,22 +73,20 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances", - ) # 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"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -107,23 +103,21 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}", - ) # 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"), "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -140,9 +134,7 @@ def build_create_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -150,14 +142,14 @@ def build_create_request( _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}", - ) # 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"), "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -176,23 +168,21 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}", - ) # 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"), "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -209,9 +199,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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -219,14 +207,14 @@ def build_update_request( _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}", - ) # 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"), "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -251,20 +239,21 @@ class PostgresInstancesOperations: models = _models - def __init__(self, *args, **kwargs): + 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") + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list(self, **kwargs: Any) -> Iterable["_models.PostgresInstance"]: + def list(self, **kwargs: Any) -> ItemPaged["_models.PostgresInstance"]: """List postgres Instance resources in the subscription. List postgres Instance resources in the subscription. - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either PostgresInstance or the result of cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] :raises ~azure.core.exceptions.HttpResponseError: @@ -272,12 +261,10 @@ def list(self, **kwargs: Any) -> Iterable["_models.PostgresInstance"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstanceListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -288,15 +275,13 @@ def list(self, **kwargs: Any) -> Iterable["_models.PostgresInstance"]: def prepare_request(next_link=None): if not next_link: - request = build_list_request( + _request = build_list_request( subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -308,13 +293,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request def extract_data(pipeline_response): deserialized = self._deserialize("PostgresInstanceListResult", pipeline_response) @@ -324,33 +308,34 @@ def extract_data(pipeline_response): return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged(get_next, extract_data) - list.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/postgresInstances"} - @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Iterable["_models.PostgresInstance"]: + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.PostgresInstance"]: """List postgres Instance resources in the resource group. Get a postgres Instances list by Resource group name. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either PostgresInstance or the result of cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] :raises ~azure.core.exceptions.HttpResponseError: @@ -358,12 +343,10 @@ 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-03-01-preview"] = 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.PostgresInstanceListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -374,16 +357,14 @@ def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Ite def prepare_request(next_link=None): if not next_link: - request = build_list_by_resource_group_request( + _request = build_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list_by_resource_group.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -395,13 +376,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request def extract_data(pipeline_response): deserialized = self._deserialize("PostgresInstanceListResult", pipeline_response) @@ -411,26 +391,26 @@ def extract_data(pipeline_response): return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged(get_next, extract_data) - list_by_resource_group.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances" - } - @distributed_trace def get(self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any) -> _models.PostgresInstance: """Retrieves a postgres Instance resource. @@ -439,12 +419,11 @@ def get(self, resource_group_name: str, postgres_instance_name: str, **kwargs: A :type resource_group_name: str :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: PostgresInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -455,53 +434,49 @@ def get(self, resource_group_name: str, postgres_instance_name: str, **kwargs: A _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstance] = kwargs.pop("cls", None) - request = build_get_request( + _request = build_get_request( resource_group_name=resource_group_name, postgres_instance_name=postgres_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.get.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("PostgresInstance", pipeline_response) + deserialized = self._deserialize("PostgresInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } + return deserialized # type: ignore def _create_initial( self, resource_group_name: str, postgres_instance_name: str, - resource: Union[_models.PostgresInstance, IO], + resource: Union[_models.PostgresInstance, IO[bytes]], **kwargs: Any - ) -> _models.PostgresInstance: - error_map = { + ) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -512,21 +487,19 @@ def _create_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstance] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(resource, (IO, bytes)): + if isinstance(resource, (IOBase, bytes)): _content = resource else: _json = self._serialize.body(resource, "PostgresInstance") - request = build_create_request( + _request = build_create_request( resource_group_name=resource_group_name, postgres_instance_name=postgres_instance_name, subscription_id=self._config.subscription_id, @@ -534,39 +507,38 @@ def _create_initial( content_type=content_type, json=_json, content=_content, - template_url=self._create_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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("PostgresInstance", pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize("PostgresInstance", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - _create_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } - @overload def begin_create( self, @@ -588,14 +560,6 @@ def begin_create( :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 PostgresInstance or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] @@ -607,7 +571,7 @@ def begin_create( self, resource_group_name: str, postgres_instance_name: str, - resource: IO, + resource: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -619,18 +583,10 @@ def begin_create( :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: str :param resource: The postgres instance. Required. - :type resource: IO + :type resource: IO[bytes] :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 PostgresInstance or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] @@ -642,7 +598,7 @@ def begin_create( self, resource_group_name: str, postgres_instance_name: str, - resource: Union[_models.PostgresInstance, IO], + resource: Union[_models.PostgresInstance, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.PostgresInstance]: """Creates or replaces a postgres Instance resource. @@ -651,19 +607,9 @@ def begin_create( :type resource_group_name: str :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: str - :param resource: The postgres instance. Is either a model type or a IO type. Required. - :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance 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. + :param resource: The postgres instance. Is either a PostgresInstance type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance or IO[bytes] :return: An instance of LROPoller that returns either PostgresInstance or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] @@ -672,9 +618,7 @@ def begin_create( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstance] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -692,12 +636,13 @@ def begin_create( params=_params, **kwargs ) + raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("PostgresInstance", pipeline_response) + deserialized = self._deserialize("PostgresInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -709,22 +654,18 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller.from_continuation_token( + return LROPoller[_models.PostgresInstance].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_create.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } + return LROPoller[_models.PostgresInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - def _delete_initial( # pylint: disable=inconsistent-return-statements - self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any - ) -> None: - error_map = { + def _delete_initial(self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -735,40 +676,45 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[None] = kwargs.pop("cls", None) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - request = build_delete_request( + _request = build_delete_request( resource_group_name=resource_group_name, postgres_instance_name=postgres_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self._delete_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - _delete_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } + return deserialized # type: ignore @distributed_trace def begin_delete(self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any) -> LROPoller[None]: @@ -778,14 +724,6 @@ def begin_delete(self, resource_group_name: str, postgres_instance_name: str, ** :type resource_group_name: str :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: 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: @@ -793,15 +731,13 @@ def begin_delete(self, resource_group_name: str, postgres_instance_name: str, ** _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = self._delete_initial( # type: ignore + raw_result = self._delete_initial( resource_group_name=resource_group_name, postgres_instance_name=postgres_instance_name, api_version=api_version, @@ -810,11 +746,12 @@ def begin_delete(self, resource_group_name: str, postgres_instance_name: str, ** params=_params, **kwargs ) + raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) # type: ignore if polling is True: polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) @@ -823,17 +760,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- else: polling_method = polling if cont_token: - return LROPoller.from_continuation_token( + return LROPoller[None].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_delete.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @overload def update( @@ -856,7 +789,6 @@ def update( :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: PostgresInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance :raises ~azure.core.exceptions.HttpResponseError: @@ -867,7 +799,7 @@ def update( self, resource_group_name: str, postgres_instance_name: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -879,11 +811,10 @@ def update( :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: str :param parameters: The Postgres Instance. Required. - :type parameters: IO + :type parameters: IO[bytes] :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: PostgresInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance :raises ~azure.core.exceptions.HttpResponseError: @@ -894,7 +825,7 @@ def update( self, resource_group_name: str, postgres_instance_name: str, - parameters: Union[_models.PostgresInstanceUpdate, IO], + parameters: Union[_models.PostgresInstanceUpdate, IO[bytes]], **kwargs: Any ) -> _models.PostgresInstance: """Updates a postgres Instance resource. @@ -903,17 +834,14 @@ def update( :type resource_group_name: str :param postgres_instance_name: Name of Postgres Instance. Required. :type postgres_instance_name: str - :param parameters: The Postgres Instance. Is either a model type or a IO type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate 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 + :param parameters: The Postgres Instance. Is either a PostgresInstanceUpdate type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate or IO[bytes] :return: PostgresInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -924,21 +852,19 @@ def update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.PostgresInstance] = 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, "PostgresInstanceUpdate") - request = build_update_request( + _request = build_update_request( resource_group_name=resource_group_name, postgres_instance_name=postgres_instance_name, subscription_id=self._config.subscription_id, @@ -946,31 +872,29 @@ def update( content_type=content_type, json=_json, content=_content, - template_url=self.update.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("PostgresInstance", pipeline_response) + deserialized = self._deserialize("PostgresInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - update.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" - } + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_managed_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_managed_instances_operations.py index d9f16dea0afe..4580d62bfbfc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_managed_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_managed_instances_operations.py @@ -1,4 +1,4 @@ -# pylint: disable=too-many-lines +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,38 +6,38 @@ # 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, IO, Iterable, Optional, TypeVar, Union, cast, overload +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse +from azure.core import PipelineClient from azure.core.exceptions import ( ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest +from azure.core.rest import HttpRequest, HttpResponse from azure.core.tracing.decorator import distributed_trace from azure.core.utils import case_insensitive_dict from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling from .. import models as _models -from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -47,9 +47,7 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -60,7 +58,7 @@ def build_list_request(subscription_id: str, **kwargs: Any) -> HttpRequest: "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -75,22 +73,20 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances", - ) # 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"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -107,23 +103,21 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}", - ) # 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"), "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -140,9 +134,7 @@ def build_create_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -150,14 +142,14 @@ def build_create_request( _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}", - ) # 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"), "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -176,23 +168,21 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}", - ) # 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"), "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -209,9 +199,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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -219,14 +207,14 @@ def build_update_request( _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}", - ) # 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"), "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -251,20 +239,21 @@ class SqlManagedInstancesOperations: models = _models - def __init__(self, *args, **kwargs): + 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") + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list(self, **kwargs: Any) -> Iterable["_models.SqlManagedInstance"]: + def list(self, **kwargs: Any) -> ItemPaged["_models.SqlManagedInstance"]: """List sqlManagedInstance resources in the subscription. List sqlManagedInstance resources in the subscription. - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SqlManagedInstance or the result of cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] :raises ~azure.core.exceptions.HttpResponseError: @@ -272,12 +261,10 @@ def list(self, **kwargs: Any) -> Iterable["_models.SqlManagedInstance"]: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstanceListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -288,15 +275,13 @@ def list(self, **kwargs: Any) -> Iterable["_models.SqlManagedInstance"]: def prepare_request(next_link=None): if not next_link: - request = build_list_request( + _request = build_list_request( subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -308,13 +293,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request def extract_data(pipeline_response): deserialized = self._deserialize("SqlManagedInstanceListResult", pipeline_response) @@ -324,33 +308,36 @@ def extract_data(pipeline_response): return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged(get_next, extract_data) - list.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances"} - @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Iterable["_models.SqlManagedInstance"]: + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> ItemPaged["_models.SqlManagedInstance"]: """List sqlManagedInstance resources in the resource group. Gets all sqlManagedInstances in a resource group. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SqlManagedInstance or the result of cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] :raises ~azure.core.exceptions.HttpResponseError: @@ -358,12 +345,10 @@ 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-03-01-preview"] = 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.SqlManagedInstanceListResult] = kwargs.pop("cls", None) - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -374,16 +359,14 @@ def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Ite def prepare_request(next_link=None): if not next_link: - request = build_list_by_resource_group_request( + _request = build_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.list_by_resource_group.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) else: # make call to next link with the client's api-version @@ -395,13 +378,12 @@ def prepare_request(next_link=None): } ) _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( + _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request def extract_data(pipeline_response): deserialized = self._deserialize("SqlManagedInstanceListResult", pipeline_response) @@ -411,26 +393,26 @@ def extract_data(pipeline_response): return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): - request = prepare_request(next_link) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged(get_next, extract_data) - list_by_resource_group.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances" - } - @distributed_trace def get( self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any @@ -441,12 +423,11 @@ def get( :type resource_group_name: str :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: SqlManagedInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -457,53 +438,49 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstance] = kwargs.pop("cls", None) - request = build_get_request( + _request = build_get_request( resource_group_name=resource_group_name, sql_managed_instance_name=sql_managed_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.get.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("SqlManagedInstance", pipeline_response) + deserialized = self._deserialize("SqlManagedInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } + return deserialized # type: ignore def _create_initial( self, resource_group_name: str, sql_managed_instance_name: str, - sql_managed_instance: Union[_models.SqlManagedInstance, IO], + sql_managed_instance: Union[_models.SqlManagedInstance, IO[bytes]], **kwargs: Any - ) -> _models.SqlManagedInstance: - error_map = { + ) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -514,21 +491,19 @@ def _create_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstance] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(sql_managed_instance, (IO, bytes)): + if isinstance(sql_managed_instance, (IOBase, bytes)): _content = sql_managed_instance else: _json = self._serialize.body(sql_managed_instance, "SqlManagedInstance") - request = build_create_request( + _request = build_create_request( resource_group_name=resource_group_name, sql_managed_instance_name=sql_managed_instance_name, subscription_id=self._config.subscription_id, @@ -536,39 +511,38 @@ def _create_initial( content_type=content_type, json=_json, content=_content, - template_url=self._create_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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("SqlManagedInstance", pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize("SqlManagedInstance", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - _create_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } - @overload def begin_create( self, @@ -590,14 +564,6 @@ def begin_create( :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 SqlManagedInstance or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] @@ -609,7 +575,7 @@ def begin_create( self, resource_group_name: str, sql_managed_instance_name: str, - sql_managed_instance: IO, + sql_managed_instance: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -621,18 +587,10 @@ def begin_create( :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: str :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. - :type sql_managed_instance: IO + :type sql_managed_instance: IO[bytes] :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 SqlManagedInstance or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] @@ -644,7 +602,7 @@ def begin_create( self, resource_group_name: str, sql_managed_instance_name: str, - sql_managed_instance: Union[_models.SqlManagedInstance, IO], + sql_managed_instance: Union[_models.SqlManagedInstance, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.SqlManagedInstance]: """Creates or replaces a SQL Managed Instance resource. @@ -654,19 +612,8 @@ def begin_create( :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: str :param sql_managed_instance: The SQL Managed Instance to be created or updated. Is either a - model type or a IO type. Required. - :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance 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. + SqlManagedInstance type or a IO[bytes] type. Required. + :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance or IO[bytes] :return: An instance of LROPoller that returns either SqlManagedInstance or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] @@ -675,9 +622,7 @@ def begin_create( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstance] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -695,12 +640,13 @@ def begin_create( params=_params, **kwargs ) + raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlManagedInstance", pipeline_response) + deserialized = self._deserialize("SqlManagedInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -712,22 +658,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller.from_continuation_token( + return LROPoller[_models.SqlManagedInstance].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_create.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } + return LROPoller[_models.SqlManagedInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) - def _delete_initial( # pylint: disable=inconsistent-return-statements + def _delete_initial( self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any - ) -> None: - error_map = { + ) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -738,40 +682,45 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[None] = kwargs.pop("cls", None) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - request = build_delete_request( + _request = build_delete_request( resource_group_name=resource_group_name, sql_managed_instance_name=sql_managed_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self._delete_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore - _delete_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } + return deserialized # type: ignore @distributed_trace def begin_delete(self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any) -> LROPoller[None]: @@ -781,14 +730,6 @@ def begin_delete(self, resource_group_name: str, sql_managed_instance_name: str, :type resource_group_name: str :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: 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: @@ -796,15 +737,13 @@ def begin_delete(self, resource_group_name: str, sql_managed_instance_name: str, _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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) cont_token: Optional[str] = kwargs.pop("continuation_token", None) if cont_token is None: - raw_result = self._delete_initial( # type: ignore + raw_result = self._delete_initial( resource_group_name=resource_group_name, sql_managed_instance_name=sql_managed_instance_name, api_version=api_version, @@ -813,11 +752,12 @@ def begin_delete(self, resource_group_name: str, sql_managed_instance_name: str, params=_params, **kwargs ) + raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) # type: ignore if polling is True: polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) @@ -826,17 +766,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- else: polling_method = polling if cont_token: - return LROPoller.from_continuation_token( + return LROPoller[None].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_delete.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore @overload def update( @@ -859,7 +795,6 @@ def update( :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: SqlManagedInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance :raises ~azure.core.exceptions.HttpResponseError: @@ -870,7 +805,7 @@ def update( self, resource_group_name: str, sql_managed_instance_name: str, - parameters: IO, + parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any @@ -882,11 +817,10 @@ def update( :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: str :param parameters: The SQL Managed Instance. Required. - :type parameters: IO + :type parameters: IO[bytes] :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: SqlManagedInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance :raises ~azure.core.exceptions.HttpResponseError: @@ -897,7 +831,7 @@ def update( self, resource_group_name: str, sql_managed_instance_name: str, - parameters: Union[_models.SqlManagedInstanceUpdate, IO], + parameters: Union[_models.SqlManagedInstanceUpdate, IO[bytes]], **kwargs: Any ) -> _models.SqlManagedInstance: """Updates a SQL Managed Instance resource. @@ -906,17 +840,14 @@ def update( :type resource_group_name: str :param sql_managed_instance_name: Name of SQL Managed Instance. Required. :type sql_managed_instance_name: str - :param parameters: The SQL Managed Instance. Is either a model type or a IO type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate 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 + :param parameters: The SQL Managed Instance. Is either a SqlManagedInstanceUpdate type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate or IO[bytes] :return: SqlManagedInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -927,21 +858,19 @@ def update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlManagedInstance] = 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, "SqlManagedInstanceUpdate") - request = build_update_request( + _request = build_update_request( resource_group_name=resource_group_name, sql_managed_instance_name=sql_managed_instance_name, subscription_id=self._config.subscription_id, @@ -949,31 +878,29 @@ def update( content_type=content_type, json=_json, content=_content, - template_url=self.update.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("SqlManagedInstance", pipeline_response) + deserialized = self._deserialize("SqlManagedInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - update.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" - } + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_availability_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_availability_groups_operations.py new file mode 100644 index 000000000000..82da02866ff2 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_availability_groups_operations.py @@ -0,0 +1,2705 @@ +# pylint: disable=line-too-long,useless-suppression,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 collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload +import urllib.parse + +from azure.core import PipelineClient +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, + map_error, +) +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest, HttpResponse +from azure.core.tracing.decorator import distributed_trace +from azure.core.utils import case_insensitive_dict +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models +from .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + + +def build_create_request( + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_delete_request( + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_get_request( + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_update_request( + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_detail_view_request( + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/getDetailView", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_failover_request( + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/failover", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_force_failover_allow_data_loss_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/forceFailoverAllowDataLoss", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_create_availability_group_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createAvailabilityGroup", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_create_distributed_availability_group_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createDistributedAvailabilityGroup", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_create_managed_instance_link_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createManagedInstanceLink", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_add_databases_request( + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/addDatabases", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**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_failover_mi_link_request( + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/failoverMiLink", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**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_delete_mi_link_request( + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/deleteMiLink", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_remove_databases_request( + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/removeDatabases", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**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_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +class SqlServerAvailabilityGroupsOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s + :attr:`sql_server_availability_groups` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @overload + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: _models.SqlServerAvailabilityGroupResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Required. + :type sql_server_availability_group_resource: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Required. + :type sql_server_availability_group_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: Union[_models.SqlServerAvailabilityGroupResource, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Is either a SqlServerAvailabilityGroupResource type or a IO[bytes] type. Required. + :type sql_server_availability_group_resource: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource or IO[bytes] + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_availability_group_resource, (IOBase, bytes)): + _content = sql_server_availability_group_resource + else: + _json = self._serialize.body(sql_server_availability_group_resource, "SqlServerAvailabilityGroupResource") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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, 201]: + 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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Deletes an Arc Sql Server availability group resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :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 = 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)) + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def get( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Retrieves an Arc Sql Server availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_availability_group_update, (IOBase, bytes)): + _content = sql_server_availability_group_update + else: + _json = self._serialize.body(sql_server_availability_group_update, "SqlServerAvailabilityGroupUpdate") + + _request = build_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: _models.SqlServerAvailabilityGroupUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Required. + :type sql_server_availability_group_update: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Required. + :type sql_server_availability_group_update: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Is either a SqlServerAvailabilityGroupUpdate type or a IO[bytes] type. Required. + :type sql_server_availability_group_update: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate or IO[bytes] + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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[_models.SqlServerAvailabilityGroupResource] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + sql_server_availability_group_update=sql_server_availability_group_update, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def detail_view( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Retrieves detailed properties of the Availability Group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_detail_view_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def failover( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request manual failover of the availability group to this server. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_failover_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def force_failover_allow_data_loss( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request forced failover of the availability group to this server. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_force_failover_allow_data_loss_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_availability_group_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(create_ag_configuration, (IOBase, bytes)): + _content = create_ag_configuration + else: + _json = self._serialize.body(create_ag_configuration, "AvailabilityGroupCreateUpdateConfiguration") + + _request = build_create_availability_group_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: _models.AvailabilityGroupCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_ag_configuration: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_ag_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Is either a AvailabilityGroupCreateUpdateConfiguration type or a IO[bytes] type. + Required. + :type create_ag_configuration: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration or IO[bytes] + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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[_models.SqlServerAvailabilityGroupResource] = 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._create_availability_group_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_ag_configuration=create_ag_configuration, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _create_distributed_availability_group_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(create_dag_configuration, (IOBase, bytes)): + _content = create_dag_configuration + else: + _json = self._serialize.body( + create_dag_configuration, "DistributedAvailabilityGroupCreateUpdateConfiguration" + ) + + _request = build_create_distributed_availability_group_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: _models.DistributedAvailabilityGroupCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_dag_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_dag_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Is either a DistributedAvailabilityGroupCreateUpdateConfiguration type or a IO[bytes] + type. Required. + :type create_dag_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration or + IO[bytes] + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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[_models.SqlServerAvailabilityGroupResource] = 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._create_distributed_availability_group_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_dag_configuration=create_dag_configuration, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _create_managed_instance_link_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: Union[ + _models.ManagedInstanceLinkCreateUpdateConfiguration, IO[bytes] + ], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(create_managed_instance_link_configuration, (IOBase, bytes)): + _content = create_managed_instance_link_configuration + else: + _json = self._serialize.body( + create_managed_instance_link_configuration, "ManagedInstanceLinkCreateUpdateConfiguration" + ) + + _request = build_create_managed_instance_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: _models.ManagedInstanceLinkCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Required. + :type create_managed_instance_link_configuration: + ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Required. + :type create_managed_instance_link_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: Union[ + _models.ManagedInstanceLinkCreateUpdateConfiguration, IO[bytes] + ], + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Is either a ManagedInstanceLinkCreateUpdateConfiguration type or a + IO[bytes] type. Required. + :type create_managed_instance_link_configuration: + ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration or IO[bytes] + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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[_models.SqlServerAvailabilityGroupResource] = 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._create_managed_instance_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_managed_instance_link_configuration=create_managed_instance_link_configuration, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: _models.Databases, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. + Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. + Required. + :type databases: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: Union[_models.Databases, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. Is + either a Databases type or a IO[bytes] type. Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases or IO[bytes] + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(databases, (IOBase, bytes)): + _content = databases + else: + _json = self._serialize.body(databases, "Databases") + + _request = build_add_databases_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _failover_mi_link_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(managed_instance_resource_id, (IOBase, bytes)): + _content = managed_instance_resource_id + else: + _json = self._serialize.body(managed_instance_resource_id, "FailoverMiLinkResourceId") + + _request = build_failover_mi_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: _models.FailoverMiLinkResourceId, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Required. + :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Required. + :type managed_instance_resource_id: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Is either a FailoverMiLinkResourceId type or a IO[bytes] type. Required. + :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId or + IO[bytes] + :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :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[_models.SqlServerAvailabilityGroupResource] = 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._failover_mi_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + managed_instance_resource_id=managed_instance_resource_id, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_mi_link_initial( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_mi_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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 = {} + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete_mi_link( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Deletes the MI Link between an Azure Arc-enabled SQL Server and an Azure SQL Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :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 = 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)) + 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._delete_mi_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @overload + def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: _models.Databases, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Required. + :type databases: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: Union[_models.Databases, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Is either a Databases type or a IO[bytes] type. Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases or IO[bytes] + :return: SqlServerAvailabilityGroupResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(databases, (IOBase, bytes)): + _content = databases + else: + _json = self._serialize.body(databases, "Databases") + + _request = build_remove_databases_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def list( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """List the availability group associated with the given Arc Sql Server. + + List the availability group associated with the given Arc Sql Server. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.ArcSqlServerAvailabilityGroupListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ArcSqlServerAvailabilityGroupListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return ItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_databases_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_databases_operations.py new file mode 100644 index 000000000000..2f3af9b52c49 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_databases_operations.py @@ -0,0 +1,855 @@ +# pylint: disable=line-too-long,useless-suppression +# 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 collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload +import urllib.parse + +from azure.core import PipelineClient +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, + map_error, +) +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest, HttpResponse +from azure.core.tracing.decorator import distributed_trace +from azure.core.utils import case_insensitive_dict +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models +from .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + + +def build_create_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_delete_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_get_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_update_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str"), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_list_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +class SqlServerDatabasesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s + :attr:`sql_server_databases` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @overload + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: _models.SqlServerDatabaseResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Required. + :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerDatabaseResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Required. + :type sql_server_database_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerDatabaseResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: Union[_models.SqlServerDatabaseResource, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Is either a + SqlServerDatabaseResource type or a IO[bytes] type. Required. + :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + or IO[bytes] + :return: SqlServerDatabaseResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerDatabaseResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_database_resource, (IOBase, bytes)): + _content = sql_server_database_resource + else: + _json = self._serialize.body(sql_server_database_resource, "SqlServerDatabaseResource") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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, 201]: + 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("SqlServerDatabaseResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Deletes an Arc Sql Server database resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :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 = 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)) + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def get( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Retrieves an Arc Sql Server database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :return: SqlServerDatabaseResource or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerDatabaseResource] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerDatabaseResource", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_database_update, (IOBase, bytes)): + _content = sql_server_database_update + else: + _json = self._serialize.body(sql_server_database_update, "SqlServerDatabaseUpdate") + + _request = build_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: _models.SqlServerDatabaseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Required. + :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerDatabaseResource or the result + of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Required. + :type sql_server_database_update: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerDatabaseResource or the result + of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Is either a + SqlServerDatabaseUpdate type or a IO[bytes] type. Required. + :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate or + IO[bytes] + :return: An instance of LROPoller that returns either SqlServerDatabaseResource or the result + of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :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[_models.SqlServerDatabaseResource] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + sql_server_database_update=sql_server_database_update, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerDatabaseResource", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerDatabaseResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerDatabaseResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def list( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> ItemPaged["_models.SqlServerDatabaseResource"]: + """List the databases associated with the given Arc Sql Server. + + List the databases associated with the given Arc Sql Server. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An iterator like instance of either SqlServerDatabaseResource or the result of + cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.ArcSqlServerDatabaseListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ArcSqlServerDatabaseListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return ItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_esu_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_esu_licenses_operations.py new file mode 100644 index 000000000000..116dfa1b676f --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_esu_licenses_operations.py @@ -0,0 +1,815 @@ +# pylint: disable=line-too-long,useless-suppression +# 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 collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Optional, TypeVar, Union, overload +import urllib.parse + +from azure.core import PipelineClient +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + map_error, +) +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.rest import HttpRequest, HttpResponse +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 .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + + +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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses" + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_list_by_resource_group_request(resource_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_get_request( + resource_group_name: str, sql_server_esu_license_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "sqlServerEsuLicenseName": _SERIALIZER.url( + "sql_server_esu_license_name", sql_server_esu_license_name, "str", pattern=r"^[-\w\._\(\)]+$" + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_create_request( + resource_group_name: str, sql_server_esu_license_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "sqlServerEsuLicenseName": _SERIALIZER.url( + "sql_server_esu_license_name", sql_server_esu_license_name, "str", pattern=r"^[-\w\._\(\)]+$" + ), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_delete_request( + resource_group_name: str, sql_server_esu_license_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "sqlServerEsuLicenseName": _SERIALIZER.url( + "sql_server_esu_license_name", sql_server_esu_license_name, "str", pattern=r"^[-\w\._\(\)]+$" + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_update_request( + resource_group_name: str, sql_server_esu_license_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "sqlServerEsuLicenseName": _SERIALIZER.url( + "sql_server_esu_license_name", sql_server_esu_license_name, "str", pattern=r"^[-\w\._\(\)]+$" + ), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +class SqlServerEsuLicensesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s + :attr:`sql_server_esu_licenses` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def list(self, **kwargs: Any) -> ItemPaged["_models.SqlServerEsuLicense"]: + """List sqlServerEsuLicense resources in the subscription. + + List sqlServerEsuLicense resources in the subscription. + + :return: An iterator like instance of either SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerEsuLicenseListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerEsuLicenseListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> ItemPaged["_models.SqlServerEsuLicense"]: + """List sqlServerEsuLicense resources in the resource group. + + Gets all sqlServerEsuLicenses in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of either SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerEsuLicenseListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerEsuLicenseListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def get( + self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Retrieves a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerEsuLicense] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerEsuLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: _models.SqlServerEsuLicense, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. + :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. + :type sql_server_esu_license: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: Union[_models.SqlServerEsuLicense, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Is either a + SqlServerEsuLicense type or a IO[bytes] type. Required. + :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense or IO[bytes] + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerEsuLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_esu_license, (IOBase, bytes)): + _content = sql_server_esu_license + else: + _json = self._serialize.body(sql_server_esu_license, "SqlServerEsuLicense") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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, 201]: + 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("SqlServerEsuLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def delete( # pylint: disable=inconsistent-return-statements + self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any + ) -> None: + """Deletes a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :return: None or the result of cls(response) + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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, 204]: + 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) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @overload + def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: _models.SqlServerEsuLicenseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: Union[_models.SqlServerEsuLicenseUpdate, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Is either a SqlServerEsuLicenseUpdate type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate or IO[bytes] + :return: SqlServerEsuLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerEsuLicense] = 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, "SqlServerEsuLicenseUpdate") + + _request = build_update_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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("SqlServerEsuLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_instances_operations.py index 0a442ca6fc69..18af41a5d9e9 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_instances_operations.py @@ -1,4 +1,4 @@ -# pylint: disable=too-many-lines +# pylint: disable=line-too-long,useless-suppression,too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -6,38 +6,39 @@ # 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, IO, Iterable, Optional, TypeVar, Union, cast, overload +from __future__ import annotations +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse +from azure.core import PipelineClient from azure.core.exceptions import ( ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest +from azure.core.rest import HttpRequest, HttpResponse from azure.core.tracing.decorator import distributed_trace from azure.core.utils import case_insensitive_dict from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling from .. import models as _models -from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer -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]] +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -47,9 +48,7 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -60,7 +59,7 @@ def build_list_request(subscription_id: str, **kwargs: Any) -> HttpRequest: "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -75,22 +74,20 @@ 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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances", - ) # 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"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -107,23 +104,21 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}", - ) # 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"), "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -140,9 +135,7 @@ def build_create_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -150,14 +143,14 @@ def build_create_request( _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}", - ) # 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"), "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -176,23 +169,21 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}", - ) # 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"), "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -209,9 +200,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-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", "2022-03-01-preview") - ) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -219,14 +208,14 @@ def build_update_request( _url = kwargs.pop( "template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}", - ) # 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"), "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -239,212 +228,3243 @@ def build_update_request( return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) -class SqlServerInstancesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. +def build_get_telemetry_request( + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`sql_server_instances` attribute. - """ + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + accept = _headers.pop("Accept", "application/json") - models = _models + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getTelemetry", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } - 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") + _url: str = _url.format(**path_format_arguments) # type: ignore - @distributed_trace - def list(self, **kwargs: Any) -> Iterable["_models.SqlServerInstance"]: - """List sqlServerInstance resources in the subscription. + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - List sqlServerInstance resources in the subscription. + # 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") - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlServerInstance or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[_models.SqlServerInstanceListResult] = kwargs.pop("cls", None) - error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) +def build_get_best_practices_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - def prepare_request(next_link=None): - if not next_link: + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + accept = _headers.pop("Accept", "application/json") - request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - template_url=self.list.metadata["url"], - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getBestPracticesAssessment", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + _url: str = _url.format(**path_format_arguments) # type: ignore - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.next_link or None, iter(list_of_elem) + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - def get_next(next_link=None): - request = prepare_request(next_link) + # 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") - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs - ) - response = pipeline_response.http_response + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - 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) - return pipeline_response +def build_run_migration_assessment_request( + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - return ItemPaged(get_next, extract_data) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") - list.metadata = {"url": "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances"} + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runMigrationAssessment", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } - @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Iterable["_models.SqlServerInstance"]: - """List sqlServerInstance resources in the resource group. + _url: str = _url.format(**path_format_arguments) # type: ignore - Gets all sqlServerInstances in a resource group. + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlServerInstance or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[_models.SqlServerInstanceListResult] = kwargs.pop("cls", None) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - def prepare_request(next_link=None): - if not next_link: +def build_run_target_recommendation_job_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - template_url=self.list_by_resource_group.metadata["url"], - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + accept = _headers.pop("Accept", "application/json") - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - request.method = "GET" - return request + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runTargetRecommendationJob", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_get_target_recommendation_reports_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getTargetRecommendationReports", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_get_migration_readiness_report_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getMigrationReadinessReport", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_run_best_practices_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runBestPracticesAssessment", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_run_best_practice_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runBestPracticeAssessment", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_run_migration_readiness_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runMigrationReadinessAssessment", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_get_jobs_status_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getJobsStatus", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_get_jobs_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getJobs", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_pre_upgrade_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/preUpgrade", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_post_upgrade_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/postUpgrade", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_run_managed_instance_link_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runManagedInstanceLinkAssessment", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_get_all_availability_groups_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getAllAvailabilityGroups", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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 SqlServerInstancesOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s + :attr:`sql_server_instances` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def list(self, **kwargs: Any) -> ItemPaged["_models.SqlServerInstance"]: + """List sqlServerInstance resources in the subscription. + + List sqlServerInstance resources in the subscription. + + :return: An iterator like instance of either SqlServerInstance or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerInstanceListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.SqlServerInstance"]: + """List sqlServerInstance resources in the resource group. + + Gets all sqlServerInstances in a resource group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :return: An iterator like instance of either SqlServerInstance or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerInstanceListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def get(self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any) -> _models.SqlServerInstance: + """Retrieves a SQL Server Instance resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstance or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerInstance", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: Union[_models.SqlServerInstance, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_instance, (IOBase, bytes)): + _content = sql_server_instance + else: + _json = self._serialize.body(sql_server_instance, "SqlServerInstance") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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 = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: _models.SqlServerInstance, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Required. + :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerInstance or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Required. + :type sql_server_instance: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerInstance or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: Union[_models.SqlServerInstance, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Is either a + SqlServerInstance type or a IO[bytes] type. Required. + :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance or IO[bytes] + :return: An instance of LROPoller that returns either SqlServerInstance or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :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[_models.SqlServerInstance] = 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._create_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance=sql_server_instance, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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 = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete(self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any) -> LROPoller[None]: + """Deletes a SQL Server Instance resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :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 = 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)) + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: Union[_models.SqlServerInstanceUpdate, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = 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, "SqlServerInstanceUpdate") + + _request = build_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: _models.SqlServerInstanceUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerInstance or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerInstance or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: Union[_models.SqlServerInstanceUpdate, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Is either a SqlServerInstanceUpdate type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate or IO[bytes] + :return: An instance of LROPoller that returns either SqlServerInstance or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :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[_models.SqlServerInstance] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + parameters=parameters, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _get_telemetry_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): + _content = sql_server_instance_telemetry_request + else: + _json = self._serialize.body(sql_server_instance_telemetry_request, "SqlServerInstanceTelemetryRequest") + + _request = build_get_telemetry_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: _models.SqlServerInstanceTelemetryRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Required. + :type sql_server_instance_telemetry_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceTelemetryResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Required. + :type sql_server_instance_telemetry_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceTelemetryResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, IO[bytes]], + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Is either a SqlServerInstanceTelemetryRequest type or a IO[bytes] type. + Required. + :type sql_server_instance_telemetry_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest or IO[bytes] + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceTelemetryResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :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[_models.SqlServerInstanceTelemetryResponse] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): + _content = sql_server_instance_telemetry_request + else: + _json = self._serialize.body(sql_server_instance_telemetry_request, "SqlServerInstanceTelemetryRequest") + + def prepare_request(next_link=None): + if not next_link: + + _request = build_get_telemetry_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerInstanceTelemetryResponse", pipeline_response.http_response) + list_of_elem = deserialized.rows + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + 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._get_telemetry_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_telemetry_request=sql_server_instance_telemetry_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + def internal_get_next(next_link=None): + if next_link is None: + return pipeline_response + return get_next(next_link) + + return ItemPaged(internal_get_next, extract_data) + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[ItemPaged[list[str]]].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[ItemPaged[list[str]]]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _get_best_practices_assessment_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): + _content = sql_server_instance_bpa_request + else: + _json = self._serialize.body(sql_server_instance_bpa_request, "SqlServerInstanceBpaRequest") + + _request = build_get_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: _models.SqlServerInstanceBpaRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Required. + :type sql_server_instance_bpa_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceBpaResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Required. + :type sql_server_instance_bpa_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceBpaResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, IO[bytes]], + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Is either a SqlServerInstanceBpaRequest type or a IO[bytes] type. Required. + :type sql_server_instance_bpa_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest or IO[bytes] + :return: An instance of LROPoller that returns an iterator like instance of either + SqlServerInstanceBpaResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :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[_models.SqlServerInstanceBpaResponse] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): + _content = sql_server_instance_bpa_request + else: + _json = self._serialize.body(sql_server_instance_bpa_request, "SqlServerInstanceBpaRequest") + + def prepare_request(next_link=None): + if not next_link: + + _request = build_get_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerInstanceBpaResponse", pipeline_response.http_response) + list_of_elem = deserialized.rows + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + 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._get_best_practices_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_bpa_request=sql_server_instance_bpa_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + def internal_get_next(next_link=None): + if next_link is None: + return pipeline_response + return get_next(next_link) + + return ItemPaged(internal_get_next, extract_data) + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[ItemPaged[list[str]]].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[ItemPaged[list[str]]]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def run_migration_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstanceRunMigrationAssessmentResponse: + """Runs migration assessment for SQL Server instance. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstanceRunMigrationAssessmentResponse or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationAssessmentResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceRunMigrationAssessmentResponse] = kwargs.pop("cls", None) + + _request = build_run_migration_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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( + "SqlServerInstanceRunMigrationAssessmentResponse", pipeline_response.http_response + ) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _run_target_recommendation_job_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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)) + content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = ( + content_type or "application/json" if sql_server_instance_run_target_recommendation_job_request else None + ) + _json = None + _content = None + if isinstance(sql_server_instance_run_target_recommendation_job_request, (IOBase, bytes)): + _content = sql_server_instance_run_target_recommendation_job_request + else: + if sql_server_instance_run_target_recommendation_job_request is not None: + _json = self._serialize.body( + sql_server_instance_run_target_recommendation_job_request, + "SqlServerInstanceRunTargetRecommendationJobRequest", + ) + else: + _json = None + + _request = build_run_target_recommendation_job_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + _models.SqlServerInstanceRunTargetRecommendationJobRequest + ] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either + SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either + SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Is either a + SqlServerInstanceRunTargetRecommendationJobRequest type or a IO[bytes] type. Default value is + None. + :type sql_server_instance_run_target_recommendation_job_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest or IO[bytes] + :return: An instance of LROPoller that returns either + SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :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)) + content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None + cls: ClsType[_models.SqlServerInstanceRunTargetRecommendationJobResponse] = 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._run_target_recommendation_job_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_run_target_recommendation_job_request=sql_server_instance_run_target_recommendation_job_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceRunTargetRecommendationJobResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _get_target_recommendation_reports_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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)) + content_type = content_type if sql_server_instance_target_recommendation_reports_request else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = ( + content_type or "application/json" if sql_server_instance_target_recommendation_reports_request else None + ) + _json = None + _content = None + if isinstance(sql_server_instance_target_recommendation_reports_request, (IOBase, bytes)): + _content = sql_server_instance_target_recommendation_reports_request + else: + if sql_server_instance_target_recommendation_reports_request is not None: + _json = self._serialize.body( + sql_server_instance_target_recommendation_reports_request, + "SqlServerInstanceTargetRecommendationReportsRequest", + ) + else: + _json = None + + _request = build_get_target_recommendation_reports_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + _models.SqlServerInstanceTargetRecommendationReportsRequest + ] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Default value is None. + :type sql_server_instance_target_recommendation_reports_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either + SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Default value is None. + :type sql_server_instance_target_recommendation_reports_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either + SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Is either a + SqlServerInstanceTargetRecommendationReportsRequest type or a IO[bytes] type. Default value is + None. + :type sql_server_instance_target_recommendation_reports_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest or + IO[bytes] + :return: An instance of LROPoller that returns either + SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :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)) + content_type = content_type if sql_server_instance_target_recommendation_reports_request else None + cls: ClsType[_models.SqlServerInstanceTargetRecommendationReportsResponse] = 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._get_target_recommendation_reports_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_target_recommendation_reports_request=sql_server_instance_target_recommendation_reports_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceTargetRecommendationReportsResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _get_migration_readiness_report_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_get_migration_readiness_report_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_get_migration_readiness_report( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]: + """Retrieves the migration readiness report for the SQL Server instance. The report contains an + assessment of the instance's readiness for migration to Azure SQL targets. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of LROPoller that returns either + SqlServerInstanceMigrationReadinessReportResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceMigrationReadinessReportResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceMigrationReadinessReportResponse] = 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._get_migration_readiness_report_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceMigrationReadinessReportResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def run_best_practices_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstanceRunBestPracticesAssessmentResponse: + """The request to run SQL best practices assessment. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstanceRunBestPracticesAssessmentResponse or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = kwargs.pop("cls", None) + + _request = build_run_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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( + "SqlServerInstanceRunBestPracticesAssessmentResponse", pipeline_response.http_response + ) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _run_best_practice_assessment_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_run_best_practice_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_run_best_practice_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]: + """The request to run SQL best practices assessment asynchronously. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of LROPoller that returns either + SqlServerInstanceRunBestPracticesAssessmentResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = 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._run_best_practice_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceRunBestPracticesAssessmentResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _run_migration_readiness_assessment_initial( # pylint: disable=name-too-long + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_run_migration_readiness_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_run_migration_readiness_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]: + """The request to run migration readiness assessment asynchronously. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of LROPoller that returns either + SqlServerInstanceRunMigrationReadinessAssessmentResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] = 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._run_migration_readiness_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize( + "SqlServerInstanceRunMigrationReadinessAssessmentResponse", pipeline_response.http_response + ) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[_models.SqlServerInstanceJobsStatusRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Default value is None. + :type sql_server_instance_jobs_status_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Default value is None. + :type sql_server_instance_jobs_status_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[ + Union[_models.SqlServerInstanceJobsStatusRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Is either a SqlServerInstanceJobsStatusRequest type or a IO[bytes] + type. Default value is None. + :type sql_server_instance_jobs_status_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest or IO[bytes] + :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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)) + content_type = content_type if sql_server_instance_jobs_status_request else None + cls: ClsType[_models.SqlServerInstanceJobsStatusResponse] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if sql_server_instance_jobs_status_request else None + _json = None + _content = None + if isinstance(sql_server_instance_jobs_status_request, (IOBase, bytes)): + _content = sql_server_instance_jobs_status_request + else: + if sql_server_instance_jobs_status_request is not None: + _json = self._serialize.body( + sql_server_instance_jobs_status_request, "SqlServerInstanceJobsStatusRequest" + ) + else: + _json = None + + _request = build_get_jobs_status_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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("SqlServerInstanceJobsStatusResponse", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _get_jobs_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, IO[bytes]]] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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)) + content_type = content_type if sql_server_instance_jobs_request else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if sql_server_instance_jobs_request else None + _json = None + _content = None + if isinstance(sql_server_instance_jobs_request, (IOBase, bytes)): + _content = sql_server_instance_jobs_request + else: + if sql_server_instance_jobs_request is not None: + _json = self._serialize.body(sql_server_instance_jobs_request, "SqlServerInstanceJobsRequest") + else: + _json = None + + _request = build_get_jobs_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[_models.SqlServerInstanceJobsRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Default value is None. + :type sql_server_instance_jobs_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerInstanceJobsResponse or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Default value is None. + :type sql_server_instance_jobs_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either SqlServerInstanceJobsResponse or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, IO[bytes]]] = None, + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Is either a SqlServerInstanceJobsRequest type or a IO[bytes] type. Default + value is None. + :type sql_server_instance_jobs_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest or IO[bytes] + :return: An instance of LROPoller that returns either SqlServerInstanceJobsResponse or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :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)) + content_type = content_type if sql_server_instance_jobs_request else None + cls: ClsType[_models.SqlServerInstanceJobsResponse] = 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._get_jobs_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_jobs_request=sql_server_instance_jobs_request, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("SqlServerInstanceJobsResponse", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceJobsResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceJobsResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def pre_upgrade( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstance: + """Request Upgrade Permission before upgrading. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstance or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) + + _request = build_pre_upgrade_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.next_link or None, iter(list_of_elem) + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) - def get_next(next_link=None): - request = prepare_request(next_link) + response = pipeline_response.http_response - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + 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, ) - 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - return pipeline_response + deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) - return ItemPaged(get_next, extract_data) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore - list_by_resource_group.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances" - } + return deserialized # type: ignore @distributed_trace - def get(self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any) -> _models.SqlServerInstance: - """Retrieves a SQL Server Instance resource. + def post_upgrade( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstance: + """Clean up after upgrading. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str - :keyword callable cls: A custom type or function that will be passed the direct response :return: SqlServerInstance or the result of cls(response) :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -455,53 +3475,51 @@ def get(self, resource_group_name: str, sql_server_instance_name: str, **kwargs: _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlServerInstance] = kwargs.pop("cls", None) - request = build_get_request( + _request = build_post_upgrade_request( resource_group_name=resource_group_name, sql_server_instance_name=sql_server_instance_name, subscription_id=self._config.subscription_id, api_version=api_version, - template_url=self.get.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + error = self._deserialize.failsafe_deserialize( + _models.ErrorResponse, + pipeline_response, + ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize("SqlServerInstance", pipeline_response) + deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized + return cls(pipeline_response, deserialized, {}) # type: ignore - get.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } + return deserialized # type: ignore - def _create_initial( + def _run_managed_instance_link_assessment_initial( # pylint: disable=name-too-long self, resource_group_name: str, sql_server_instance_name: str, - sql_server_instance: Union[_models.SqlServerInstance, IO], + sql_server_instance_managed_instance_link_assessment_request: Union[ + _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, IO[bytes] + ], **kwargs: Any - ) -> _models.SqlServerInstance: - error_map = { + ) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -512,21 +3530,22 @@ def _create_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlServerInstance] = kwargs.pop("cls", None) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) content_type = content_type or "application/json" _json = None _content = None - if isinstance(sql_server_instance, (IO, bytes)): - _content = sql_server_instance + if isinstance(sql_server_instance_managed_instance_link_assessment_request, (IOBase, bytes)): + _content = sql_server_instance_managed_instance_link_assessment_request else: - _json = self._serialize.body(sql_server_instance, "SqlServerInstance") + _json = self._serialize.body( + sql_server_instance_managed_instance_link_assessment_request, + "SqlServerInstanceManagedInstanceLinkAssessmentRequest", + ) - request = build_create_request( + _request = build_run_managed_instance_link_assessment_request( resource_group_name=resource_group_name, sql_server_instance_name=sql_server_instance_name, subscription_id=self._config.subscription_id, @@ -534,158 +3553,150 @@ def _create_initial( content_type=content_type, json=_json, content=_content, - template_url=self._create_initial.metadata["url"], headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + _request.url = self._client.format_url(_request.url) + _decompress = kwargs.pop("decompress", True) + _stream = True 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]: + if response.status_code not in [200, 202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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("SqlServerInstance", pipeline_response) + response_headers = {} + if response.status_code == 202: + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) - if response.status_code == 201: - deserialized = self._deserialize("SqlServerInstance", pipeline_response) + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized # type: ignore - _create_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } - @overload - def begin_create( + def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long self, resource_group_name: str, sql_server_instance_name: str, - sql_server_instance: _models.SqlServerInstance, + sql_server_instance_managed_instance_link_assessment_request: _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.SqlServerInstance]: - """Creates or replaces a SQL Server Instance resource. + ) -> LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. - :param resource_group_name: The name of the Azure resource group. Required. + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str - :param sql_server_instance: The SQL Server Instance to be created or updated. Required. - :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Required. + :type sql_server_instance_managed_instance_link_assessment_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest :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 SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :return: An instance of LROPoller that returns either + SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create( + def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long self, resource_group_name: str, sql_server_instance_name: str, - sql_server_instance: IO, + sql_server_instance_managed_instance_link_assessment_request: IO[bytes], *, content_type: str = "application/json", **kwargs: Any - ) -> LROPoller[_models.SqlServerInstance]: - """Creates or replaces a SQL Server Instance resource. + ) -> LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. - :param resource_group_name: The name of the Azure resource group. Required. + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str - :param sql_server_instance: The SQL Server Instance to be created or updated. Required. - :type sql_server_instance: IO + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Required. + :type sql_server_instance_managed_instance_link_assessment_request: IO[bytes] :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 SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :return: An instance of LROPoller that returns either + SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_create( + def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long self, resource_group_name: str, sql_server_instance_name: str, - sql_server_instance: Union[_models.SqlServerInstance, IO], + sql_server_instance_managed_instance_link_assessment_request: Union[ + _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, IO[bytes] + ], **kwargs: Any - ) -> LROPoller[_models.SqlServerInstance]: - """Creates or replaces a SQL Server Instance resource. + ) -> LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. - :param resource_group_name: The name of the Azure resource group. Required. + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str - :param sql_server_instance: The SQL Server Instance to be created or updated. Is either a model - type or a IO type. Required. - :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance 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 SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Is either a + SqlServerInstanceManagedInstanceLinkAssessmentRequest type or a IO[bytes] type. Required. + :type sql_server_instance_managed_instance_link_assessment_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest or + IO[bytes] + :return: An instance of LROPoller that returns either + SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: Literal["2022-03-01-preview"] = 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.SqlServerInstance] = kwargs.pop("cls", None) + cls: ClsType[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] = 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._create_initial( + raw_result = self._run_managed_instance_link_assessment_initial( resource_group_name=resource_group_name, sql_server_instance_name=sql_server_instance_name, - sql_server_instance=sql_server_instance, + sql_server_instance_managed_instance_link_assessment_request=sql_server_instance_managed_instance_link_assessment_request, api_version=api_version, content_type=content_type, cls=lambda x, y, z: x, @@ -693,12 +3704,15 @@ def begin_create( params=_params, **kwargs ) + raw_result.http_response.read() # type: ignore kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerInstance", pipeline_response) + deserialized = self._deserialize( + "SqlServerInstanceManagedInstanceLinkAssessmentResponse", pipeline_response.http_response + ) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized if polling is True: @@ -710,268 +3724,182 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller.from_continuation_token( + return LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse].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_create.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } - - def _delete_initial( # pylint: disable=inconsistent-return-statements - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> None: - error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) - ) - cls: ClsType[None] = kwargs.pop("cls", None) - - request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - template_url=self._delete_initial.metadata["url"], - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if cls: - return cls(pipeline_response, None, {}) - - _delete_initial.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } - - @distributed_trace - def begin_delete(self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any) -> LROPoller[None]: - """Deletes a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: 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 = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - api_version: Literal["2022-03-01-preview"] = kwargs.pop( - "api_version", _params.pop("api-version", self._config.api_version) + return LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - 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._delete_initial( # type: ignore - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - api_version=api_version, - 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, **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_delete.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } @overload - def update( + def get_all_availability_groups( self, resource_group_name: str, sql_server_instance_name: str, - parameters: _models.SqlServerInstanceUpdate, + availability_group_retrieval_filters: Optional[_models.AvailabilityGroupRetrievalFilters] = None, *, content_type: str = "application/json", **kwargs: Any - ) -> _models.SqlServerInstance: - """Updates a SQL Server Instance resource. + ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str - :param parameters: The SQL Server Instance. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate + :param availability_group_retrieval_filters: Default value is None. + :type availability_group_retrieval_filters: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters :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: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def update( + def get_all_availability_groups( self, resource_group_name: str, sql_server_instance_name: str, - parameters: IO, + availability_group_retrieval_filters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any - ) -> _models.SqlServerInstance: - """Updates a SQL Server Instance resource. + ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str - :param parameters: The SQL Server Instance. Required. - :type parameters: IO + :param availability_group_retrieval_filters: Default value is None. + :type availability_group_retrieval_filters: IO[bytes] :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: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def update( + def get_all_availability_groups( self, resource_group_name: str, sql_server_instance_name: str, - parameters: Union[_models.SqlServerInstanceUpdate, IO], + availability_group_retrieval_filters: Optional[ + Union[_models.AvailabilityGroupRetrievalFilters, IO[bytes]] + ] = None, **kwargs: Any - ) -> _models.SqlServerInstance: - """Updates a SQL Server Instance resource. + ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. :param resource_group_name: The name of the Azure resource group. Required. :type resource_group_name: str :param sql_server_instance_name: Name of SQL Server Instance. Required. :type sql_server_instance_name: str - :param parameters: The SQL Server Instance. Is either a model type or a IO type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate 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: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :param availability_group_retrieval_filters: Is either a AvailabilityGroupRetrievalFilters type + or a IO[bytes] type. Default value is None. + :type availability_group_retrieval_filters: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters or IO[bytes] + :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { + _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)) + content_type = content_type if availability_group_retrieval_filters else None + cls: ClsType[_models.ArcSqlServerAvailabilityGroupListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { 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: Literal["2022-03-01-preview"] = 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.SqlServerInstance] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" + content_type = content_type or "application/json" if availability_group_retrieval_filters else None _json = None _content = None - if isinstance(parameters, (IO, bytes)): - _content = parameters + if isinstance(availability_group_retrieval_filters, (IOBase, bytes)): + _content = availability_group_retrieval_filters else: - _json = self._serialize.body(parameters, "SqlServerInstanceUpdate") + if availability_group_retrieval_filters is not None: + _json = self._serialize.body(availability_group_retrieval_filters, "AvailabilityGroupRetrievalFilters") + else: + _json = None - request = build_update_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - template_url=self.update.metadata["url"], - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) + def prepare_request(next_link=None): + if not next_link: - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs - ) + _request = build_get_all_availability_groups_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) - response = pipeline_response.http_response + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request - 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) + def extract_data(pipeline_response): + deserialized = self._deserialize("ArcSqlServerAvailabilityGroupListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.next_link or None, iter(list_of_elem) - deserialized = self._deserialize("SqlServerInstance", pipeline_response) + def get_next(next_link=None): + _request = prepare_request(next_link) - if cls: - return cls(pipeline_response, deserialized, {}) + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + response = pipeline_response.http_response - return deserialized + 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) - update.metadata = { - "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" - } + return pipeline_response + + return ItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_licenses_operations.py new file mode 100644 index 000000000000..3b0cd40028c0 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_licenses_operations.py @@ -0,0 +1,792 @@ +# pylint: disable=line-too-long,useless-suppression +# 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 collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, IO, Optional, TypeVar, Union, overload +import urllib.parse + +from azure.core import PipelineClient +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + map_error, +) +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.rest import HttpRequest, HttpResponse +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 .._configuration import AzureArcDataManagementClientConfiguration +from .._utils.serialization import Deserializer, Serializer + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +List = list + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + + +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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerLicenses" + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_list_by_resource_group_request(resource_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_get_request( + resource_group_name: str, sql_server_license_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerLicenseName": _SERIALIZER.url( + "sql_server_license_name", sql_server_license_name, "str", pattern=r"^[-\w\._\(\)]+$" + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_create_request( + resource_group_name: str, sql_server_license_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerLicenseName": _SERIALIZER.url( + "sql_server_license_name", sql_server_license_name, "str", pattern=r"^[-\w\._\(\)]+$" + ), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_delete_request( + resource_group_name: str, sql_server_license_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerLicenseName": _SERIALIZER.url( + "sql_server_license_name", sql_server_license_name, "str", pattern=r"^[-\w\._\(\)]+$" + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_update_request( + resource_group_name: str, sql_server_license_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", "2026-03-01-preview")) + 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.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerLicenseName": _SERIALIZER.url( + "sql_server_license_name", sql_server_license_name, "str", pattern=r"^[-\w\._\(\)]+$" + ), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +class SqlServerLicensesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s + :attr:`sql_server_licenses` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def list(self, **kwargs: Any) -> ItemPaged["_models.SqlServerLicense"]: + """List sqlServerLicense resources in the subscription. + + List sqlServerLicense resources in the subscription. + + :return: An iterator like instance of either SqlServerLicense or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerLicenseListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_request( + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerLicenseListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.SqlServerLicense"]: + """List sqlServerLicense resources in the resource group. + + Gets all sqlServerLicenses in a resource group. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :return: An iterator like instance of either SqlServerLicense or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = 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)) + cls: ClsType[_models.SqlServerLicenseListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SqlServerLicenseListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + 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=_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) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def get(self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any) -> _models.SqlServerLicense: + """Retrieves a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[_models.SqlServerLicense] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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("SqlServerLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: _models.SqlServerLicense, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Required. + :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Required. + :type sql_server_license: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: Union[_models.SqlServerLicense, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Is either a + SqlServerLicense type or a IO[bytes] type. Required. + :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense or IO[bytes] + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(sql_server_license, (IOBase, bytes)): + _content = sql_server_license + else: + _json = self._serialize.body(sql_server_license, "SqlServerLicense") + + _request = build_create_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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, 201]: + 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("SqlServerLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def delete( # pylint: disable=inconsistent-return-statements + self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any + ) -> None: + """Deletes a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :return: None or the result of cls(response) + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = 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)) + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _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, 204]: + 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) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @overload + def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: _models.SqlServerLicenseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: Union[_models.SqlServerLicenseUpdate, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the Azure resource group. Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Is either a SqlServerLicenseUpdate type or a + IO[bytes] type. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate or IO[bytes] + :return: SqlServerLicense or the result of cls(response) + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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.SqlServerLicense] = 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, "SqlServerLicenseUpdate") + + _request = build_update_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _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("SqlServerLicense", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_swagger.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_swagger.json new file mode 100644 index 000000000000..fadd736dc996 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_swagger.json @@ -0,0 +1,35855 @@ +{ + "azure.mgmt.azurearcdata": { + "class_nodes": { + "AzureArcDataManagementClient": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "credential": { + "default": null, + "param_type": "positional_or_keyword" + }, + "subscription_id": { + "default": null, + "param_type": "positional_or_keyword" + }, + "base_url": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "cloud_setting": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "close": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "client_side_validation": { + "attr_type": false + }, + "operations": { + "attr_type": "Operations" + }, + "sql_managed_instances": { + "attr_type": "SqlManagedInstancesOperations" + }, + "failover_groups": { + "attr_type": "FailoverGroupsOperations" + }, + "sql_server_instances": { + "attr_type": "SqlServerInstancesOperations" + }, + "sql_server_licenses": { + "attr_type": "SqlServerLicensesOperations" + }, + "data_controllers": { + "attr_type": "DataControllersOperations" + }, + "active_directory_connectors": { + "attr_type": "ActiveDirectoryConnectorsOperations" + }, + "postgres_instances": { + "attr_type": "PostgresInstancesOperations" + }, + "sql_server_availability_groups": { + "attr_type": "SqlServerAvailabilityGroupsOperations" + }, + "sql_server_databases": { + "attr_type": "SqlServerDatabasesOperations" + }, + "sql_server_esu_licenses": { + "attr_type": "SqlServerEsuLicensesOperations" + } + } + } + }, + "function_nodes": {} + }, + "azure.mgmt.azurearcdata.operations": { + "class_nodes": { + "ActiveDirectoryConnectorsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "type": "ActiveDirectoryConnectorResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "DataControllersOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_delete_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_patch_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "DataControllerUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_put_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "DataControllerResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "get_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_in_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_in_subscription": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "FailoverGroupsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "type": "FailoverGroupResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "Operations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "PostgresInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "type": "PostgresInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "PostgresInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlManagedInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "type": "SqlManagedInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlManagedInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerAvailabilityGroupsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "add_databases": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "Databases", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_create_availability_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "type": "AvailabilityGroupCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_create_distributed_availability_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "type": "DistributedAvailabilityGroupCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_create_managed_instance_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "type": "ManagedInstanceLinkCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_delete_mi_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_failover_mi_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "type": "FailoverMiLinkResourceId", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "type": "SqlServerAvailabilityGroupUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "type": "SqlServerAvailabilityGroupResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "detail_view": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "failover": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "force_failover_allow_data_loss": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "remove_databases": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "Databases", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerDatabasesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "type": "SqlServerDatabaseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "type": "SqlServerDatabaseResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "SqlServerEsuLicensesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "type": "SqlServerEsuLicense", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerEsuLicenseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "type": "SqlServerInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_get_best_practices_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "type": "SqlServerInstanceBpaRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_get_jobs": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "type": "Optional[SqlServerInstanceJobsRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_get_migration_readiness_report": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_get_target_recommendation_reports": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "type": "Optional[SqlServerInstanceTargetRecommendationReportsRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_get_telemetry": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "type": "SqlServerInstanceTelemetryRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_run_best_practice_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_run_managed_instance_link_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "type": "SqlServerInstanceManagedInstanceLinkAssessmentRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_run_migration_readiness_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_run_target_recommendation_job": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "type": "Optional[SqlServerInstanceRunTargetRecommendationJobRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get_all_availability_groups": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "type": "Optional[AvailabilityGroupRetrievalFilters]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "get_jobs_status": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "type": "Optional[SqlServerInstanceJobsStatusRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "post_upgrade": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pre_upgrade": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "run_best_practices_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "run_migration_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "SqlServerLicensesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "type": "SqlServerLicense", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerLicenseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + } + }, + "properties": {} + } + }, + "function_nodes": {} + }, + "azure.mgmt.azurearcdata.models": { + "class_nodes": { + "AccountProvisioningMode": { + "type": "Enum", + "methods": {}, + "properties": { + "AUTOMATIC": "AUTOMATIC", + "MANUAL": "MANUAL", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ActivationState": { + "type": "Enum", + "methods": {}, + "properties": { + "ACTIVATED": "ACTIVATED", + "DEACTIVATED": "DEACTIVATED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ActiveDirectoryConnectorDNSDetails": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "nameserver_ip_addresses": { + "default": null, + "param_type": "keyword_only" + }, + "domain_name": { + "default": "none", + "param_type": "keyword_only" + }, + "replicas": { + "default": "int", + "param_type": "keyword_only" + }, + "prefer_k8_s_dns_for_ptr_lookups": { + "default": "bool", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "domain_name": { + "attr_type": "domain_name" + }, + "nameserver_ip_addresses": { + "attr_type": "nameserver_ip_addresses" + }, + "replicas": { + "attr_type": "replicas" + }, + "prefer_k8_s_dns_for_ptr_lookups": { + "attr_type": "prefer_k8_s_dns_for_ptr_lookups" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ActiveDirectoryConnectorDomainDetails": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "realm": { + "default": null, + "param_type": "keyword_only" + }, + "netbios_domain_name": { + "default": "none", + "param_type": "keyword_only" + }, + "service_account_provisioning": { + "default": "str", + "param_type": "keyword_only" + }, + "ou_distinguished_name": { + "default": "none", + "param_type": "keyword_only" + }, + "domain_controllers": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "realm": { + "attr_type": "realm" + }, + "netbios_domain_name": { + "attr_type": "netbios_domain_name" + }, + "service_account_provisioning": { + "attr_type": "service_account_provisioning" + }, + "ou_distinguished_name": { + "attr_type": "ou_distinguished_name" + }, + "domain_controllers": { + "attr_type": "domain_controllers" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ActiveDirectoryConnectorListResult": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": null + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ActiveDirectoryConnectorProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "spec": { + "default": null, + "param_type": "keyword_only" + }, + "domain_service_account_login_information": { + "default": "none", + "param_type": "keyword_only" + }, + "status": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "domain_service_account_login_information": { + "attr_type": "domain_service_account_login_information" + }, + "provisioning_state": { + "attr_type": null + }, + "spec": { + "attr_type": "spec" + }, + "status": { + "attr_type": "status" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ActiveDirectoryConnectorResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "properties": { + "default": null, + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": { + "attr_type": "properties" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ActiveDirectoryConnectorSpec": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory": { + "default": null, + "param_type": "keyword_only" + }, + "dns": { + "default": null, + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "active_directory": { + "attr_type": "active_directory" + }, + "dns": { + "attr_type": "dns" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ActiveDirectoryConnectorStatus": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "additional_properties": { + "default": "none", + "param_type": "keyword_only" + }, + "last_update_time": { + "default": "none", + "param_type": "keyword_only" + }, + "observed_generation": { + "default": "none", + "param_type": "keyword_only" + }, + "state": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "additional_properties": { + "attr_type": null + }, + "last_update_time": { + "attr_type": "last_update_time" + }, + "observed_generation": { + "attr_type": "observed_generation" + }, + "state": { + "attr_type": "state" + } + } + }, + "ActiveDirectoryDomainController": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "hostname": { + "default": null, + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "hostname": { + "attr_type": "hostname" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ActiveDirectoryDomainControllers": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "primary_domain_controller": { + "default": "none", + "param_type": "keyword_only" + }, + "secondary_domain_controllers": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "primary_domain_controller": { + "attr_type": "primary_domain_controller" + }, + "secondary_domain_controllers": { + "attr_type": "secondary_domain_controllers" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ActiveDirectoryInformation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keytab_information": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "keytab_information": { + "attr_type": "keytab_information" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "AdditionalMigrationJobAttributes": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_name": { + "default": "none", + "param_type": "keyword_only" + }, + "key_value": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "key_name": { + "attr_type": "key_name" + }, + "key_value": { + "attr_type": "key_value" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "AggregationType": { + "type": "Enum", + "methods": {}, + "properties": { + "AVERAGE": "AVERAGE", + "COUNT": "COUNT", + "MAXIMUM": "MAXIMUM", + "MINIMUM": "MINIMUM", + "SUM": "SUM", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "AlwaysOnRole": { + "type": "Enum", + "methods": {}, + "properties": { + "AVAILABILITY_GROUP_REPLICA": "AVAILABILITY_GROUP_REPLICA", + "FAILOVER_CLUSTER_INSTANCE": "FAILOVER_CLUSTER_INSTANCE", + "FAILOVER_CLUSTER_NODE": "FAILOVER_CLUSTER_NODE", + "NONE": "NONE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ArcSqlManagedInstanceLicenseType": { + "type": "Enum", + "methods": {}, + "properties": { + "BASE_PRICE": "BASE_PRICE", + "DISASTER_RECOVERY": "DISASTER_RECOVERY", + "LICENSE_INCLUDED": "LICENSE_INCLUDED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ArcSqlServerAvailabilityGroupListResult": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": null + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ArcSqlServerAvailabilityGroupTypeFilter": { + "type": "Enum", + "methods": {}, + "properties": { + "CONTAINED": "CONTAINED", + "DEFAULT": "DEFAULT", + "DISTRIBUTED": "DISTRIBUTED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ArcSqlServerAvailabilityMode": { + "type": "Enum", + "methods": {}, + "properties": { + "ASYNCHRONOUS_COMMIT": "ASYNCHRONOUS_COMMIT", + "SYNCHRONOUS_COMMIT": "SYNCHRONOUS_COMMIT", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ArcSqlServerDatabaseListResult": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": null + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ArcSqlServerFailoverMode": { + "type": "Enum", + "methods": {}, + "properties": { + "AUTOMATIC": "AUTOMATIC", + "EXTERNAL": "EXTERNAL", + "MANUAL": "MANUAL", + "NONE": "NONE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ArcSqlServerLicenseType": { + "type": "Enum", + "methods": {}, + "properties": { + "FABRIC_CAPACITY": "FABRIC_CAPACITY", + "FREE": "FREE", + "HADR": "HADR", + "LICENSE_ONLY": "LICENSE_ONLY", + "PAID": "PAID", + "PAYG": "PAYG", + "SERVER_CAL": "SERVER_CAL", + "UNDEFINED": "UNDEFINED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "AssessmentStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "FAILURE": "FAILURE", + "SUCCESS": "SUCCESS", + "WARNING": "WARNING", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Authentication": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "mode": { + "default": "none", + "param_type": "keyword_only" + }, + "sql_server_entra_identity": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "mode": { + "attr_type": "mode" + }, + "sql_server_entra_identity": { + "attr_type": "sql_server_entra_identity" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "AutomatedBackupPreference": { + "type": "Enum", + "methods": {}, + "properties": { + "NONE": "NONE", + "PRIMARY": "PRIMARY", + "SECONDARY": "SECONDARY", + "SECONDARY_ONLY": "SECONDARY_ONLY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "AvailabilityGroupConfigure": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "endpoint_name": { + "default": "none", + "param_type": "keyword_only" + }, + "endpoint_url": { + "default": "none", + "param_type": "keyword_only" + }, + "endpoint_authentication_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "certificate_name": { + "default": "none", + "param_type": "keyword_only" + }, + "endpoint_connect_login": { + "default": "none", + "param_type": "keyword_only" + }, + "availability_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "failover_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "session_timeout": { + "default": "none", + "param_type": "keyword_only" + }, + "primary_allow_connections": { + "default": "none", + "param_type": "keyword_only" + }, + "secondary_allow_connections": { + "default": "none", + "param_type": "keyword_only" + }, + "backup_priority": { + "default": "none", + "param_type": "keyword_only" + }, + "read_only_routing_url": { + "default": "none", + "param_type": "keyword_only" + }, + "read_write_routing_url": { + "default": "none", + "param_type": "keyword_only" + }, + "seeding_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "endpoint_name": { + "attr_type": "endpoint_name" + }, + "endpoint_url": { + "attr_type": "endpoint_url" + }, + "endpoint_authentication_mode": { + "attr_type": "endpoint_authentication_mode" + }, + "certificate_name": { + "attr_type": "certificate_name" + }, + "endpoint_connect_login": { + "attr_type": "endpoint_connect_login" + }, + "availability_mode": { + "attr_type": "availability_mode" + }, + "availability_mode_description": { + "attr_type": null + }, + "failover_mode": { + "attr_type": "failover_mode" + }, + "failover_mode_description": { + "attr_type": null + }, + "session_timeout": { + "attr_type": "session_timeout" + }, + "primary_allow_connections": { + "attr_type": "primary_allow_connections" + }, + "primary_role_allow_connections_description": { + "attr_type": null + }, + "secondary_allow_connections": { + "attr_type": "secondary_allow_connections" + }, + "secondary_role_allow_connections_description": { + "attr_type": null + }, + "replica_create_date": { + "attr_type": null + }, + "replica_modify_date": { + "attr_type": null + }, + "backup_priority": { + "attr_type": "backup_priority" + }, + "read_only_routing_url": { + "attr_type": "read_only_routing_url" + }, + "read_write_routing_url": { + "attr_type": "read_write_routing_url" + }, + "seeding_mode": { + "attr_type": "seeding_mode" + }, + "seeding_mode_description": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "AvailabilityGroupCreateUpdateConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": "none", + "param_type": "keyword_only" + }, + "replicas": { + "default": "none", + "param_type": "keyword_only" + }, + "databases": { + "default": "none", + "param_type": "keyword_only" + }, + "automated_backup_preference": { + "default": "none", + "param_type": "keyword_only" + }, + "failure_condition_level": { + "default": "none", + "param_type": "keyword_only" + }, + "health_check_timeout": { + "default": "none", + "param_type": "keyword_only" + }, + "db_failover": { + "default": "none", + "param_type": "keyword_only" + }, + "dtc_support": { + "default": "none", + "param_type": "keyword_only" + }, + "required_synchronized_secondaries_to_commit": { + "default": "none", + "param_type": "keyword_only" + }, + "cluster_type": { + "default": "none", + "param_type": "keyword_only" + }, + "listener": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group_name": { + "attr_type": "availability_group_name" + }, + "replicas": { + "attr_type": "replicas" + }, + "databases": { + "attr_type": "databases" + }, + "automated_backup_preference": { + "attr_type": "automated_backup_preference" + }, + "failure_condition_level": { + "attr_type": "failure_condition_level" + }, + "health_check_timeout": { + "attr_type": "health_check_timeout" + }, + "db_failover": { + "attr_type": "db_failover" + }, + "dtc_support": { + "attr_type": "dtc_support" + }, + "required_synchronized_secondaries_to_commit": { + "attr_type": "required_synchronized_secondaries_to_commit" + }, + "cluster_type": { + "attr_type": "cluster_type" + }, + "listener": { + "attr_type": "listener" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "AvailabilityGroupCreateUpdateReplicaConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "server_instance": { + "default": "none", + "param_type": "keyword_only" + }, + "endpoint_name": { + "default": "none", + "param_type": "keyword_only" + }, + "endpoint_url": { + "default": "none", + "param_type": "keyword_only" + }, + "endpoint_authentication_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "certificate_name": { + "default": "none", + "param_type": "keyword_only" + }, + "endpoint_connect_login": { + "default": "none", + "param_type": "keyword_only" + }, + "availability_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "failover_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "seeding_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "backup_priority": { + "default": "none", + "param_type": "keyword_only" + }, + "secondary_role_allow_connections": { + "default": "none", + "param_type": "keyword_only" + }, + "secondary_role_read_only_routing_url": { + "default": "none", + "param_type": "keyword_only" + }, + "primary_role_allow_connections": { + "default": "none", + "param_type": "keyword_only" + }, + "primary_role_read_only_routing_list": { + "default": "none", + "param_type": "keyword_only" + }, + "session_timeout": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "server_instance": { + "attr_type": "server_instance" + }, + "endpoint_name": { + "attr_type": "endpoint_name" + }, + "endpoint_url": { + "attr_type": "endpoint_url" + }, + "endpoint_authentication_mode": { + "attr_type": "endpoint_authentication_mode" + }, + "certificate_name": { + "attr_type": "certificate_name" + }, + "endpoint_connect_login": { + "attr_type": "endpoint_connect_login" + }, + "availability_mode": { + "attr_type": "availability_mode" + }, + "failover_mode": { + "attr_type": "failover_mode" + }, + "seeding_mode": { + "attr_type": "seeding_mode" + }, + "backup_priority": { + "attr_type": "backup_priority" + }, + "secondary_role_allow_connections": { + "attr_type": "secondary_role_allow_connections" + }, + "secondary_role_read_only_routing_url": { + "attr_type": "secondary_role_read_only_routing_url" + }, + "primary_role_allow_connections": { + "attr_type": "primary_role_allow_connections" + }, + "primary_role_read_only_routing_list": { + "attr_type": "primary_role_read_only_routing_list" + }, + "session_timeout": { + "attr_type": "session_timeout" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "AvailabilityGroupInfo": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failure_condition_level": { + "default": "none", + "param_type": "keyword_only" + }, + "health_check_timeout": { + "default": "none", + "param_type": "keyword_only" + }, + "basic_features": { + "default": "none", + "param_type": "keyword_only" + }, + "dtc_support": { + "default": "none", + "param_type": "keyword_only" + }, + "db_failover": { + "default": "none", + "param_type": "keyword_only" + }, + "is_distributed": { + "default": "none", + "param_type": "keyword_only" + }, + "required_synchronized_secondaries_to_commit": { + "default": "none", + "param_type": "keyword_only" + }, + "is_contained": { + "default": "none", + "param_type": "keyword_only" + }, + "listener": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "failure_condition_level": { + "attr_type": "failure_condition_level" + }, + "health_check_timeout": { + "attr_type": "health_check_timeout" + }, + "automated_backup_preference_description": { + "attr_type": null + }, + "version": { + "attr_type": null + }, + "basic_features": { + "attr_type": "basic_features" + }, + "dtc_support": { + "attr_type": "dtc_support" + }, + "db_failover": { + "attr_type": "db_failover" + }, + "is_distributed": { + "attr_type": "is_distributed" + }, + "cluster_type_description": { + "attr_type": null + }, + "required_synchronized_secondaries_to_commit": { + "attr_type": "required_synchronized_secondaries_to_commit" + }, + "is_contained": { + "attr_type": "is_contained" + }, + "primary_replica": { + "attr_type": null + }, + "primary_recovery_health_description": { + "attr_type": null + }, + "secondary_recovery_health_description": { + "attr_type": null + }, + "synchronization_health_description": { + "attr_type": null + }, + "replication_partner_type": { + "attr_type": null + }, + "listener": { + "attr_type": "listener" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "AvailabilityGroupRetrievalFilters": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_type_filter": { + "default": "none", + "param_type": "keyword_only" + }, + "replication_partner_type_filter": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group_type_filter": { + "attr_type": "availability_group_type_filter" + }, + "replication_partner_type_filter": { + "attr_type": "replication_partner_type_filter" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "AvailabilityGroupState": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group_replica_role": { + "attr_type": null + }, + "operational_state_description": { + "attr_type": null + }, + "recovery_health_description": { + "attr_type": null + }, + "synchronization_health_description": { + "attr_type": null + }, + "connected_state_description": { + "attr_type": null + }, + "last_connect_error_description": { + "attr_type": null + }, + "last_connect_error_timestamp": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "AzureManagedInstanceRole": { + "type": "Enum", + "methods": {}, + "properties": { + "PRIMARY": "PRIMARY", + "SECONDARY": "SECONDARY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "BackgroundJob": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "state": { + "default": "none", + "param_type": "keyword_only" + }, + "execution_state": { + "default": "none", + "param_type": "keyword_only" + }, + "start_time": { + "default": "none", + "param_type": "keyword_only" + }, + "end_time": { + "default": "none", + "param_type": "keyword_only" + }, + "last_execution_status": { + "default": "none", + "param_type": "keyword_only" + }, + "last_execution_time": { + "default": "none", + "param_type": "keyword_only" + }, + "next_execution_time": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "state": { + "attr_type": "state" + }, + "execution_state": { + "attr_type": "execution_state" + }, + "start_time": { + "attr_type": "start_time" + }, + "end_time": { + "attr_type": "end_time" + }, + "last_execution_status": { + "attr_type": "last_execution_status" + }, + "last_execution_time": { + "attr_type": "last_execution_time" + }, + "next_execution_time": { + "attr_type": "next_execution_time" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "BackupPolicy": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "retention_period_days": { + "default": "none", + "param_type": "keyword_only" + }, + "full_backup_days": { + "default": "none", + "param_type": "keyword_only" + }, + "differential_backup_hours": { + "default": "none", + "param_type": "keyword_only" + }, + "transaction_log_backup_minutes": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "retention_period_days": { + "attr_type": "retention_period_days" + }, + "full_backup_days": { + "attr_type": "full_backup_days" + }, + "differential_backup_hours": { + "attr_type": "differential_backup_hours" + }, + "transaction_log_backup_minutes": { + "attr_type": "transaction_log_backup_minutes" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "BasicLoginInformation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "username": { + "default": "none", + "param_type": "keyword_only" + }, + "password": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "username": { + "attr_type": "username" + }, + "password": { + "attr_type": "password" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "BestPracticesAssessment": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "enabled": { + "default": "none", + "param_type": "keyword_only" + }, + "schedule": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "enabled": { + "attr_type": "enabled" + }, + "schedule": { + "attr_type": "schedule" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "BillingPlan": { + "type": "Enum", + "methods": {}, + "properties": { + "PAID": "PAID", + "PAYG": "PAYG", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ClientConnection": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "enabled": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "enabled": { + "attr_type": "enabled" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ClusterType": { + "type": "Enum", + "methods": {}, + "properties": { + "NONE": "NONE", + "WSFC": "WSFC", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "CommonSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "default": null, + "param_type": "keyword_only" + }, + "dev": { + "default": "bool", + "param_type": "keyword_only" + }, + "size": { + "default": "none", + "param_type": "keyword_only" + }, + "family": { + "default": "none", + "param_type": "keyword_only" + }, + "capacity": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": { + "attr_type": "name" + }, + "dev": { + "attr_type": "dev" + }, + "size": { + "attr_type": "size" + }, + "family": { + "attr_type": "family" + }, + "capacity": { + "attr_type": "capacity" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ConnectionAuth": { + "type": "Enum", + "methods": {}, + "properties": { + "CERTIFICATE": "CERTIFICATE", + "CERTIFICATE_WINDOWS_KERBEROS": "CERTIFICATE_WINDOWS_KERBEROS", + "CERTIFICATE_WINDOWS_NEGOTIATE": "CERTIFICATE_WINDOWS_NEGOTIATE", + "CERTIFICATE_WINDOWS_NTLM": "CERTIFICATE_WINDOWS_NTLM", + "WINDOWS_KERBEROS": "WINDOWS_KERBEROS", + "WINDOWS_KERBEROS_CERTIFICATE": "WINDOWS_KERBEROS_CERTIFICATE", + "WINDOWS_NEGOTIATE": "WINDOWS_NEGOTIATE", + "WINDOWS_NEGOTIATE_CERTIFICATE": "WINDOWS_NEGOTIATE_CERTIFICATE", + "WINDOWS_NTLM": "WINDOWS_NTLM", + "WINDOWS_NTLM_CERTIFICATE": "WINDOWS_NTLM_CERTIFICATE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ConnectionStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "CONNECTED": "CONNECTED", + "DISCONNECTED": "DISCONNECTED", + "DISCOVERED": "DISCOVERED", + "REGISTERED": "REGISTERED", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "CostOptionSelectedValues": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_and_storage_cost_option": { + "default": "none", + "param_type": "keyword_only" + }, + "sql_license_cost_option": { + "default": "none", + "param_type": "keyword_only" + }, + "windows_license_cost_option": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_and_storage_cost_option": { + "attr_type": "compute_and_storage_cost_option" + }, + "sql_license_cost_option": { + "attr_type": "sql_license_cost_option" + }, + "windows_license_cost_option": { + "attr_type": "windows_license_cost_option" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "CostTypeValues": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "storage_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "iops_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_cost": { + "attr_type": "compute_cost" + }, + "storage_cost": { + "attr_type": "storage_cost" + }, + "iops_cost": { + "attr_type": "iops_cost" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "CreatedByType": { + "type": "Enum", + "methods": {}, + "properties": { + "APPLICATION": "APPLICATION", + "KEY": "KEY", + "MANAGED_IDENTITY": "MANAGED_IDENTITY", + "USER": "USER", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "CronTrigger": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "start_time": { + "default": "none", + "param_type": "keyword_only" + }, + "time_zone": { + "default": "none", + "param_type": "keyword_only" + }, + "expression": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "start_time": { + "attr_type": "start_time" + }, + "time_zone": { + "attr_type": "time_zone" + }, + "expression": { + "attr_type": "expression" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DBMEndpoint": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "endpoint_name": { + "attr_type": null + }, + "role": { + "attr_type": null + }, + "is_encryption_enabled": { + "attr_type": null + }, + "encryption_algorithm": { + "attr_type": null + }, + "connection_auth": { + "attr_type": null + }, + "port": { + "attr_type": null + }, + "is_dynamic_port": { + "attr_type": null + }, + "ip_address": { + "attr_type": null + }, + "certificate_name": { + "attr_type": null + }, + "certificate_expiry_date": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DataBaseMigration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "assessment": { + "default": "none", + "param_type": "keyword_only" + }, + "jobs": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "assessment": { + "attr_type": "assessment" + }, + "jobs": { + "attr_type": "jobs" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DataBaseMigrationAssessment": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "assessment_upload_time": { + "attr_type": null + }, + "target_recommendation_generation_time": { + "attr_type": null + }, + "database_assessments": { + "attr_type": null + }, + "target_readiness": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DataControllerProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "infrastructure": { + "default": "str", + "param_type": "keyword_only" + }, + "on_premise_property": { + "default": "none", + "param_type": "keyword_only" + }, + "k8_s_raw": { + "default": "none", + "param_type": "keyword_only" + }, + "upload_watermark": { + "default": "none", + "param_type": "keyword_only" + }, + "last_uploaded_date": { + "default": "none", + "param_type": "keyword_only" + }, + "basic_login_information": { + "default": "none", + "param_type": "keyword_only" + }, + "metrics_dashboard_credential": { + "default": "none", + "param_type": "keyword_only" + }, + "logs_dashboard_credential": { + "default": "none", + "param_type": "keyword_only" + }, + "log_analytics_workspace_config": { + "default": "none", + "param_type": "keyword_only" + }, + "upload_service_principal": { + "default": "none", + "param_type": "keyword_only" + }, + "cluster_id": { + "default": "none", + "param_type": "keyword_only" + }, + "extension_id": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "infrastructure": { + "attr_type": "infrastructure" + }, + "on_premise_property": { + "attr_type": "on_premise_property" + }, + "k8_s_raw": { + "attr_type": "k8_s_raw" + }, + "upload_watermark": { + "attr_type": "upload_watermark" + }, + "last_uploaded_date": { + "attr_type": "last_uploaded_date" + }, + "basic_login_information": { + "attr_type": "basic_login_information" + }, + "metrics_dashboard_credential": { + "attr_type": "metrics_dashboard_credential" + }, + "logs_dashboard_credential": { + "attr_type": "logs_dashboard_credential" + }, + "log_analytics_workspace_config": { + "attr_type": "log_analytics_workspace_config" + }, + "upload_service_principal": { + "attr_type": "upload_service_principal" + }, + "provisioning_state": { + "attr_type": null + }, + "cluster_id": { + "attr_type": "cluster_id" + }, + "extension_id": { + "attr_type": "extension_id" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DataControllerResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "extended_location": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "extended_location": { + "attr_type": "extended_location" + }, + "properties": { + "attr_type": "properties" + }, + "tags": { + "attr_type": "tags" + }, + "location": { + "attr_type": "location" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DataControllerUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "properties": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": { + "attr_type": "tags" + }, + "properties": { + "attr_type": "properties" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DatabaseAssessmentsItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "applies_to_migration_target_platform": { + "default": "none", + "param_type": "keyword_only" + }, + "feature_id": { + "default": "none", + "param_type": "keyword_only" + }, + "issue_category": { + "default": "none", + "param_type": "keyword_only" + }, + "more_information": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "applies_to_migration_target_platform": { + "attr_type": "applies_to_migration_target_platform" + }, + "feature_id": { + "attr_type": "feature_id" + }, + "issue_category": { + "attr_type": "issue_category" + }, + "more_information": { + "attr_type": "more_information" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DatabaseCreateMode": { + "type": "Enum", + "methods": {}, + "properties": { + "DEFAULT": "DEFAULT", + "POINT_IN_TIME_RESTORE": "POINT_IN_TIME_RESTORE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "DatabaseMigrationJobsItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "migration_tracking_id": { + "default": "none", + "param_type": "keyword_only" + }, + "migration_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "initiated_from": { + "default": "none", + "param_type": "keyword_only" + }, + "status": { + "default": "none", + "param_type": "keyword_only" + }, + "last_error": { + "default": "none", + "param_type": "keyword_only" + }, + "target_type": { + "default": "none", + "param_type": "keyword_only" + }, + "target_resource_id": { + "default": "none", + "param_type": "keyword_only" + }, + "start_time": { + "default": "none", + "param_type": "keyword_only" + }, + "end_time": { + "default": "none", + "param_type": "keyword_only" + }, + "additional_attributes": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "migration_tracking_id": { + "attr_type": "migration_tracking_id" + }, + "migration_mode": { + "attr_type": "migration_mode" + }, + "initiated_from": { + "attr_type": "initiated_from" + }, + "status": { + "attr_type": "status" + }, + "last_error": { + "attr_type": "last_error" + }, + "target_type": { + "attr_type": "target_type" + }, + "target_resource_id": { + "attr_type": "target_resource_id" + }, + "start_time": { + "attr_type": "start_time" + }, + "end_time": { + "attr_type": "end_time" + }, + "additional_attributes": { + "attr_type": "additional_attributes" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DatabaseState": { + "type": "Enum", + "methods": {}, + "properties": { + "COPYING": "COPYING", + "EMERGENCY": "EMERGENCY", + "OFFLINE": "OFFLINE", + "OFFLINE_SECONDARY": "OFFLINE_SECONDARY", + "ONLINE": "ONLINE", + "RECOVERING": "RECOVERING", + "RECOVERY_PENDING": "RECOVERY_PENDING", + "RESTORING": "RESTORING", + "SUSPECT": "SUSPECT", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Databases": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "values": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "values": { + "attr_type": "values" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DbFailover": { + "type": "Enum", + "methods": {}, + "properties": { + "OFF": "OFF", + "ON": "ON", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "DefenderStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "PROTECTED": "PROTECTED", + "UNKNOWN": "UNKNOWN", + "UNPROTECTED": "UNPROTECTED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "DifferentialBackupHours": { + "type": "Enum", + "methods": {}, + "properties": { + "TWELVE": "TWELVE", + "TWENTY_FOUR": "TWENTY_FOUR", + "as_integer_ratio": "as_integer_ratio", + "bit_count": "bit_count", + "bit_length": "bit_length", + "conjugate": "conjugate", + "denominator": "denominator", + "from_bytes": "from_bytes", + "imag": "imag", + "is_integer": "is_integer", + "numerator": "numerator", + "real": "real", + "to_bytes": "to_bytes" + } + }, + "DiscoverySource": { + "type": "Enum", + "methods": {}, + "properties": { + "ADS": "ADS", + "AZURE_ARC": "AZURE_ARC", + "AZURE_MIGRATE": "AZURE_MIGRATE", + "DMS_CLI": "DMS_CLI", + "DMS_PORTAL": "DMS_PORTAL", + "DMS_PS": "DMS_PS", + "DMS_SDK": "DMS_SDK", + "IMPORT": "IMPORT", + "OTHER": "OTHER", + "SSMA": "SSMA", + "SSMS": "SSMS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "DiskSizes": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "disk_type": { + "default": "none", + "param_type": "keyword_only" + }, + "redundancy": { + "default": "none", + "param_type": "keyword_only" + }, + "size": { + "default": "none", + "param_type": "keyword_only" + }, + "caching": { + "default": "none", + "param_type": "keyword_only" + }, + "max_size_in_gib": { + "default": "none", + "param_type": "keyword_only" + }, + "max_throughput_in_mbps": { + "default": "none", + "param_type": "keyword_only" + }, + "max_iops": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "disk_type": { + "attr_type": "disk_type" + }, + "redundancy": { + "attr_type": "redundancy" + }, + "size": { + "attr_type": "size" + }, + "caching": { + "attr_type": "caching" + }, + "max_size_in_gib": { + "attr_type": "max_size_in_gib" + }, + "max_throughput_in_mbps": { + "attr_type": "max_throughput_in_mbps" + }, + "max_iops": { + "attr_type": "max_iops" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "certificate_name": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "certificate_name": { + "attr_type": "certificate_name" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group": { + "default": "none", + "param_type": "keyword_only" + }, + "listener_url": { + "default": "none", + "param_type": "keyword_only" + }, + "availability_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "failover_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "seeding_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "certificate_configuration": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group": { + "attr_type": "availability_group" + }, + "listener_url": { + "attr_type": "listener_url" + }, + "availability_mode": { + "attr_type": "availability_mode" + }, + "failover_mode": { + "attr_type": "failover_mode" + }, + "seeding_mode": { + "attr_type": "seeding_mode" + }, + "certificate_configuration": { + "attr_type": "certificate_configuration" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DistributedAvailabilityGroupCreateUpdateConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": "none", + "param_type": "keyword_only" + }, + "primary_availability_group": { + "default": "none", + "param_type": "keyword_only" + }, + "secondary_availability_group": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group_name": { + "attr_type": "availability_group_name" + }, + "primary_availability_group": { + "attr_type": "primary_availability_group" + }, + "secondary_availability_group": { + "attr_type": "secondary_availability_group" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "DtcSupport": { + "type": "Enum", + "methods": {}, + "properties": { + "NONE": "NONE", + "PER_DB": "PER_DB", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "EditionType": { + "type": "Enum", + "methods": {}, + "properties": { + "BUSINESS_INTELLIGENCE": "BUSINESS_INTELLIGENCE", + "DEVELOPER": "DEVELOPER", + "ENTERPRISE": "ENTERPRISE", + "EVALUATION": "EVALUATION", + "EXPRESS": "EXPRESS", + "STANDARD": "STANDARD", + "STANDARD_DEVELOPER": "STANDARD_DEVELOPER", + "UNKNOWN": "UNKNOWN", + "WEB": "WEB", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "EncryptionAlgorithm": { + "type": "Enum", + "methods": {}, + "properties": { + "AES": "AES", + "AES_RC4": "AES_RC4", + "NONE": "NONE", + "NONE_AES": "NONE_AES", + "NONE_AES_RC4": "NONE_AES_RC4", + "NONE_RC4": "NONE_RC4", + "NONE_RC4_AES": "NONE_RC4_AES", + "RC4": "RC4", + "RC4_AES": "RC4_AES", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "EntraAuthentication": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "identity_type": { + "default": "none", + "param_type": "keyword_only" + }, + "client_id": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "identity_type": { + "attr_type": "identity_type" + }, + "client_id": { + "attr_type": "client_id" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ErrorAdditionalInfo": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "type": { + "attr_type": null + }, + "info": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ErrorDetail": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "code": { + "attr_type": null + }, + "message": { + "attr_type": null + }, + "target": { + "attr_type": null + }, + "details": { + "attr_type": null + }, + "additional_info": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ErrorResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "error": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "error": { + "attr_type": "error" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ExecutionState": { + "type": "Enum", + "methods": {}, + "properties": { + "RUNNING": "RUNNING", + "WAITING": "WAITING", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ExtendedLocation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "default": "none", + "param_type": "keyword_only" + }, + "type": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": { + "attr_type": "name" + }, + "type": { + "attr_type": "type" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ExtendedLocationTypes": { + "type": "Enum", + "methods": {}, + "properties": { + "CUSTOM_LOCATION": "CUSTOM_LOCATION", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "FailoverCluster": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": { + "attr_type": null + }, + "network_name": { + "attr_type": null + }, + "sql_instance_ids": { + "attr_type": null + }, + "host_names": { + "attr_type": null + }, + "host_ip_addresses": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "FailoverGroupListResult": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": null + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "FailoverGroupPartnerSyncMode": { + "type": "Enum", + "methods": {}, + "properties": { + "ASYNC": "ASYNC", + "SYNC": "SYNC", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "FailoverGroupProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "partner_managed_instance_id": { + "default": null, + "param_type": "keyword_only" + }, + "spec": { + "default": null, + "param_type": "keyword_only" + }, + "additional_properties": { + "default": "none", + "param_type": "keyword_only" + }, + "status": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "additional_properties": { + "attr_type": null + }, + "provisioning_state": { + "attr_type": null + }, + "partner_managed_instance_id": { + "attr_type": "partner_managed_instance_id" + }, + "spec": { + "attr_type": "spec" + }, + "status": { + "attr_type": "status" + } + } + }, + "FailoverGroupResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "properties": { + "default": null, + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": { + "attr_type": "properties" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "FailoverGroupSpec": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "role": { + "default": "str", + "param_type": "keyword_only" + }, + "additional_properties": { + "default": "none", + "param_type": "keyword_only" + }, + "shared_name": { + "default": "none", + "param_type": "keyword_only" + }, + "source_mi": { + "default": "none", + "param_type": "keyword_only" + }, + "partner_mi": { + "default": "none", + "param_type": "keyword_only" + }, + "partner_mirroring_url": { + "default": "none", + "param_type": "keyword_only" + }, + "partner_mirroring_cert": { + "default": "none", + "param_type": "keyword_only" + }, + "partner_sync_mode": { + "default": "str", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "additional_properties": { + "attr_type": null + }, + "shared_name": { + "attr_type": "shared_name" + }, + "source_mi": { + "attr_type": "source_mi" + }, + "partner_mi": { + "attr_type": "partner_mi" + }, + "partner_mirroring_url": { + "attr_type": "partner_mirroring_url" + }, + "partner_mirroring_cert": { + "attr_type": "partner_mirroring_cert" + }, + "partner_sync_mode": { + "attr_type": "partner_sync_mode" + }, + "role": { + "attr_type": "role" + } + } + }, + "FailoverMiLinkResourceId": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_id": { + "default": "none", + "param_type": "keyword_only" + }, + "force": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "managed_instance_id": { + "attr_type": "managed_instance_id" + }, + "force": { + "attr_type": "force" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "FailureConditionLevel": { + "type": "Enum", + "methods": {}, + "properties": { + "FIVE": "FIVE", + "FOUR": "FOUR", + "ONE": "ONE", + "THREE": "THREE", + "TWO": "TWO", + "as_integer_ratio": "as_integer_ratio", + "bit_count": "bit_count", + "bit_length": "bit_length", + "conjugate": "conjugate", + "denominator": "denominator", + "from_bytes": "from_bytes", + "imag": "imag", + "is_integer": "is_integer", + "numerator": "numerator", + "real": "real", + "to_bytes": "to_bytes" + } + }, + "HostIPAddressInformation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "ip_address": { + "attr_type": null + }, + "subnet_mask": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "HostType": { + "type": "Enum", + "methods": {}, + "properties": { + "AWS_KUBERNETES_SERVICE": "AWS_KUBERNETES_SERVICE", + "AWS_VIRTUAL_MACHINE": "AWS_VIRTUAL_MACHINE", + "AWS_VM_WARE_VIRTUAL_MACHINE": "AWS_VM_WARE_VIRTUAL_MACHINE", + "AZURE_KUBERNETES_SERVICE": "AZURE_KUBERNETES_SERVICE", + "AZURE_VIRTUAL_MACHINE": "AZURE_VIRTUAL_MACHINE", + "AZURE_VM_WARE_VIRTUAL_MACHINE": "AZURE_VM_WARE_VIRTUAL_MACHINE", + "CONTAINER": "CONTAINER", + "GCP_KUBERNETES_SERVICE": "GCP_KUBERNETES_SERVICE", + "GCP_VIRTUAL_MACHINE": "GCP_VIRTUAL_MACHINE", + "GCP_VM_WARE_VIRTUAL_MACHINE": "GCP_VM_WARE_VIRTUAL_MACHINE", + "HYPER_V_VIRTUAL_MACHINE": "HYPER_V_VIRTUAL_MACHINE", + "OTHER": "OTHER", + "PHYSICAL_SERVER": "PHYSICAL_SERVER", + "VIRTUAL_MACHINE": "VIRTUAL_MACHINE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "IdentityType": { + "type": "Enum", + "methods": {}, + "properties": { + "SYSTEM_ASSIGNED_MANAGED_IDENTITY": "SYSTEM_ASSIGNED_MANAGED_IDENTITY", + "USER_ASSIGNED_MANAGED_IDENTITY": "USER_ASSIGNED_MANAGED_IDENTITY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ImpactedObjectsInfo": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "feature_id": { + "default": "none", + "param_type": "keyword_only" + }, + "number_impacted": { + "default": "none", + "param_type": "keyword_only" + }, + "issue_category": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "feature_id": { + "attr_type": "feature_id" + }, + "number_impacted": { + "attr_type": "number_impacted" + }, + "issue_category": { + "attr_type": "issue_category" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ImpactedObjectsSuitabilitySummary": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "azure_sql_database": { + "attr_type": null + }, + "azure_sql_managed_instance": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "Infrastructure": { + "type": "Enum", + "methods": {}, + "properties": { + "ALIBABA": "ALIBABA", + "AWS": "AWS", + "AZURE": "AZURE", + "GCP": "GCP", + "ONPREMISES": "ONPREMISES", + "OTHER": "OTHER", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "InitiatedFrom": { + "type": "Enum", + "methods": {}, + "properties": { + "ADS": "ADS", + "AZURE_ARC": "AZURE_ARC", + "DMS_CLI": "DMS_CLI", + "DMS_PORTAL": "DMS_PORTAL", + "DMS_PS": "DMS_PS", + "DMS_SDK": "DMS_SDK", + "OTHER": "OTHER", + "SSMA": "SSMA", + "SSMS": "SSMS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "InstanceFailoverGroupRole": { + "type": "Enum", + "methods": {}, + "properties": { + "FORCE_PRIMARY_ALLOW_DATA_LOSS": "FORCE_PRIMARY_ALLOW_DATA_LOSS", + "FORCE_SECONDARY": "FORCE_SECONDARY", + "PRIMARY": "PRIMARY", + "SECONDARY": "SECONDARY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "JobStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "FAILED": "FAILED", + "IN_PROGRESS": "IN_PROGRESS", + "NOT_STARTED": "NOT_STARTED", + "SUCCEEDED": "SUCCEEDED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "K8SActiveDirectory": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "connector": { + "default": "none", + "param_type": "keyword_only" + }, + "account_name": { + "default": "none", + "param_type": "keyword_only" + }, + "keytab_secret": { + "default": "none", + "param_type": "keyword_only" + }, + "encryption_types": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "connector": { + "attr_type": "connector" + }, + "account_name": { + "attr_type": "account_name" + }, + "keytab_secret": { + "attr_type": "keytab_secret" + }, + "encryption_types": { + "attr_type": "encryption_types" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "K8SActiveDirectoryConnector": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "default": "none", + "param_type": "keyword_only" + }, + "namespace": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": { + "attr_type": "name" + }, + "namespace": { + "attr_type": "namespace" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "K8SNetworkSettings": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "forceencryption": { + "default": "none", + "param_type": "keyword_only" + }, + "tlsciphers": { + "default": "none", + "param_type": "keyword_only" + }, + "tlsprotocols": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "forceencryption": { + "attr_type": "forceencryption" + }, + "tlsciphers": { + "attr_type": "tlsciphers" + }, + "tlsprotocols": { + "attr_type": "tlsprotocols" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "K8SResourceRequirements": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "additional_properties": { + "default": "none", + "param_type": "keyword_only" + }, + "requests": { + "default": "none", + "param_type": "keyword_only" + }, + "limits": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "additional_properties": { + "attr_type": null + }, + "requests": { + "attr_type": "requests" + }, + "limits": { + "attr_type": "limits" + } + } + }, + "K8SScheduling": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "additional_properties": { + "default": "none", + "param_type": "keyword_only" + }, + "default": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "additional_properties": { + "attr_type": null + }, + "default": { + "attr_type": "default" + } + } + }, + "K8SSchedulingOptions": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "additional_properties": { + "default": "none", + "param_type": "keyword_only" + }, + "resources": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "additional_properties": { + "attr_type": null + }, + "resources": { + "attr_type": "resources" + } + } + }, + "K8SSecurity": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "additional_properties": { + "default": "none", + "param_type": "keyword_only" + }, + "admin_login_secret": { + "default": "none", + "param_type": "keyword_only" + }, + "service_certificate_secret": { + "default": "none", + "param_type": "keyword_only" + }, + "active_directory": { + "default": "none", + "param_type": "keyword_only" + }, + "transparent_data_encryption": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "additional_properties": { + "attr_type": null + }, + "admin_login_secret": { + "attr_type": "admin_login_secret" + }, + "service_certificate_secret": { + "attr_type": "service_certificate_secret" + }, + "active_directory": { + "attr_type": "active_directory" + }, + "transparent_data_encryption": { + "attr_type": "transparent_data_encryption" + } + } + }, + "K8SSettings": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "additional_properties": { + "default": "none", + "param_type": "keyword_only" + }, + "network": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "additional_properties": { + "attr_type": null + }, + "network": { + "attr_type": "network" + } + } + }, + "K8StransparentDataEncryption": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "mode": { + "default": "none", + "param_type": "keyword_only" + }, + "protector_secret": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "mode": { + "attr_type": "mode" + }, + "protector_secret": { + "attr_type": "protector_secret" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "KeytabInformation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keytab": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "keytab": { + "attr_type": "keytab" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "LastExecutionStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "COMPLETED": "COMPLETED", + "FAILED": "FAILED", + "FAULTED": "FAULTED", + "POSTPONED": "POSTPONED", + "RESCHEDULED": "RESCHEDULED", + "SUCCEEDED": "SUCCEEDED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "LicenseCategory": { + "type": "Enum", + "methods": {}, + "properties": { + "CORE": "CORE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "LogAnalyticsWorkspaceConfig": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "workspace_id": { + "default": "none", + "param_type": "keyword_only" + }, + "primary_key": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "workspace_id": { + "attr_type": "workspace_id" + }, + "primary_key": { + "attr_type": "primary_key" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ManagedInstanceLinkCreateUpdateConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group": { + "default": "none", + "param_type": "keyword_only" + }, + "distributed_availability_group": { + "default": "none", + "param_type": "keyword_only" + }, + "mi_link_configuration": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group": { + "attr_type": "availability_group" + }, + "distributed_availability_group": { + "attr_type": "distributed_availability_group" + }, + "mi_link_configuration": { + "attr_type": "mi_link_configuration" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "MiLinkAssessmentCategory": { + "type": "Enum", + "methods": {}, + "properties": { + "BOX_TO_MI_NETWORK_CONNECTIVITY": "BOX_TO_MI_NETWORK_CONNECTIVITY", + "CERTIFICATES": "CERTIFICATES", + "DAG_CROSS_VALIDATION": "DAG_CROSS_VALIDATION", + "MANAGED_INSTANCE": "MANAGED_INSTANCE", + "MANAGED_INSTANCE_CROSS_VALIDATION": "MANAGED_INSTANCE_CROSS_VALIDATION", + "MANAGED_INSTANCE_DATABASE": "MANAGED_INSTANCE_DATABASE", + "MI_TO_BOX_NETWORK_CONNECTIVITY": "MI_TO_BOX_NETWORK_CONNECTIVITY", + "SQL_INSTANCE": "SQL_INSTANCE", + "SQL_INSTANCE_AG": "SQL_INSTANCE_AG", + "SQL_INSTANCE_DATABASE": "SQL_INSTANCE_DATABASE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "MiLinkCreateUpdateConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "instance_availability_group_name": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "instance_availability_group_name": { + "attr_type": "instance_availability_group_name" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "Migration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "assessment": { + "default": "none", + "param_type": "keyword_only" + }, + "target_selected_time": { + "default": "none", + "param_type": "keyword_only" + }, + "target_resource_id": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "assessment": { + "attr_type": "assessment" + }, + "target_selected_time": { + "attr_type": "target_selected_time" + }, + "target_resource_id": { + "attr_type": "target_resource_id" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "MigrationAssessment": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "enabled": { + "default": "none", + "param_type": "keyword_only" + }, + "assessment_viewed_time": { + "default": "none", + "param_type": "keyword_only" + }, + "settings": { + "default": "none", + "param_type": "keyword_only" + }, + "impacted_objects_summary": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "enabled": { + "attr_type": "enabled" + }, + "assessment_upload_time": { + "attr_type": null + }, + "assessment_viewed_time": { + "attr_type": "assessment_viewed_time" + }, + "target_recommendation_generation_time": { + "attr_type": null + }, + "version": { + "attr_type": null + }, + "settings": { + "attr_type": "settings" + }, + "server_assessments": { + "attr_type": null + }, + "sku_recommendation_results": { + "attr_type": null + }, + "impacted_objects_summary": { + "attr_type": "impacted_objects_summary" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "MigrationAssessmentSettings": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "target_location": { + "default": "none", + "param_type": "keyword_only" + }, + "percentile": { + "default": "none", + "param_type": "keyword_only" + }, + "lookback_period_in_days": { + "default": "none", + "param_type": "keyword_only" + }, + "comfort_factor": { + "default": "none", + "param_type": "keyword_only" + }, + "strategy": { + "default": "none", + "param_type": "keyword_only" + }, + "currency": { + "default": "none", + "param_type": "keyword_only" + }, + "discount_percentage": { + "default": "none", + "param_type": "keyword_only" + }, + "cost_options": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "target_location": { + "attr_type": "target_location" + }, + "percentile": { + "attr_type": "percentile" + }, + "lookback_period_in_days": { + "attr_type": "lookback_period_in_days" + }, + "comfort_factor": { + "attr_type": "comfort_factor" + }, + "strategy": { + "attr_type": "strategy" + }, + "currency": { + "attr_type": "currency" + }, + "discount_percentage": { + "attr_type": "discount_percentage" + }, + "cost_options": { + "attr_type": "cost_options" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "MigrationMode": { + "type": "Enum", + "methods": {}, + "properties": { + "LOGICAL": "LOGICAL", + "LOG_SHIPPING": "LOG_SHIPPING", + "MI_LINK": "MI_LINK", + "OTHER": "OTHER", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "MigrationStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "CANCELLED": "CANCELLED", + "FAILED": "FAILED", + "IN_PROGRESS": "IN_PROGRESS", + "IN_PROGRESS_WITH_WARNINGS": "IN_PROGRESS_WITH_WARNINGS", + "NOT_STARTED": "NOT_STARTED", + "SUCCESSFUL": "SUCCESSFUL", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Mode": { + "type": "Enum", + "methods": {}, + "properties": { + "MIXED": "MIXED", + "UNDEFINED": "UNDEFINED", + "WINDOWS": "WINDOWS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Monitoring": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "enabled": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "enabled": { + "attr_type": "enabled" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "OnPremiseProperty": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "default": null, + "param_type": "keyword_only" + }, + "public_signing_key": { + "default": null, + "param_type": "keyword_only" + }, + "signing_certificate_thumbprint": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": { + "attr_type": "id" + }, + "public_signing_key": { + "attr_type": "public_signing_key" + }, + "signing_certificate_thumbprint": { + "attr_type": "signing_certificate_thumbprint" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "Operation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "default": null, + "param_type": "keyword_only" + }, + "display": { + "default": null, + "param_type": "keyword_only" + }, + "is_data_action": { + "default": null, + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": { + "attr_type": "name" + }, + "display": { + "attr_type": "display" + }, + "origin": { + "attr_type": null + }, + "is_data_action": { + "attr_type": "is_data_action" + }, + "properties": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "OperationDisplay": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "provider": { + "default": null, + "param_type": "keyword_only" + }, + "resource": { + "default": null, + "param_type": "keyword_only" + }, + "operation": { + "default": null, + "param_type": "keyword_only" + }, + "description": { + "default": null, + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "provider": { + "attr_type": "provider" + }, + "resource": { + "attr_type": "resource" + }, + "operation": { + "attr_type": "operation" + }, + "description": { + "attr_type": "description" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "OperationListResult": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": null + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "OperationOrigin": { + "type": "Enum", + "methods": {}, + "properties": { + "SYSTEM": "SYSTEM", + "USER": "USER", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "PageOfDataControllerResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "value": { + "default": "none", + "param_type": "keyword_only" + }, + "next_link": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": "value" + }, + "next_link": { + "attr_type": "next_link" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "PostgresInstance": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "extended_location": { + "default": "none", + "param_type": "keyword_only" + }, + "sku": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "extended_location": { + "attr_type": "extended_location" + }, + "properties": { + "attr_type": "properties" + }, + "sku": { + "attr_type": "sku" + }, + "tags": { + "attr_type": "tags" + }, + "location": { + "attr_type": "location" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "PostgresInstanceListResult": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": null + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "PostgresInstanceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_id": { + "default": "none", + "param_type": "keyword_only" + }, + "admin": { + "default": "none", + "param_type": "keyword_only" + }, + "basic_login_information": { + "default": "none", + "param_type": "keyword_only" + }, + "k8_s_raw": { + "default": "none", + "param_type": "keyword_only" + }, + "last_uploaded_date": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "data_controller_id": { + "attr_type": "data_controller_id" + }, + "admin": { + "attr_type": "admin" + }, + "basic_login_information": { + "attr_type": "basic_login_information" + }, + "k8_s_raw": { + "attr_type": "k8_s_raw" + }, + "last_uploaded_date": { + "attr_type": "last_uploaded_date" + }, + "provisioning_state": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "PostgresInstanceSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "default": null, + "param_type": "keyword_only" + }, + "dev": { + "default": "bool", + "param_type": "keyword_only" + }, + "size": { + "default": "none", + "param_type": "keyword_only" + }, + "family": { + "default": "none", + "param_type": "keyword_only" + }, + "capacity": { + "default": "none", + "param_type": "keyword_only" + }, + "tier": { + "default": "str", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tier": { + "attr_type": "tier" + }, + "name": { + "attr_type": "name" + }, + "dev": { + "attr_type": "dev" + }, + "size": { + "attr_type": "size" + }, + "family": { + "attr_type": "family" + }, + "capacity": { + "attr_type": "capacity" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "PostgresInstanceUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "properties": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": { + "attr_type": "tags" + }, + "properties": { + "attr_type": "properties" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "PrimaryAllowConnections": { + "type": "Enum", + "methods": {}, + "properties": { + "ALL": "ALL", + "READ_WRITE": "READ_WRITE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ProvisioningState": { + "type": "Enum", + "methods": {}, + "properties": { + "ACCEPTED": "ACCEPTED", + "CANCELED": "CANCELED", + "FAILED": "FAILED", + "SUCCEEDED": "SUCCEEDED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ProxyResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "RecommendationStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "NOT_READY": "NOT_READY", + "READY": "READY", + "READY_WITH_CONDITIONS": "READY_WITH_CONDITIONS", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "RecoveryMode": { + "type": "Enum", + "methods": {}, + "properties": { + "BULK_LOGGED": "BULK_LOGGED", + "FULL": "FULL", + "SIMPLE": "SIMPLE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ReplicationPartnerType": { + "type": "Enum", + "methods": {}, + "properties": { + "AZURE_SQLVM": "AZURE_SQLVM", + "AZURE_SQL_MANAGED_INSTANCE": "AZURE_SQL_MANAGED_INSTANCE", + "SQL_SERVER": "SQL_SERVER", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Resource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ResourceAutoGenerated": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ResourceUpdateMode": { + "type": "Enum", + "methods": {}, + "properties": { + "SKIP_RESOURCE_UPDATE": "SKIP_RESOURCE_UPDATE", + "UPDATE_ALL_TARGET_RECOMMENDATION_DETAILS": "UPDATE_ALL_TARGET_RECOMMENDATION_DETAILS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Result": { + "type": "Enum", + "methods": {}, + "properties": { + "FAILED": "FAILED", + "NOT_COMPLETED": "NOT_COMPLETED", + "SKIPPED": "SKIPPED", + "SUCCEEDED": "SUCCEEDED", + "TIMED_OUT": "TIMED_OUT", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Role": { + "type": "Enum", + "methods": {}, + "properties": { + "ALL": "ALL", + "NONE": "NONE", + "PARTNER": "PARTNER", + "WITNESS": "WITNESS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Schedule": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "enabled": { + "default": "none", + "param_type": "keyword_only" + }, + "cron_trigger": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "enabled": { + "attr_type": "enabled" + }, + "cron_trigger": { + "attr_type": "cron_trigger" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ScopeType": { + "type": "Enum", + "methods": {}, + "properties": { + "RESOURCE_GROUP": "RESOURCE_GROUP", + "SUBSCRIPTION": "SUBSCRIPTION", + "TENANT": "TENANT", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SecondaryAllowConnections": { + "type": "Enum", + "methods": {}, + "properties": { + "ALL": "ALL", + "NO": "NO", + "READ_ONLY": "READ_ONLY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SeedingMode": { + "type": "Enum", + "methods": {}, + "properties": { + "AUTOMATIC": "AUTOMATIC", + "MANUAL": "MANUAL", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SequencerAction": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "action_id": { + "default": "none", + "param_type": "keyword_only" + }, + "state": { + "default": "none", + "param_type": "keyword_only" + }, + "result": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "action_id": { + "attr_type": "action_id" + }, + "state": { + "attr_type": "state" + }, + "result": { + "attr_type": "result" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SequencerState": { + "type": "Enum", + "methods": {}, + "properties": { + "COMPLETED": "COMPLETED", + "CREATING_SUCCESSORS": "CREATING_SUCCESSORS", + "EXECUTING_ACTION": "EXECUTING_ACTION", + "NOT_STARTED": "NOT_STARTED", + "WAITING_PREDECESSORS": "WAITING_PREDECESSORS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ServerAssessmentsItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "applies_to_migration_target_platform": { + "default": "none", + "param_type": "keyword_only" + }, + "feature_id": { + "default": "none", + "param_type": "keyword_only" + }, + "impacted_objects": { + "default": "none", + "param_type": "keyword_only" + }, + "issue_category": { + "default": "none", + "param_type": "keyword_only" + }, + "more_information": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "applies_to_migration_target_platform": { + "attr_type": "applies_to_migration_target_platform" + }, + "feature_id": { + "attr_type": "feature_id" + }, + "impacted_objects": { + "attr_type": "impacted_objects" + }, + "issue_category": { + "attr_type": "issue_category" + }, + "more_information": { + "attr_type": "more_information" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ServerAssessmentsPropertiesItemsItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "impact_detail": { + "default": "none", + "param_type": "keyword_only" + }, + "name": { + "default": "none", + "param_type": "keyword_only" + }, + "object_type": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "impact_detail": { + "attr_type": "impact_detail" + }, + "name": { + "attr_type": "name" + }, + "object_type": { + "attr_type": "object_type" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "ServiceType": { + "type": "Enum", + "methods": {}, + "properties": { + "ENGINE": "ENGINE", + "PBIRS": "PBIRS", + "SSAS": "SSAS", + "SSIS": "SSIS", + "SSRS": "SSRS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SkuRecommendationResults": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "azure_sql_database": { + "default": "none", + "param_type": "keyword_only" + }, + "azure_sql_managed_instance": { + "default": "none", + "param_type": "keyword_only" + }, + "azure_sql_virtual_machine": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "azure_sql_database": { + "attr_type": "azure_sql_database" + }, + "azure_sql_managed_instance": { + "attr_type": "azure_sql_managed_instance" + }, + "azure_sql_virtual_machine": { + "attr_type": "azure_sql_virtual_machine" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsAzureSqlDatabase": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "recommendation_status": { + "default": "none", + "param_type": "keyword_only" + }, + "number_of_server_blocker_issues": { + "default": "none", + "param_type": "keyword_only" + }, + "monthly_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "target_sku": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "recommendation_status": { + "attr_type": "recommendation_status" + }, + "number_of_server_blocker_issues": { + "attr_type": "number_of_server_blocker_issues" + }, + "monthly_cost": { + "attr_type": "monthly_cost" + }, + "monthly_cost_options": { + "attr_type": null + }, + "target_sku": { + "attr_type": "target_sku" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsAzureSqlDatabaseTargetSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "category": { + "default": "none", + "param_type": "keyword_only" + }, + "compute_size": { + "default": "none", + "param_type": "keyword_only" + }, + "storage_max_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "predicted_data_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "predicted_log_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "max_storage_iops": { + "default": "none", + "param_type": "keyword_only" + }, + "max_throughput_m_bps": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "category": { + "attr_type": "category" + }, + "compute_size": { + "attr_type": "compute_size" + }, + "storage_max_size_in_mb": { + "attr_type": "storage_max_size_in_mb" + }, + "predicted_data_size_in_mb": { + "attr_type": "predicted_data_size_in_mb" + }, + "predicted_log_size_in_mb": { + "attr_type": "predicted_log_size_in_mb" + }, + "max_storage_iops": { + "attr_type": "max_storage_iops" + }, + "max_throughput_m_bps": { + "attr_type": "max_throughput_m_bps" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_tier": { + "default": "none", + "param_type": "keyword_only" + }, + "hardware_type": { + "default": "none", + "param_type": "keyword_only" + }, + "sql_purchasing_model": { + "default": "none", + "param_type": "keyword_only" + }, + "sql_service_tier": { + "default": "none", + "param_type": "keyword_only" + }, + "zone_redundancy_available": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_tier": { + "attr_type": "compute_tier" + }, + "hardware_type": { + "attr_type": "hardware_type" + }, + "sql_purchasing_model": { + "attr_type": "sql_purchasing_model" + }, + "sql_service_tier": { + "attr_type": "sql_service_tier" + }, + "zone_redundancy_available": { + "attr_type": "zone_redundancy_available" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsAzureSqlManagedInstance": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "recommendation_status": { + "default": "none", + "param_type": "keyword_only" + }, + "number_of_server_blocker_issues": { + "default": "none", + "param_type": "keyword_only" + }, + "monthly_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "target_sku": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "recommendation_status": { + "attr_type": "recommendation_status" + }, + "number_of_server_blocker_issues": { + "attr_type": "number_of_server_blocker_issues" + }, + "monthly_cost": { + "attr_type": "monthly_cost" + }, + "monthly_cost_options": { + "attr_type": null + }, + "target_sku": { + "attr_type": "target_sku" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsAzureSqlManagedInstanceTargetSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "category": { + "default": "none", + "param_type": "keyword_only" + }, + "compute_size": { + "default": "none", + "param_type": "keyword_only" + }, + "storage_max_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "predicted_data_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "predicted_log_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "max_storage_iops": { + "default": "none", + "param_type": "keyword_only" + }, + "max_throughput_m_bps": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "category": { + "attr_type": "category" + }, + "compute_size": { + "attr_type": "compute_size" + }, + "storage_max_size_in_mb": { + "attr_type": "storage_max_size_in_mb" + }, + "predicted_data_size_in_mb": { + "attr_type": "predicted_data_size_in_mb" + }, + "predicted_log_size_in_mb": { + "attr_type": "predicted_log_size_in_mb" + }, + "max_storage_iops": { + "attr_type": "max_storage_iops" + }, + "max_throughput_m_bps": { + "attr_type": "max_throughput_m_bps" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_tier": { + "default": "none", + "param_type": "keyword_only" + }, + "hardware_type": { + "default": "none", + "param_type": "keyword_only" + }, + "sql_purchasing_model": { + "default": "none", + "param_type": "keyword_only" + }, + "sql_service_tier": { + "default": "none", + "param_type": "keyword_only" + }, + "zone_redundancy_available": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_tier": { + "attr_type": "compute_tier" + }, + "hardware_type": { + "attr_type": "hardware_type" + }, + "sql_purchasing_model": { + "attr_type": "sql_purchasing_model" + }, + "sql_service_tier": { + "attr_type": "sql_service_tier" + }, + "zone_redundancy_available": { + "attr_type": "zone_redundancy_available" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsAzureSqlVirtualMachine": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "recommendation_status": { + "default": "none", + "param_type": "keyword_only" + }, + "number_of_server_blocker_issues": { + "default": "none", + "param_type": "keyword_only" + }, + "monthly_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "target_sku": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "recommendation_status": { + "attr_type": "recommendation_status" + }, + "number_of_server_blocker_issues": { + "attr_type": "number_of_server_blocker_issues" + }, + "monthly_cost": { + "attr_type": "monthly_cost" + }, + "monthly_cost_options": { + "attr_type": null + }, + "target_sku": { + "attr_type": "target_sku" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsAzureSqlVirtualMachineTargetSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "category": { + "default": "none", + "param_type": "keyword_only" + }, + "compute_size": { + "default": "none", + "param_type": "keyword_only" + }, + "predicted_data_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "predicted_log_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "virtual_machine_size": { + "default": "none", + "param_type": "keyword_only" + }, + "data_disk_sizes": { + "default": "none", + "param_type": "keyword_only" + }, + "log_disk_sizes": { + "default": "none", + "param_type": "keyword_only" + }, + "temp_db_disk_sizes": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "category": { + "attr_type": "category" + }, + "compute_size": { + "attr_type": "compute_size" + }, + "predicted_data_size_in_mb": { + "attr_type": "predicted_data_size_in_mb" + }, + "predicted_log_size_in_mb": { + "attr_type": "predicted_log_size_in_mb" + }, + "virtual_machine_size": { + "attr_type": "virtual_machine_size" + }, + "data_disk_sizes": { + "attr_type": "data_disk_sizes" + }, + "log_disk_sizes": { + "attr_type": "log_disk_sizes" + }, + "temp_db_disk_sizes": { + "attr_type": "temp_db_disk_sizes" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "available_vm_skus": { + "default": "none", + "param_type": "keyword_only" + }, + "virtual_machine_family": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "available_vm_skus": { + "attr_type": "available_vm_skus" + }, + "virtual_machine_family": { + "attr_type": "virtual_machine_family" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "virtual_machine_family": { + "default": "none", + "param_type": "keyword_only" + }, + "size_name": { + "default": "none", + "param_type": "keyword_only" + }, + "compute_size": { + "default": "none", + "param_type": "keyword_only" + }, + "azure_sku_name": { + "default": "none", + "param_type": "keyword_only" + }, + "v_cpus_available": { + "default": "none", + "param_type": "keyword_only" + }, + "max_network_interfaces": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "virtual_machine_family": { + "attr_type": "virtual_machine_family" + }, + "size_name": { + "attr_type": "size_name" + }, + "compute_size": { + "attr_type": "compute_size" + }, + "azure_sku_name": { + "attr_type": "azure_sku_name" + }, + "v_cpus_available": { + "attr_type": "v_cpus_available" + }, + "max_network_interfaces": { + "attr_type": "max_network_interfaces" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsMonthlyCost": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "storage_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "iops_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "sql_license_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "windows_license_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "total_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_cost": { + "attr_type": "compute_cost" + }, + "storage_cost": { + "attr_type": "storage_cost" + }, + "iops_cost": { + "attr_type": "iops_cost" + }, + "sql_license_cost": { + "attr_type": "sql_license_cost" + }, + "windows_license_cost": { + "attr_type": "windows_license_cost" + }, + "total_cost": { + "attr_type": "total_cost" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationResultsMonthlyCostOptionItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_name": { + "default": "none", + "param_type": "keyword_only" + }, + "key_value": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "key_name": { + "attr_type": "key_name" + }, + "key_value": { + "attr_type": "key_value" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationSummary": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "num_of_blocker_issues": { + "default": "none", + "param_type": "keyword_only" + }, + "recommendation_status": { + "default": "none", + "param_type": "keyword_only" + }, + "monthly_cost": { + "default": "none", + "param_type": "keyword_only" + }, + "target_sku": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "num_of_blocker_issues": { + "attr_type": "num_of_blocker_issues" + }, + "recommendation_status": { + "attr_type": "recommendation_status" + }, + "impacted_objects_summary": { + "attr_type": null + }, + "monthly_cost": { + "attr_type": "monthly_cost" + }, + "monthly_cost_options": { + "attr_type": null + }, + "target_sku": { + "attr_type": "target_sku" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationSummaryTargetSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "category": { + "default": "none", + "param_type": "keyword_only" + }, + "compute_size": { + "default": "none", + "param_type": "keyword_only" + }, + "storage_max_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "predicted_data_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "predicted_log_size_in_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "max_storage_iops": { + "default": "none", + "param_type": "keyword_only" + }, + "max_throughput_m_bps": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "category": { + "attr_type": "category" + }, + "compute_size": { + "attr_type": "compute_size" + }, + "storage_max_size_in_mb": { + "attr_type": "storage_max_size_in_mb" + }, + "predicted_data_size_in_mb": { + "attr_type": "predicted_data_size_in_mb" + }, + "predicted_log_size_in_mb": { + "attr_type": "predicted_log_size_in_mb" + }, + "max_storage_iops": { + "attr_type": "max_storage_iops" + }, + "max_throughput_m_bps": { + "attr_type": "max_throughput_m_bps" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SkuRecommendationSummaryTargetSkuCategory": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_tier": { + "default": "none", + "param_type": "keyword_only" + }, + "hardware_type": { + "default": "none", + "param_type": "keyword_only" + }, + "sql_purchasing_model": { + "default": "none", + "param_type": "keyword_only" + }, + "sql_service_tier": { + "default": "none", + "param_type": "keyword_only" + }, + "zone_redundancy_available": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_tier": { + "attr_type": "compute_tier" + }, + "hardware_type": { + "attr_type": "hardware_type" + }, + "sql_purchasing_model": { + "attr_type": "sql_purchasing_model" + }, + "sql_service_tier": { + "attr_type": "sql_service_tier" + }, + "zone_redundancy_available": { + "attr_type": "zone_redundancy_available" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlAvailabilityGroupDatabaseReplicaResourceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "database_name": { + "attr_type": "database_name" + }, + "replica_name": { + "attr_type": null + }, + "is_local": { + "attr_type": null + }, + "is_primary_replica": { + "attr_type": null + }, + "synchronization_state_description": { + "attr_type": null + }, + "is_commit_participant": { + "attr_type": null + }, + "synchronization_health_description": { + "attr_type": null + }, + "database_state_description": { + "attr_type": null + }, + "is_suspended": { + "attr_type": null + }, + "suspend_reason_description": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlAvailabilityGroupDhcpListenerProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "dns_name": { + "default": "none", + "param_type": "keyword_only" + }, + "subnet": { + "default": "none", + "param_type": "keyword_only" + }, + "mask": { + "default": "none", + "param_type": "keyword_only" + }, + "port": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "dns_name": { + "attr_type": "dns_name" + }, + "subnet": { + "attr_type": "subnet" + }, + "mask": { + "attr_type": "mask" + }, + "port": { + "attr_type": "port" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "ip_address": { + "default": "none", + "param_type": "keyword_only" + }, + "mask": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "ip_address": { + "attr_type": "ip_address" + }, + "mask": { + "attr_type": "mask" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlAvailabilityGroupReplicaResourceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "replica_name": { + "default": "none", + "param_type": "keyword_only" + }, + "replica_resource_id": { + "default": "none", + "param_type": "keyword_only" + }, + "configure": { + "default": "none", + "param_type": "keyword_only" + }, + "state": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "replica_id": { + "attr_type": null + }, + "replica_name": { + "attr_type": "replica_name" + }, + "replica_resource_id": { + "attr_type": "replica_resource_id" + }, + "configure": { + "attr_type": "configure" + }, + "state": { + "attr_type": "state" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlAvailabilityGroupStaticIPListenerProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "dns_name": { + "default": "none", + "param_type": "keyword_only" + }, + "ip_v4_addresses_and_masks": { + "default": "none", + "param_type": "keyword_only" + }, + "ip_v6_addresses": { + "default": "none", + "param_type": "keyword_only" + }, + "port": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "dns_name": { + "attr_type": "dns_name" + }, + "ip_v4_addresses_and_masks": { + "attr_type": "ip_v4_addresses_and_masks" + }, + "ip_v6_addresses": { + "attr_type": "ip_v6_addresses" + }, + "port": { + "attr_type": "port" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlManagedInstance": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "extended_location": { + "default": "none", + "param_type": "keyword_only" + }, + "sku": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": { + "attr_type": "properties" + }, + "extended_location": { + "attr_type": "extended_location" + }, + "sku": { + "attr_type": "sku" + }, + "tags": { + "attr_type": "tags" + }, + "location": { + "attr_type": "location" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlManagedInstanceK8SRaw": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "additional_properties": { + "default": "none", + "param_type": "keyword_only" + }, + "spec": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "additional_properties": { + "attr_type": null + }, + "spec": { + "attr_type": "spec" + } + } + }, + "SqlManagedInstanceK8SSpec": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "additional_properties": { + "default": "none", + "param_type": "keyword_only" + }, + "scheduling": { + "default": "none", + "param_type": "keyword_only" + }, + "replicas": { + "default": "none", + "param_type": "keyword_only" + }, + "security": { + "default": "none", + "param_type": "keyword_only" + }, + "settings": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "additional_properties": { + "attr_type": null + }, + "scheduling": { + "attr_type": "scheduling" + }, + "replicas": { + "attr_type": "replicas" + }, + "security": { + "attr_type": "security" + }, + "settings": { + "attr_type": "settings" + } + } + }, + "SqlManagedInstanceListResult": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": null + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlManagedInstanceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_id": { + "default": "none", + "param_type": "keyword_only" + }, + "admin": { + "default": "none", + "param_type": "keyword_only" + }, + "start_time": { + "default": "none", + "param_type": "keyword_only" + }, + "end_time": { + "default": "none", + "param_type": "keyword_only" + }, + "k8_s_raw": { + "default": "none", + "param_type": "keyword_only" + }, + "basic_login_information": { + "default": "none", + "param_type": "keyword_only" + }, + "last_uploaded_date": { + "default": "none", + "param_type": "keyword_only" + }, + "active_directory_information": { + "default": "none", + "param_type": "keyword_only" + }, + "license_type": { + "default": "str", + "param_type": "keyword_only" + }, + "cluster_id": { + "default": "none", + "param_type": "keyword_only" + }, + "extension_id": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "data_controller_id": { + "attr_type": "data_controller_id" + }, + "admin": { + "attr_type": "admin" + }, + "start_time": { + "attr_type": "start_time" + }, + "end_time": { + "attr_type": "end_time" + }, + "k8_s_raw": { + "attr_type": "k8_s_raw" + }, + "basic_login_information": { + "attr_type": "basic_login_information" + }, + "last_uploaded_date": { + "attr_type": "last_uploaded_date" + }, + "provisioning_state": { + "attr_type": null + }, + "active_directory_information": { + "attr_type": "active_directory_information" + }, + "license_type": { + "attr_type": "license_type" + }, + "cluster_id": { + "attr_type": "cluster_id" + }, + "extension_id": { + "attr_type": "extension_id" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlManagedInstanceSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "tier": { + "default": "str", + "param_type": "keyword_only" + }, + "dev": { + "default": "bool", + "param_type": "keyword_only" + }, + "size": { + "default": "none", + "param_type": "keyword_only" + }, + "family": { + "default": "none", + "param_type": "keyword_only" + }, + "capacity": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tier": { + "attr_type": "tier" + }, + "dev": { + "attr_type": "dev" + }, + "size": { + "attr_type": "size" + }, + "family": { + "attr_type": "family" + }, + "capacity": { + "attr_type": "capacity" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlManagedInstanceSkuTier": { + "type": "Enum", + "methods": {}, + "properties": { + "BUSINESS_CRITICAL": "BUSINESS_CRITICAL", + "GENERAL_PURPOSE": "GENERAL_PURPOSE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlManagedInstanceUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": { + "attr_type": "tags" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerAvailabilityGroupResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": { + "attr_type": "properties" + }, + "tags": { + "attr_type": "tags" + }, + "location": { + "attr_type": "location" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerAvailabilityGroupResourceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "info": { + "default": "none", + "param_type": "keyword_only" + }, + "replicas": { + "default": "none", + "param_type": "keyword_only" + }, + "databases": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group_id": { + "attr_type": null + }, + "server_name": { + "attr_type": null + }, + "instance_name": { + "attr_type": null + }, + "vm_id": { + "attr_type": null + }, + "collection_timestamp": { + "attr_type": null + }, + "info": { + "attr_type": "info" + }, + "replicas": { + "attr_type": "replicas" + }, + "databases": { + "attr_type": "databases" + }, + "provisioning_state": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerAvailabilityGroupResourcePropertiesDatabases": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "value": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": "value" + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerAvailabilityGroupResourcePropertiesReplicas": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "value": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": "value" + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerAvailabilityGroupUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "properties": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": { + "attr_type": "tags" + }, + "properties": { + "attr_type": "properties" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerDatabaseResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": { + "attr_type": "properties" + }, + "tags": { + "attr_type": "tags" + }, + "location": { + "attr_type": "location" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerDatabaseResourceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "collation_name": { + "default": "none", + "param_type": "keyword_only" + }, + "database_creation_date": { + "default": "none", + "param_type": "keyword_only" + }, + "compatibility_level": { + "default": "none", + "param_type": "keyword_only" + }, + "size_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "log_file_size_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "data_file_size_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "space_available_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "state": { + "default": "none", + "param_type": "keyword_only" + }, + "is_read_only": { + "default": "none", + "param_type": "keyword_only" + }, + "recovery_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "database_options": { + "default": "none", + "param_type": "keyword_only" + }, + "backup_information": { + "default": "none", + "param_type": "keyword_only" + }, + "backup_policy": { + "default": "none", + "param_type": "keyword_only" + }, + "create_mode": { + "default": "none", + "param_type": "keyword_only" + }, + "source_database_id": { + "default": "none", + "param_type": "keyword_only" + }, + "restore_point_in_time": { + "default": "none", + "param_type": "keyword_only" + }, + "migration": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "collation_name": { + "attr_type": "collation_name" + }, + "database_creation_date": { + "attr_type": "database_creation_date" + }, + "compatibility_level": { + "attr_type": "compatibility_level" + }, + "size_mb": { + "attr_type": "size_mb" + }, + "log_file_size_mb": { + "attr_type": "log_file_size_mb" + }, + "data_file_size_mb": { + "attr_type": "data_file_size_mb" + }, + "space_available_mb": { + "attr_type": "space_available_mb" + }, + "state": { + "attr_type": "state" + }, + "is_read_only": { + "attr_type": "is_read_only" + }, + "recovery_mode": { + "attr_type": "recovery_mode" + }, + "database_options": { + "attr_type": "database_options" + }, + "backup_information": { + "attr_type": "backup_information" + }, + "backup_policy": { + "attr_type": "backup_policy" + }, + "earliest_restore_date": { + "attr_type": null + }, + "create_mode": { + "attr_type": "create_mode" + }, + "source_database_id": { + "attr_type": "source_database_id" + }, + "vm_id": { + "attr_type": null + }, + "restore_point_in_time": { + "attr_type": "restore_point_in_time" + }, + "provisioning_state": { + "attr_type": null + }, + "last_database_upload_time": { + "attr_type": null + }, + "migration": { + "attr_type": "migration" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerDatabaseResourcePropertiesBackupInformation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "last_full_backup": { + "default": "none", + "param_type": "keyword_only" + }, + "last_log_backup": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "last_full_backup": { + "attr_type": "last_full_backup" + }, + "last_log_backup": { + "attr_type": "last_log_backup" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerDatabaseResourcePropertiesDatabaseOptions": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "is_auto_close_on": { + "default": "none", + "param_type": "keyword_only" + }, + "is_auto_shrink_on": { + "default": "none", + "param_type": "keyword_only" + }, + "is_auto_create_stats_on": { + "default": "none", + "param_type": "keyword_only" + }, + "is_auto_update_stats_on": { + "default": "none", + "param_type": "keyword_only" + }, + "is_remote_data_archive_enabled": { + "default": "none", + "param_type": "keyword_only" + }, + "is_memory_optimization_enabled": { + "default": "none", + "param_type": "keyword_only" + }, + "is_encrypted": { + "default": "none", + "param_type": "keyword_only" + }, + "is_trustworthy_on": { + "default": "none", + "param_type": "keyword_only" + }, + "is_hekaton_files_on": { + "default": "none", + "param_type": "keyword_only" + }, + "number_of_hekaton_files": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "is_auto_close_on": { + "attr_type": "is_auto_close_on" + }, + "is_auto_shrink_on": { + "attr_type": "is_auto_shrink_on" + }, + "is_auto_create_stats_on": { + "attr_type": "is_auto_create_stats_on" + }, + "is_auto_update_stats_on": { + "attr_type": "is_auto_update_stats_on" + }, + "is_remote_data_archive_enabled": { + "attr_type": "is_remote_data_archive_enabled" + }, + "is_memory_optimization_enabled": { + "attr_type": "is_memory_optimization_enabled" + }, + "is_encrypted": { + "attr_type": "is_encrypted" + }, + "is_trustworthy_on": { + "attr_type": "is_trustworthy_on" + }, + "is_hekaton_files_on": { + "attr_type": "is_hekaton_files_on" + }, + "number_of_hekaton_files": { + "attr_type": "number_of_hekaton_files" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerDatabaseUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "properties": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": { + "attr_type": "tags" + }, + "properties": { + "attr_type": "properties" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerEsuLicense": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": { + "attr_type": "properties" + }, + "tags": { + "attr_type": "tags" + }, + "location": { + "attr_type": "location" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerEsuLicenseListResult": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": null + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerEsuLicenseProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "billing_plan": { + "default": null, + "param_type": "keyword_only" + }, + "version": { + "default": null, + "param_type": "keyword_only" + }, + "physical_cores": { + "default": null, + "param_type": "keyword_only" + }, + "activation_state": { + "default": null, + "param_type": "keyword_only" + }, + "scope_type": { + "default": null, + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "billing_plan": { + "attr_type": "billing_plan" + }, + "version": { + "attr_type": "version" + }, + "unique_id": { + "attr_type": null + }, + "physical_cores": { + "attr_type": "physical_cores" + }, + "activation_state": { + "attr_type": "activation_state" + }, + "scope_type": { + "attr_type": "scope_type" + }, + "activated_at": { + "attr_type": null + }, + "terminated_at": { + "attr_type": null + }, + "tenant_id": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerEsuLicenseUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "properties": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": { + "attr_type": "tags" + }, + "properties": { + "attr_type": "properties" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerEsuLicenseUpdateProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "billing_plan": { + "default": "none", + "param_type": "keyword_only" + }, + "version": { + "default": "none", + "param_type": "keyword_only" + }, + "physical_cores": { + "default": "none", + "param_type": "keyword_only" + }, + "activation_state": { + "default": "none", + "param_type": "keyword_only" + }, + "scope_type": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "billing_plan": { + "attr_type": "billing_plan" + }, + "version": { + "attr_type": "version" + }, + "unique_id": { + "attr_type": null + }, + "physical_cores": { + "attr_type": "physical_cores" + }, + "activation_state": { + "attr_type": "activation_state" + }, + "scope_type": { + "attr_type": "scope_type" + }, + "activated_at": { + "attr_type": null + }, + "terminated_at": { + "attr_type": null + }, + "tenant_id": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstance": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "properties": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": { + "attr_type": "properties" + }, + "tags": { + "attr_type": "tags" + }, + "location": { + "attr_type": "location" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceBpaColumn": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "default": "none", + "param_type": "keyword_only" + }, + "type": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": { + "attr_type": "name" + }, + "type": { + "attr_type": "type" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceBpaColumnType": { + "type": "Enum", + "methods": {}, + "properties": { + "BOOL": "BOOL", + "DATETIME": "DATETIME", + "DOUBLE": "DOUBLE", + "GUID": "GUID", + "INT": "INT", + "LONG": "LONG", + "STRING": "STRING", + "TIMESPAN": "TIMESPAN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlServerInstanceBpaQueryType": { + "type": "Enum", + "methods": {}, + "properties": { + "BASIC": "BASIC", + "HISTORICAL_TRENDS": "HISTORICAL_TRENDS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlServerInstanceBpaReportType": { + "type": "Enum", + "methods": {}, + "properties": { + "ASSESSMENT_DATA_POINT": "ASSESSMENT_DATA_POINT", + "ASSESSMENT_SUMMARY": "ASSESSMENT_SUMMARY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlServerInstanceBpaRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "report_type": { + "default": "none", + "param_type": "keyword_only" + }, + "report_id": { + "default": "none", + "param_type": "keyword_only" + }, + "skip_token": { + "default": "none", + "param_type": "keyword_only" + }, + "query_type": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "report_type": { + "attr_type": "report_type" + }, + "report_id": { + "attr_type": "report_id" + }, + "skip_token": { + "attr_type": "skip_token" + }, + "query_type": { + "attr_type": "query_type" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceBpaResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "columns": { + "default": null, + "param_type": "keyword_only" + }, + "rows": { + "default": null, + "param_type": "keyword_only" + }, + "next_link": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "columns": { + "attr_type": "columns" + }, + "rows": { + "attr_type": "rows" + }, + "next_link": { + "attr_type": "next_link" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceJob": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "default": "none", + "param_type": "keyword_only" + }, + "instance_name": { + "default": "none", + "param_type": "keyword_only" + }, + "job_status": { + "default": "none", + "param_type": "keyword_only" + }, + "job_exception": { + "default": "none", + "param_type": "keyword_only" + }, + "background_job": { + "default": "none", + "param_type": "keyword_only" + }, + "sequencer_actions": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": { + "attr_type": "id" + }, + "instance_name": { + "attr_type": "instance_name" + }, + "job_status": { + "attr_type": "job_status" + }, + "job_exception": { + "attr_type": "job_exception" + }, + "background_job": { + "attr_type": "background_job" + }, + "sequencer_actions": { + "attr_type": "sequencer_actions" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceJobStatus": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "default": "none", + "param_type": "keyword_only" + }, + "instance_name": { + "default": "none", + "param_type": "keyword_only" + }, + "job_status": { + "default": "none", + "param_type": "keyword_only" + }, + "job_exception": { + "default": "none", + "param_type": "keyword_only" + }, + "background_job": { + "default": "none", + "param_type": "keyword_only" + }, + "sequencer_actions": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": { + "attr_type": "id" + }, + "instance_name": { + "attr_type": "instance_name" + }, + "job_status": { + "attr_type": "job_status" + }, + "job_exception": { + "attr_type": "job_exception" + }, + "background_job": { + "attr_type": "background_job" + }, + "sequencer_actions": { + "attr_type": "sequencer_actions" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceJobsRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "feature_name": { + "default": "none", + "param_type": "keyword_only" + }, + "job_type": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "feature_name": { + "attr_type": "feature_name" + }, + "job_type": { + "attr_type": "job_type" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceJobsResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "jobs": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "jobs": { + "attr_type": "jobs" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceJobsStatusRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "feature_name": { + "default": "none", + "param_type": "keyword_only" + }, + "job_type": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "feature_name": { + "attr_type": "feature_name" + }, + "job_type": { + "attr_type": "job_type" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceJobsStatusResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "jobs_status": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "jobs_status": { + "attr_type": "jobs_status" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceListResult": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": null + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceManagedInstanceLinkAssessment": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "default": "none", + "param_type": "keyword_only" + }, + "category": { + "default": "none", + "param_type": "keyword_only" + }, + "status": { + "default": "none", + "param_type": "keyword_only" + }, + "information": { + "default": "none", + "param_type": "keyword_only" + }, + "additional_information": { + "default": "none", + "param_type": "keyword_only" + }, + "failing_dbs": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": { + "attr_type": "name" + }, + "category": { + "attr_type": "category" + }, + "status": { + "attr_type": "status" + }, + "information": { + "attr_type": "information" + }, + "additional_information": { + "attr_type": "additional_information" + }, + "failing_dbs": { + "attr_type": "failing_dbs" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceManagedInstanceLinkAssessmentRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "azure_managed_instance_resource_id": { + "default": null, + "param_type": "keyword_only" + }, + "database_names": { + "default": null, + "param_type": "keyword_only" + }, + "availability_group_name": { + "default": null, + "param_type": "keyword_only" + }, + "distributed_availability_group_name": { + "default": null, + "param_type": "keyword_only" + }, + "azure_managed_instance_role": { + "default": "none", + "param_type": "keyword_only" + }, + "assessment_categories": { + "default": "none", + "param_type": "keyword_only" + }, + "sql_server_ip_address": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "azure_managed_instance_resource_id": { + "attr_type": "azure_managed_instance_resource_id" + }, + "azure_managed_instance_role": { + "attr_type": "azure_managed_instance_role" + }, + "database_names": { + "attr_type": "database_names" + }, + "availability_group_name": { + "attr_type": "availability_group_name" + }, + "distributed_availability_group_name": { + "attr_type": "distributed_availability_group_name" + }, + "assessment_categories": { + "attr_type": "assessment_categories" + }, + "sql_server_ip_address": { + "attr_type": "sql_server_ip_address" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceManagedInstanceLinkAssessmentResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "assessments": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "assessments": { + "attr_type": "assessments" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceMigrationReadinessReportResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "report": { + "attr_type": null + }, + "is_compressed": { + "attr_type": null + }, + "created_time": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "version": { + "default": "none", + "param_type": "keyword_only" + }, + "edition": { + "default": "none", + "param_type": "keyword_only" + }, + "cores": { + "default": "none", + "param_type": "keyword_only" + }, + "discovery_source": { + "default": "none", + "param_type": "keyword_only" + }, + "instance_name": { + "default": "none", + "param_type": "keyword_only" + }, + "host_type": { + "default": "none", + "param_type": "keyword_only" + }, + "database_mirroring_endpoint": { + "default": "none", + "param_type": "keyword_only" + }, + "failover_cluster": { + "default": "none", + "param_type": "keyword_only" + }, + "backup_policy": { + "default": "none", + "param_type": "keyword_only" + }, + "upgrade_locked_until": { + "default": "none", + "param_type": "keyword_only" + }, + "monitoring": { + "default": "none", + "param_type": "keyword_only" + }, + "migration": { + "default": "none", + "param_type": "keyword_only" + }, + "best_practices_assessment": { + "default": "none", + "param_type": "keyword_only" + }, + "client_connection": { + "default": "none", + "param_type": "keyword_only" + }, + "service_type": { + "default": "none", + "param_type": "keyword_only" + }, + "authentication": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "version": { + "attr_type": "version" + }, + "edition": { + "attr_type": "edition" + }, + "container_resource_id": { + "attr_type": null + }, + "vm_id": { + "attr_type": null + }, + "create_time": { + "attr_type": null + }, + "v_core": { + "attr_type": null + }, + "cores": { + "attr_type": "cores" + }, + "status": { + "attr_type": null + }, + "discovery_source": { + "attr_type": "discovery_source" + }, + "patch_level": { + "attr_type": null + }, + "collation": { + "attr_type": null + }, + "db_master_key_exists": { + "attr_type": null + }, + "is_hadr_enabled": { + "attr_type": null + }, + "trace_flags": { + "attr_type": null + }, + "current_version": { + "attr_type": null + }, + "instance_name": { + "attr_type": "instance_name" + }, + "tcp_dynamic_ports": { + "attr_type": null + }, + "tcp_static_ports": { + "attr_type": null + }, + "product_id": { + "attr_type": null + }, + "license_type": { + "attr_type": null + }, + "azure_defender_status_last_updated": { + "attr_type": null + }, + "azure_defender_status": { + "attr_type": null + }, + "provisioning_state": { + "attr_type": null + }, + "last_inventory_upload_time": { + "attr_type": null + }, + "last_usage_upload_time": { + "attr_type": null + }, + "host_type": { + "attr_type": "host_type" + }, + "always_on_role": { + "attr_type": null + }, + "database_mirroring_endpoint": { + "attr_type": "database_mirroring_endpoint" + }, + "failover_cluster": { + "attr_type": "failover_cluster" + }, + "backup_policy": { + "attr_type": "backup_policy" + }, + "upgrade_locked_until": { + "attr_type": "upgrade_locked_until" + }, + "monitoring": { + "attr_type": "monitoring" + }, + "migration": { + "attr_type": "migration" + }, + "best_practices_assessment": { + "attr_type": "best_practices_assessment" + }, + "client_connection": { + "attr_type": "client_connection" + }, + "service_type": { + "attr_type": "service_type" + }, + "max_server_memory_mb": { + "attr_type": null + }, + "is_microsoft_pki_cert_trust_configured": { + "attr_type": null + }, + "is_digi_cert_pki_cert_trust_configured": { + "attr_type": null + }, + "authentication": { + "attr_type": "authentication" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceRunBestPracticesAssessmentResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "default": "none", + "param_type": "keyword_only" + }, + "instance_name": { + "default": "none", + "param_type": "keyword_only" + }, + "job_status": { + "default": "none", + "param_type": "keyword_only" + }, + "job_exception": { + "default": "none", + "param_type": "keyword_only" + }, + "background_job": { + "default": "none", + "param_type": "keyword_only" + }, + "sequencer_actions": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": { + "attr_type": "id" + }, + "instance_name": { + "attr_type": "instance_name" + }, + "job_status": { + "attr_type": "job_status" + }, + "job_exception": { + "attr_type": "job_exception" + }, + "background_job": { + "attr_type": "background_job" + }, + "sequencer_actions": { + "attr_type": "sequencer_actions" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceRunMigrationAssessmentResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "default": "none", + "param_type": "keyword_only" + }, + "instance_name": { + "default": "none", + "param_type": "keyword_only" + }, + "job_status": { + "default": "none", + "param_type": "keyword_only" + }, + "job_exception": { + "default": "none", + "param_type": "keyword_only" + }, + "background_job": { + "default": "none", + "param_type": "keyword_only" + }, + "sequencer_actions": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": { + "attr_type": "id" + }, + "instance_name": { + "attr_type": "instance_name" + }, + "job_status": { + "attr_type": "job_status" + }, + "job_exception": { + "attr_type": "job_exception" + }, + "background_job": { + "attr_type": "background_job" + }, + "sequencer_actions": { + "attr_type": "sequencer_actions" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceRunMigrationReadinessAssessmentResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "default": "none", + "param_type": "keyword_only" + }, + "instance_name": { + "default": "none", + "param_type": "keyword_only" + }, + "job_status": { + "default": "none", + "param_type": "keyword_only" + }, + "job_exception": { + "default": "none", + "param_type": "keyword_only" + }, + "background_job": { + "default": "none", + "param_type": "keyword_only" + }, + "sequencer_actions": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": { + "attr_type": "id" + }, + "instance_name": { + "attr_type": "instance_name" + }, + "job_status": { + "attr_type": "job_status" + }, + "job_exception": { + "attr_type": "job_exception" + }, + "background_job": { + "attr_type": "background_job" + }, + "sequencer_actions": { + "attr_type": "sequencer_actions" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceRunTargetRecommendationJobRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_update_mode": { + "default": "str", + "param_type": "keyword_only" + }, + "include_file_level_requirements": { + "default": "bool", + "param_type": "keyword_only" + }, + "target_location": { + "default": "str", + "param_type": "keyword_only" + }, + "percentile": { + "default": "int", + "param_type": "keyword_only" + }, + "lookback_period_in_days": { + "default": "int", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "resource_update_mode": { + "attr_type": "resource_update_mode" + }, + "include_file_level_requirements": { + "attr_type": "include_file_level_requirements" + }, + "target_location": { + "attr_type": "target_location" + }, + "percentile": { + "attr_type": "percentile" + }, + "lookback_period_in_days": { + "attr_type": "lookback_period_in_days" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceRunTargetRecommendationJobResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "job_status": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceTargetRecommendationReport": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "report_id": { + "attr_type": null + }, + "created_time": { + "attr_type": null + }, + "sections": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceTargetRecommendationReportSection": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "data": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "database_name": { + "attr_type": null + }, + "is_compressed": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceTargetRecommendationReportSectionType": { + "type": "Enum", + "methods": {}, + "properties": { + "FILE_REQUIREMENTS_PER_DATABASE": "FILE_REQUIREMENTS_PER_DATABASE", + "REQUIREMENTS_PER_DATABASE": "REQUIREMENTS_PER_DATABASE", + "REQUIREMENTS_PER_INSTANCE": "REQUIREMENTS_PER_INSTANCE", + "SQL_DB_TARGET_RECOMMENDATION_PER_DATABASE": "SQL_DB_TARGET_RECOMMENDATION_PER_DATABASE", + "SQL_MI_TARGET_RECOMMENDATION_PER_INSTANCE": "SQL_MI_TARGET_RECOMMENDATION_PER_INSTANCE", + "SQL_VM_TARGET_RECOMMENDATION_PER_INSTANCE": "SQL_VM_TARGET_RECOMMENDATION_PER_INSTANCE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlServerInstanceTargetRecommendationReportsRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "report_offset": { + "default": "none", + "param_type": "keyword_only" + }, + "section_offset": { + "default": "none", + "param_type": "keyword_only" + }, + "section_type": { + "default": "none", + "param_type": "keyword_only" + }, + "database_names": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "report_offset": { + "attr_type": "report_offset" + }, + "section_offset": { + "attr_type": "section_offset" + }, + "section_type": { + "attr_type": "section_type" + }, + "database_names": { + "attr_type": "database_names" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceTargetRecommendationReportsResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "job_status": { + "attr_type": null + }, + "reports": { + "attr_type": null + }, + "total_report_count": { + "attr_type": null + }, + "next_report_offset": { + "attr_type": null + }, + "next_section_offset": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceTelemetryColumn": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "default": "none", + "param_type": "keyword_only" + }, + "type": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": { + "attr_type": "name" + }, + "type": { + "attr_type": "type" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceTelemetryColumnType": { + "type": "Enum", + "methods": {}, + "properties": { + "BOOL": "BOOL", + "DATETIME": "DATETIME", + "DOUBLE": "DOUBLE", + "GUID": "GUID", + "INT": "INT", + "LONG": "LONG", + "STRING": "STRING", + "TIMESPAN": "TIMESPAN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlServerInstanceTelemetryRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "dataset_name": { + "default": null, + "param_type": "keyword_only" + }, + "start_time": { + "default": "none", + "param_type": "keyword_only" + }, + "end_time": { + "default": "none", + "param_type": "keyword_only" + }, + "interval": { + "default": "str", + "param_type": "keyword_only" + }, + "aggregation_type": { + "default": "str", + "param_type": "keyword_only" + }, + "database_names": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "dataset_name": { + "attr_type": "dataset_name" + }, + "start_time": { + "attr_type": "start_time" + }, + "end_time": { + "attr_type": "end_time" + }, + "interval": { + "attr_type": "interval" + }, + "aggregation_type": { + "attr_type": "aggregation_type" + }, + "database_names": { + "attr_type": "database_names" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceTelemetryResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "columns": { + "default": null, + "param_type": "keyword_only" + }, + "rows": { + "default": null, + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "columns": { + "attr_type": "columns" + }, + "rows": { + "attr_type": "rows" + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "properties": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": { + "attr_type": "tags" + }, + "properties": { + "attr_type": "properties" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerInstanceUpdateProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "version": { + "default": "none", + "param_type": "keyword_only" + }, + "edition": { + "default": "none", + "param_type": "keyword_only" + }, + "cores": { + "default": "none", + "param_type": "keyword_only" + }, + "discovery_source": { + "default": "none", + "param_type": "keyword_only" + }, + "instance_name": { + "default": "none", + "param_type": "keyword_only" + }, + "host_type": { + "default": "none", + "param_type": "keyword_only" + }, + "failover_cluster": { + "default": "none", + "param_type": "keyword_only" + }, + "backup_policy": { + "default": "none", + "param_type": "keyword_only" + }, + "upgrade_locked_until": { + "default": "none", + "param_type": "keyword_only" + }, + "monitoring": { + "default": "none", + "param_type": "keyword_only" + }, + "migration": { + "default": "none", + "param_type": "keyword_only" + }, + "best_practices_assessment": { + "default": "none", + "param_type": "keyword_only" + }, + "client_connection": { + "default": "none", + "param_type": "keyword_only" + }, + "service_type": { + "default": "none", + "param_type": "keyword_only" + }, + "authentication": { + "default": "none", + "param_type": "keyword_only" + }, + "database_mirroring_endpoint": { + "default": "none", + "param_type": "keyword_only" + }, + "is_microsoft_pki_cert_trust_configured": { + "default": "none", + "param_type": "keyword_only" + }, + "is_digi_cert_pki_cert_trust_configured": { + "default": "none", + "param_type": "keyword_only" + }, + "max_server_memory_mb": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "version": { + "attr_type": "version" + }, + "edition": { + "attr_type": "edition" + }, + "container_resource_id": { + "attr_type": null + }, + "vm_id": { + "attr_type": null + }, + "create_time": { + "attr_type": null + }, + "v_core": { + "attr_type": null + }, + "cores": { + "attr_type": "cores" + }, + "status": { + "attr_type": null + }, + "discovery_source": { + "attr_type": "discovery_source" + }, + "patch_level": { + "attr_type": null + }, + "collation": { + "attr_type": null + }, + "db_master_key_exists": { + "attr_type": null + }, + "is_hadr_enabled": { + "attr_type": null + }, + "trace_flags": { + "attr_type": null + }, + "current_version": { + "attr_type": null + }, + "instance_name": { + "attr_type": "instance_name" + }, + "tcp_dynamic_ports": { + "attr_type": null + }, + "tcp_static_ports": { + "attr_type": null + }, + "product_id": { + "attr_type": null + }, + "license_type": { + "attr_type": null + }, + "azure_defender_status_last_updated": { + "attr_type": null + }, + "azure_defender_status": { + "attr_type": null + }, + "provisioning_state": { + "attr_type": null + }, + "last_inventory_upload_time": { + "attr_type": null + }, + "last_usage_upload_time": { + "attr_type": null + }, + "host_type": { + "attr_type": "host_type" + }, + "always_on_role": { + "attr_type": null + }, + "failover_cluster": { + "attr_type": "failover_cluster" + }, + "backup_policy": { + "attr_type": "backup_policy" + }, + "upgrade_locked_until": { + "attr_type": "upgrade_locked_until" + }, + "monitoring": { + "attr_type": "monitoring" + }, + "migration": { + "attr_type": "migration" + }, + "best_practices_assessment": { + "attr_type": "best_practices_assessment" + }, + "client_connection": { + "attr_type": "client_connection" + }, + "service_type": { + "attr_type": "service_type" + }, + "authentication": { + "attr_type": "authentication" + }, + "database_mirroring_endpoint": { + "attr_type": "database_mirroring_endpoint" + }, + "is_microsoft_pki_cert_trust_configured": { + "attr_type": "is_microsoft_pki_cert_trust_configured" + }, + "is_digi_cert_pki_cert_trust_configured": { + "attr_type": "is_digi_cert_pki_cert_trust_configured" + }, + "max_server_memory_mb": { + "attr_type": "max_server_memory_mb" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerLicense": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": { + "attr_type": "properties" + }, + "tags": { + "attr_type": "tags" + }, + "location": { + "attr_type": "location" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerLicenseListResult": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": { + "attr_type": null + }, + "next_link": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerLicenseProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "billing_plan": { + "default": null, + "param_type": "keyword_only" + }, + "physical_cores": { + "default": null, + "param_type": "keyword_only" + }, + "license_category": { + "default": null, + "param_type": "keyword_only" + }, + "activation_state": { + "default": null, + "param_type": "keyword_only" + }, + "scope_type": { + "default": null, + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "billing_plan": { + "attr_type": "billing_plan" + }, + "physical_cores": { + "attr_type": "physical_cores" + }, + "license_category": { + "attr_type": "license_category" + }, + "activation_state": { + "attr_type": "activation_state" + }, + "scope_type": { + "attr_type": "scope_type" + }, + "last_activated_at": { + "attr_type": null + }, + "last_deactivated_at": { + "attr_type": null + }, + "tenant_id": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerLicenseUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "properties": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": { + "attr_type": "tags" + }, + "properties": { + "attr_type": "properties" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlServerLicenseUpdateProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "billing_plan": { + "default": "none", + "param_type": "keyword_only" + }, + "physical_cores": { + "default": "none", + "param_type": "keyword_only" + }, + "license_category": { + "default": "none", + "param_type": "keyword_only" + }, + "activation_state": { + "default": "none", + "param_type": "keyword_only" + }, + "scope_type": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "billing_plan": { + "attr_type": "billing_plan" + }, + "physical_cores": { + "attr_type": "physical_cores" + }, + "license_category": { + "attr_type": "license_category" + }, + "activation_state": { + "attr_type": "activation_state" + }, + "scope_type": { + "attr_type": "scope_type" + }, + "last_activated_at": { + "attr_type": null + }, + "last_deactivated_at": { + "attr_type": null + }, + "tenant_id": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "SqlVersion": { + "type": "Enum", + "methods": {}, + "properties": { + "SQL_SERVER2012": "SQL_SERVER2012", + "SQL_SERVER2014": "SQL_SERVER2014", + "SQL_SERVER2016": "SQL_SERVER2016", + "SQL_SERVER2017": "SQL_SERVER2017", + "SQL_SERVER2019": "SQL_SERVER2019", + "SQL_SERVER2022": "SQL_SERVER2022", + "SQL_SERVER2025": "SQL_SERVER2025", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "State": { + "type": "Enum", + "methods": {}, + "properties": { + "ACTIVE": "ACTIVE", + "COMPLETED": "COMPLETED", + "DELETED": "DELETED", + "DISABLED": "DISABLED", + "ENABLED": "ENABLED", + "FAULTED": "FAULTED", + "INACTIVE": "INACTIVE", + "SUSPENDED": "SUSPENDED", + "TERMINATED": "TERMINATED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SystemData": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "created_by": { + "default": "none", + "param_type": "keyword_only" + }, + "created_by_type": { + "default": "none", + "param_type": "keyword_only" + }, + "created_at": { + "default": "none", + "param_type": "keyword_only" + }, + "last_modified_by": { + "default": "none", + "param_type": "keyword_only" + }, + "last_modified_by_type": { + "default": "none", + "param_type": "keyword_only" + }, + "last_modified_at": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "created_by": { + "attr_type": "created_by" + }, + "created_by_type": { + "attr_type": "created_by_type" + }, + "created_at": { + "attr_type": "created_at" + }, + "last_modified_by": { + "attr_type": "last_modified_by" + }, + "last_modified_by_type": { + "attr_type": "last_modified_by_type" + }, + "last_modified_at": { + "attr_type": "last_modified_at" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "TargetReadiness": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "azure_sql_database": { + "default": "none", + "param_type": "keyword_only" + }, + "azure_sql_managed_instance": { + "default": "none", + "param_type": "keyword_only" + }, + "azure_sql_virtual_machine": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "azure_sql_database": { + "attr_type": "azure_sql_database" + }, + "azure_sql_managed_instance": { + "attr_type": "azure_sql_managed_instance" + }, + "azure_sql_virtual_machine": { + "attr_type": "azure_sql_virtual_machine" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "TargetType": { + "type": "Enum", + "methods": {}, + "properties": { + "AZURE_SQL_DATABASE": "AZURE_SQL_DATABASE", + "AZURE_SQL_MANAGED_INSTANCE": "AZURE_SQL_MANAGED_INSTANCE", + "AZURE_SQL_VIRTUAL_MACHINE": "AZURE_SQL_VIRTUAL_MACHINE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "TrackedResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": { + "attr_type": "tags" + }, + "location": { + "attr_type": "location" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "TrackedResourceAutoGenerated": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": { + "attr_type": "tags" + }, + "location": { + "attr_type": "location" + }, + "id": { + "attr_type": null + }, + "name": { + "attr_type": null + }, + "type": { + "attr_type": null + }, + "system_data": { + "attr_type": null + }, + "additional_properties": { + "attr_type": null + } + } + }, + "UploadServicePrincipal": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "client_id": { + "default": "none", + "param_type": "keyword_only" + }, + "tenant_id": { + "default": "none", + "param_type": "keyword_only" + }, + "authority": { + "default": "none", + "param_type": "keyword_only" + }, + "client_secret": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "client_id": { + "attr_type": "client_id" + }, + "tenant_id": { + "attr_type": "tenant_id" + }, + "authority": { + "attr_type": "authority" + }, + "client_secret": { + "attr_type": "client_secret" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "UploadWatermark": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "metrics": { + "default": "none", + "param_type": "keyword_only" + }, + "logs": { + "default": "none", + "param_type": "keyword_only" + }, + "usages": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "key_transformer": { + "default": "attribute_transformer", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "deserialize": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "enable_additional_properties_sending": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "from_dict": { + "parameters": { + "data": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key_extractors": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "content_type": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "is_xml_model": { + "parameters": {}, + "is_async": false, + "overloads": [] + }, + "serialize": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "keep_readonly": { + "default": "bool", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "metrics": { + "attr_type": "metrics" + }, + "logs": { + "attr_type": "logs" + }, + "usages": { + "attr_type": "usages" + }, + "additional_properties": { + "attr_type": null + } + } + }, + "Version": { + "type": "Enum", + "methods": {}, + "properties": { + "SQL_SERVER2012": "SQL_SERVER2012", + "SQL_SERVER2014": "SQL_SERVER2014", + "SQL_SERVER2016": "SQL_SERVER2016", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + } + }, + "function_nodes": {} + }, + "azure.mgmt.azurearcdata.aio": { + "class_nodes": { + "AzureArcDataManagementClient": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "credential": { + "default": null, + "param_type": "positional_or_keyword" + }, + "subscription_id": { + "default": null, + "param_type": "positional_or_keyword" + }, + "base_url": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "cloud_setting": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "close": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": true, + "overloads": [] + } + }, + "properties": { + "client_side_validation": { + "attr_type": false + }, + "operations": { + "attr_type": "Operations" + }, + "sql_managed_instances": { + "attr_type": "SqlManagedInstancesOperations" + }, + "failover_groups": { + "attr_type": "FailoverGroupsOperations" + }, + "sql_server_instances": { + "attr_type": "SqlServerInstancesOperations" + }, + "sql_server_licenses": { + "attr_type": "SqlServerLicensesOperations" + }, + "data_controllers": { + "attr_type": "DataControllersOperations" + }, + "active_directory_connectors": { + "attr_type": "ActiveDirectoryConnectorsOperations" + }, + "postgres_instances": { + "attr_type": "PostgresInstancesOperations" + }, + "sql_server_availability_groups": { + "attr_type": "SqlServerAvailabilityGroupsOperations" + }, + "sql_server_databases": { + "attr_type": "SqlServerDatabasesOperations" + }, + "sql_server_esu_licenses": { + "attr_type": "SqlServerEsuLicensesOperations" + } + } + } + }, + "function_nodes": {} + }, + "azure.mgmt.azurearcdata.aio.operations": { + "class_nodes": { + "ActiveDirectoryConnectorsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "type": "ActiveDirectoryConnectorResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "DataControllersOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_delete_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_patch_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "DataControllerUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_put_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "DataControllerResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "get_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list_in_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_in_subscription": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "FailoverGroupsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "type": "FailoverGroupResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "Operations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "PostgresInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "type": "PostgresInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "PostgresInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlManagedInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "type": "SqlManagedInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlManagedInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerAvailabilityGroupsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "add_databases": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "Databases", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_create_availability_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "type": "AvailabilityGroupCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_create_distributed_availability_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "type": "DistributedAvailabilityGroupCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_create_managed_instance_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "type": "ManagedInstanceLinkCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_delete_mi_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_failover_mi_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "type": "FailoverMiLinkResourceId", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "type": "SqlServerAvailabilityGroupUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "type": "SqlServerAvailabilityGroupResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "detail_view": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "failover": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "force_failover_allow_data_loss": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "remove_databases": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "Databases", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerDatabasesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "type": "SqlServerDatabaseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "type": "SqlServerDatabaseResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "SqlServerEsuLicensesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "type": "SqlServerEsuLicense", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerEsuLicenseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "type": "SqlServerInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_get_best_practices_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "type": "SqlServerInstanceBpaRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_get_jobs": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "type": "Optional[SqlServerInstanceJobsRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_get_migration_readiness_report": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_get_target_recommendation_reports": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "type": "Optional[SqlServerInstanceTargetRecommendationReportsRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_get_telemetry": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "type": "SqlServerInstanceTelemetryRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_run_best_practice_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_run_managed_instance_link_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "type": "SqlServerInstanceManagedInstanceLinkAssessmentRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_run_migration_readiness_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_run_target_recommendation_job": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "type": "Optional[SqlServerInstanceRunTargetRecommendationJobRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get_all_availability_groups": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "type": "Optional[AvailabilityGroupRetrievalFilters]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "get_jobs_status": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "type": "Optional[SqlServerInstanceJobsStatusRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "post_upgrade": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "pre_upgrade": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "run_best_practices_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "run_migration_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + } + }, + "properties": {} + }, + "SqlServerLicensesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "type": "SqlServerLicense", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerLicenseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + } + }, + "properties": {} + } + }, + "function_nodes": {} + } +} \ No newline at end of file diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py new file mode 100644 index 000000000000..9c178d98c3d3 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py @@ -0,0 +1,45 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python add_databases_to_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.add_databases( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + availability_group_name="testAG", + databases={"values": ["db1", "db2", "db3"]}, + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/AddDatabasesToAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py index 992c02d65a25..7b44504b4057 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -59,6 +61,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateActiveDirectoryConnector.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateActiveDirectoryConnector.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py new file mode 100644 index 000000000000..962a78158b56 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py @@ -0,0 +1,79 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python create_or_update_arc_sql_server_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.create( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + availability_group_name="testAG", + sql_server_availability_group_resource={ + "location": "southeastasia", + "properties": { + "databases": {"value": [{"databaseName": "db1"}, {"databaseName": "db2"}]}, + "info": { + "basicFeatures": False, + "dbFailover": True, + "dtcSupport": False, + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "isContained": False, + "isDistributed": False, + "replicationPartnerType": None, + "requiredSynchronizedSecondariesToCommit": 0, + "secondaryRecoveryHealthDescription": None, + }, + "replicas": { + "value": [ + { + "configure": { + "backupPriority": 50, + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "readOnlyRoutingUrl": None, + "readWriteRoutingUrl": None, + "replicaCreateDate": None, + "replicaModifyDate": None, + "sessionTimeout": 10, + }, + "replicaName": "testSqlServer\\INST1", + } + ] + }, + }, + "tags": {"mytag": "myval"}, + }, + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateArcSqlServerAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py new file mode 100644 index 000000000000..e8293d0ca167 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py @@ -0,0 +1,96 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python create_or_update_arc_sql_server_database.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_databases.create( + resource_group_name="testrg", + sql_server_instance_name="testSqlServerInstance", + database_name="testdb", + sql_server_database_resource={ + "location": "southeastasia", + "properties": { + "backupInformation": { + "lastFullBackup": "2022-05-05T16:26:33.883Z", + "lastLogBackup": "2022-05-10T16:26:33.883Z", + }, + "backupPolicy": { + "differentialBackupHours": 12, + "fullBackupDays": 1, + "retentionPeriodDays": 1, + "transactionLogBackupMinutes": 30, + }, + "collationName": "SQL_Latin1_General_CP1_CI_AS", + "compatibilityLevel": 150, + "createMode": "PointInTimeRestore", + "dataFileSizeMB": 80, + "databaseCreationDate": "2022-04-05T16:26:33.883Z", + "databaseOptions": { + "isAutoCloseOn": True, + "isAutoCreateStatsOn": True, + "isAutoShrinkOn": True, + "isAutoUpdateStatsOn": True, + "isEncrypted": True, + "isHekatonFilesOn": False, + "isMemoryOptimizationEnabled": True, + "isRemoteDataArchiveEnabled": True, + "isTrustworthyOn": True, + }, + "isReadOnly": True, + "logFileSizeMB": 70, + "migration": { + "jobs": [ + { + "additionalAttributes": [{"keyName": "LRSVersion", "keyValue": "2.34"}], + "initiatedFrom": "DMS-Portal", + "migrationMode": "LogShipping", + "migrationTrackingId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/SqlMigrationServices/my-migration-service", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Sql/managedInstances/myManagedInstance/databases/myDatabase", + "targetType": "AzureSqlManagedInstance", + } + ] + }, + "recoveryMode": "Full", + "restorePointInTime": "2022-05-05T16:26:33.883Z", + "sizeMB": 150, + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/MyDatabase", + "spaceAvailableMB": 100, + "state": "Online", + }, + "tags": {"mytag": "myval"}, + }, + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateArcSqlServerDatabase.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py index 748fb8eabae1..f505e539e375 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -71,6 +73,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateDataController.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py new file mode 100644 index 000000000000..7902e8599796 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py @@ -0,0 +1,50 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python create_or_update_failover_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.failover_groups.begin_create( + resource_group_name="testrg", + sql_managed_instance_name="testSqlManagedInstance", + failover_group_name="testFailoverGroupName", + failover_group_resource={ + "properties": { + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/partnerMI", + "spec": {"partnerSyncMode": "async", "role": "primary"}, + } + }, + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateFailoverGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py new file mode 100644 index 000000000000..ffaf6d775dc3 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py @@ -0,0 +1,76 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python create_or_update_managed_instance_link.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.begin_create_managed_instance_link( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + create_managed_instance_link_configuration={ + "availabilityGroup": { + "availabilityGroupName": "myNewAg", + "databases": ["database1"], + "replicas": [ + { + "availabilityMode": "SYNCHRONOUS_COMMIT", + "endpointUrl": "TCP://testSqlServer_INST1.testSqlserverDomain:5022", + "failoverMode": "AUTOMATIC", + "secondaryRoleAllowConnections": "ALL", + "seedingMode": "AUTOMATIC", + } + ], + }, + "distributedAvailabilityGroup": { + "availabilityGroupName": "myNewDag", + "primaryAvailabilityGroup": { + "availabilityGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG1", + "availabilityMode": "ASYNCHRONOUS_COMMIT", + "certificateConfiguration": {"certificateName": "myCert"}, + "failoverMode": "MANUAL", + "listenerUrl": "TCP://testAG1.contoso.com:5022", + "seedingMode": "AUTOMATIC", + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl", + "availabilityMode": "ASYNCHRONOUS_COMMIT", + "failoverMode": "NONE", + "seedingMode": "AUTOMATIC", + }, + }, + "miLinkConfiguration": {"instanceAvailabilityGroupName": "testAG2"}, + }, + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateManagedInstanceLink.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py index 7119b1f25104..0ae1eccde917 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -83,6 +85,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdatePostgresInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdatePostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py index e061afe5d2fb..b4cb6dc218ba 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -57,6 +59,24 @@ def main(): } } }, + "security": { + "activeDirectory": { + "accountName": "Account name", + "connector": {"name": "Name of connector", "namespace": "Namespace of connector"}, + "encryptionTypes": ["Encryption type item1, Encryption type item2,..."], + "keytabSecret": "Key tab secret of account", + }, + "adminLoginSecret": "test-sql-login-secret", + "serviceCertificateSecret": "Service Certificate Secret", + "transparentDataEncryption": {"mode": "SystemManaged"}, + }, + "settings": { + "network": { + "forceencryption": 0, + "tlsciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384", + "tlsprotocols": "1.2", + } + }, }, }, "licenseType": "LicenseIncluded", @@ -69,6 +89,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateSqlManagedInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py new file mode 100644 index 000000000000..3a67a020ea7a --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py @@ -0,0 +1,54 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python create_or_update_sql_server_esu_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_esu_licenses.create( + resource_group_name="testrg", + sql_server_esu_license_name="testsqlServerEsuLicense", + sql_server_esu_license={ + "location": "northeurope", + "properties": { + "activationState": "Inactive", + "billingPlan": "PAYG", + "physicalCores": 24, + "scopeType": "Subscription", + "version": "SQL Server 2016", + }, + "tags": {"mytag": "myval"}, + }, + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateSqlServerEsuLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py index d4a8a27b399c..ec1d02b30185 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -35,21 +37,35 @@ def main(): sql_server_instance={ "location": "northeurope", "properties": { - "azureDefenderStatus": "Protected", - "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", - "collation": "collation", - "containerResourceId": "Resource id of hosting Arc Machine", - "currentVersion": "2012", + "authentication": { + "mode": "Windows", + "sqlServerEntraIdentity": [ + { + "clientId": "00000000-1111-2222-3333-444444444444", + "identityType": "UserAssignedManagedIdentity", + }, + {"clientId": "", "identityType": "SystemAssignedManagedIdentity"}, + ], + }, + "backupPolicy": { + "differentialBackupHours": 12, + "fullBackupDays": 1, + "retentionPeriodDays": 1, + "transactionLogBackupMinutes": 30, + }, + "bestPracticesAssessment": { + "enabled": True, + "schedule": {"cronTrigger": {"expression": "0 0 12 1 11"}, "enabled": True}, + }, + "clientConnection": {"enabled": False}, + "cores": "4", + "discoverySource": "SSMS", "edition": "Developer", "hostType": "Physical Server", "instanceName": "name of instance", - "licenseType": "Free", - "patchLevel": "patchlevel", - "productId": "sql id", - "status": "Registered", - "tcpDynamicPorts": "1433", - "tcpStaticPorts": "1433", - "vCore": "4", + "migration": {"assessment": {"enabled": False}}, + "monitoring": {"enabled": False}, + "serviceType": "Engine", "version": "SQL Server 2012", }, "tags": {"mytag": "myval"}, @@ -58,6 +74,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateSqlServerInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py new file mode 100644 index 000000000000..3ecc7ef029cc --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py @@ -0,0 +1,54 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python create_or_update_sql_server_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_licenses.create( + resource_group_name="testrg", + sql_server_license_name="testsqlServerLicense", + sql_server_license={ + "location": "northeurope", + "properties": { + "activationState": "Deactivated", + "billingPlan": "PAYG", + "licenseCategory": "Core", + "physicalCores": 24, + "scopeType": "Subscription", + }, + "tags": {"mytag": "myval"}, + }, + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateSqlServerLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py new file mode 100644 index 000000000000..e8a6feec9cef --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py @@ -0,0 +1,94 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python create_sql_server_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.begin_create_availability_group( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + create_ag_configuration={ + "automatedBackupPreference": "SECONDARY", + "availabilityGroupName": "myNewAg", + "clusterType": "WSFC", + "databases": ["database1", "database2"], + "dbFailover": "ON", + "dtcSupport": "NONE", + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "listener": { + "dnsName": "myNewAgListener", + "ipV4AddressesAndMasks": [ + {"ipAddress": "192.1.168.5", "mask": "255.255.255.0"}, + {"ipAddress": "10.1.168.5", "mask": "255.255.255.0"}, + ], + "port": 1433, + }, + "replicas": [ + { + "availabilityMode": "SYNCHRONOUS_COMMIT", + "backupPriority": 50, + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://testSqlServer_INST1.testSqlserverDomain:5022", + "failoverMode": "AUTOMATIC", + "primaryRoleAllowConnections": "ALL", + "primaryRoleReadOnlyRoutingList": None, + "secondaryRoleAllowConnections": "ALL", + "secondaryRoleReadOnlyRoutingUrl": None, + "seedingMode": "AUTOMATIC", + "serverInstance": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/", + "sessionTimeout": 10, + }, + { + "availabilityMode": "SYNCHRONOUS_COMMIT", + "backupPriority": 50, + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "endpointName": "inst2DBMEndpoint", + "endpointUrl": "TCP://testSqlServer_INST2.testSqlserverDomain:5022", + "failoverMode": "AUTOMATIC", + "primaryRoleAllowConnections": "ALL", + "primaryRoleReadOnlyRoutingList": None, + "secondaryRoleAllowConnections": "ALL", + "secondaryRoleReadOnlyRoutingUrl": None, + "seedingMode": "AUTOMATIC", + "serverInstance": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST2/", + "sessionTimeout": 10, + }, + ], + "requiredSynchronizedSecondariesToCommit": 0, + }, + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateSqlServerAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py new file mode 100644 index 000000000000..67555a607af9 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py @@ -0,0 +1,62 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python create_sql_server_distributed_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.begin_create_distributed_availability_group( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + create_dag_configuration={ + "availabilityGroupName": "myNewDag", + "primaryAvailabilityGroup": { + "availabilityGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG1", + "availabilityMode": "ASYNCHRONOUS_COMMIT", + "certificateConfiguration": {"certificateName": "myCert"}, + "failoverMode": "MANUAL", + "listenerUrl": "TCP://testAG1.contoso.com:5022", + "seedingMode": "AUTOMATIC", + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST2/availabilityGroups/testAG2", + "availabilityMode": "ASYNCHRONOUS_COMMIT", + "certificateConfiguration": {"certificateName": "myCert"}, + "failoverMode": "MANUAL", + "listenerUrl": "TCP://testAG2.contoso.com:5022", + "seedingMode": "AUTOMATIC", + }, + }, + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateSqlServerDistributedAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py index 2eeb1ba06e8c..0839f10c68f4 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -29,14 +31,13 @@ def main(): subscription_id="00000000-1111-2222-3333-444444444444", ) - response = client.active_directory_connectors.begin_delete( + client.active_directory_connectors.begin_delete( resource_group_name="testrg", data_controller_name="testdataController", active_directory_connector_name="testADConnector", ).result() - print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteActiveDirectoryConnector.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteActiveDirectoryConnector.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py new file mode 100644 index 000000000000..2f3d4e0ba651 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python delete_arc_sql_server_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + client.sql_server_availability_groups.begin_delete( + resource_group_name="testrg", + sql_server_instance_name="testsqlInstanceAvailabilityGroup", + availability_group_name="testAG", + ).result() + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteArcSqlServerAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py new file mode 100644 index 000000000000..c8f04ef0df75 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python delete_arc_sql_server_database.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + client.sql_server_databases.begin_delete( + resource_group_name="testrg", + sql_server_instance_name="testsqlManagedInstance", + database_name="testdb", + ).result() + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteArcSqlServerDatabase.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py index a4cb8fcbea06..1623e3ff8929 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -29,13 +31,12 @@ def main(): subscription_id="00000000-1111-2222-3333-444444444444", ) - response = client.data_controllers.begin_delete_data_controller( + client.data_controllers.begin_delete_data_controller( resource_group_name="testrg", data_controller_name="testdataController", ).result() - print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteDataController.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py new file mode 100644 index 000000000000..0e5976bd948c --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python delete_failover_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + client.failover_groups.begin_delete( + resource_group_name="testrg", + sql_managed_instance_name="testSqlManagedInstance", + failover_group_name="testFailoverGroupName", + ).result() + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteFailoverGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py new file mode 100644 index 000000000000..3b69181499e0 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python delete_mi_link.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + client.sql_server_availability_groups.begin_delete_mi_link( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + availability_group_name="testDAG", + ).result() + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteMiLink.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py index 93e3462283c4..43b29e828466 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -29,13 +31,12 @@ def main(): subscription_id="00000000-1111-2222-3333-444444444444", ) - response = client.postgres_instances.begin_delete( + client.postgres_instances.begin_delete( resource_group_name="testrg", postgres_instance_name="testpostgresInstance", ).result() - print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeletePostgresInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeletePostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py index 756198983e48..53232f816405 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -29,13 +31,12 @@ def main(): subscription_id="00000000-1111-2222-3333-444444444444", ) - response = client.sql_managed_instances.begin_delete( + client.sql_managed_instances.begin_delete( resource_group_name="testrg", sql_managed_instance_name="testsqlManagedInstance", ).result() - print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteSqlManagedInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py new file mode 100644 index 000000000000..3180e527f0f3 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py @@ -0,0 +1,42 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python delete_sql_server_esu_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + client.sql_server_esu_licenses.delete( + resource_group_name="testrg", + sql_server_esu_license_name="testsqlServerEsuLicense", + ) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteSqlServerEsuLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py index f40d9fa71235..449663237f94 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -29,13 +31,12 @@ def main(): subscription_id="00000000-1111-2222-3333-444444444444", ) - response = client.sql_server_instances.begin_delete( + client.sql_server_instances.begin_delete( resource_group_name="testrg", sql_server_instance_name="testsqlServerInstance", ).result() - print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteSqlServerInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py new file mode 100644 index 000000000000..cb7892989f09 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py @@ -0,0 +1,42 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python delete_sql_server_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + client.sql_server_licenses.delete( + resource_group_name="testrg", + sql_server_license_name="testsqlServerLicense", + ) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteSqlServerLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py new file mode 100644 index 000000000000..e7da80fd4b57 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python failover_arc_sql_server_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.failover( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + availability_group_name="testAG", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/FailoverArcSqlServerAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py new file mode 100644 index 000000000000..f46c925204af --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py @@ -0,0 +1,47 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python failover_mi_link.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.begin_failover_mi_link( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + availability_group_name="testDAG", + managed_instance_resource_id={ + "managedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl" + }, + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/failoverMiLink.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py new file mode 100644 index 000000000000..938eb34ae77b --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python filtered_list_by_sql_server_instance_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="12345678-1234-1234-1234-123456789012", + ) + + response = client.sql_server_instances.get_all_availability_groups( + resource_group_name="exampleResourceGroup", + sql_server_instance_name="exampleSqlServerInstance", + ) + for item in response: + print(item) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/FilteredListBySqlServerInstanceAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py new file mode 100644 index 000000000000..c6b63054faba --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python force_failover_arc_sql_server_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.force_failover_allow_data_loss( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + availability_group_name="testAG", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ForceFailoverArcSqlServerAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py index 5b95f948a52e..6d9be55b3837 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -37,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetActiveDirectoryConnector.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetActiveDirectoryConnector.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py new file mode 100644 index 000000000000..f43dd970bd1f --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_arc_sql_server_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.get( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + availability_group_name="testAG", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetArcSqlServerAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py new file mode 100644 index 000000000000..c15bb4f57716 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_arc_sql_server_database.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_databases.get( + resource_group_name="testrg", + sql_server_instance_name="testSqlServerInstance", + database_name="testdb", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetArcSqlServerDatabase.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py index d998f7445f5b..e43f1aef2e93 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -36,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetDataController.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py new file mode 100644 index 000000000000..c9664802cd8d --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_failover_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.failover_groups.get( + resource_group_name="testrg", + sql_managed_instance_name="testSqlManagedInstance", + failover_group_name="testFailoverGroupName", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetFailoverGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py index 368cace719b0..1f6db5ebe6a1 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -36,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetPostgresInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetPostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py index 9a8917c8d85c..2fd6c599b919 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -36,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetSqlManagedInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py new file mode 100644 index 000000000000..3dc1a757cfaa --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_sql_server_esu_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_esu_licenses.get( + resource_group_name="testrg", + sql_server_esu_license_name="testsqlServerEsuLicense", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerEsuLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py index dc2feeb0fbf9..213d0c80f074 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -36,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetSqlServerInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py new file mode 100644 index 000000000000..4533ed98866c --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py @@ -0,0 +1,49 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_sql_server_instance_bpa.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_get_best_practices_assessment( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + sql_server_instance_bpa_request={ + "queryType": "Basic", + "reportId": "ad43a05f-efed-448a-ae53-5e4abd29068f", + "reportType": "AssessmentSummary", + }, + ).result() + for item in response: + print(item) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceBpa.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py new file mode 100644 index 000000000000..6bedd6932fa4 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_sql_server_instance_jobs.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_get_jobs( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceJobs.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py new file mode 100644 index 000000000000..ce21568a0058 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_sql_server_instance_jobs_status.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.get_jobs_status( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceJobsStatus.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py new file mode 100644 index 000000000000..4561b23418fe --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_sql_server_instance_migration_readiness_report.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_get_migration_readiness_report( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceMigrationReadinessReport.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py new file mode 100644 index 000000000000..eb7ea5c1c39b --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_sql_server_instance_target_recommendation_reports.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_get_target_recommendation_reports( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceTargetRecommendationReports.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py new file mode 100644 index 000000000000..4ebc430254cc --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_sql_server_instance_target_recommendation_reports_last_page.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_get_target_recommendation_reports( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceTargetRecommendationReportsLastPage.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py new file mode 100644 index 000000000000..defb61913530 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_sql_server_instance_target_recommendation_reports_with_filters.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_get_target_recommendation_reports( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceTargetRecommendationReportsWithFilters.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py new file mode 100644 index 000000000000..272a2bdf3323 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py @@ -0,0 +1,48 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_sql_server_instance_telemetry.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_get_telemetry( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + sql_server_instance_telemetry_request={ + "datasetName": "sqlserver_storage_io", + "startTime": "2023-09-30T00:00:00Z", + }, + ).result() + for item in response: + print(item) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceTelemetry.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py new file mode 100644 index 000000000000..d67db6fe43ed --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python get_sql_server_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_licenses.get( + resource_group_name="testrg", + sql_server_license_name="testsqlServerLicense", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py index 29057515c196..b4ba025aa660 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -37,6 +39,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByDataControllerActiveDirectoryConnector.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByDataControllerActiveDirectoryConnector.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py index 07dc6bb3a06a..4b20a082a470 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -36,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupDataController.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py index f6a56e784bf8..e87659f4dcfe 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -36,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupPostgresInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupPostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py index 503d98ee4dc2..6cd68c75036b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -36,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupSqlManagedInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py new file mode 100644 index 000000000000..ac8ffc453b9e --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python list_by_resource_group_sql_server_esu_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_esu_licenses.list_by_resource_group( + resource_group_name="testrg", + ) + for item in response: + print(item) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupSqlServerEsuLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py index b93b9e7e405f..13e50cf0256f 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -36,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupSqlServerInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py new file mode 100644 index 000000000000..933b97aa69aa --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python list_by_resource_group_sql_server_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_licenses.list_by_resource_group( + resource_group_name="testrg", + ) + for item in response: + print(item) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupSqlServerLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py new file mode 100644 index 000000000000..650fa9b212d6 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python list_by_sql_managed_instance_failover_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.failover_groups.list( + resource_group_name="testrg", + sql_managed_instance_name="testSqlManagedInstance", + ) + for item in response: + print(item) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListBySqlManagedInstanceFailoverGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py new file mode 100644 index 000000000000..64fcacf4f89e --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python list_by_sql_server_instance_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.list( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + ) + for item in response: + print(item) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListBySqlServerInstanceAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py new file mode 100644 index 000000000000..4615f0188c81 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python list_by_sql_server_instance_database.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_databases.list( + resource_group_name="testrg", + sql_server_instance_name="testSqlServerInstance", + ) + for item in response: + print(item) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListBySqlServerInstanceDatabase.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py index 267aa2de8d4d..35490a4c75c2 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -34,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListOperation.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListOperation.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py index 3d30832d330b..2f5952b7adbc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -34,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionDataController.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py index b38cb284be5e..8c7be653feba 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -34,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionPostgresInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionPostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py index ce26408e3a9b..b113b2f1005b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -34,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionSqlManagedInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py new file mode 100644 index 000000000000..730b9df1400f --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py @@ -0,0 +1,41 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python list_subscription_sql_server_esu_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_esu_licenses.list() + for item in response: + print(item) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionSqlServerEsuLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py index 7f853dc2e8dd..a3b34fdb8714 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -34,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionSqlServerInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py new file mode 100644 index 000000000000..6874e2266a70 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py @@ -0,0 +1,41 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python list_subscription_sql_server_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_licenses.list() + for item in response: + print(item) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionSqlServerLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py new file mode 100644 index 000000000000..b698ac14b9b8 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python post_upgrade_sql_server_instance.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.post_upgrade( + resource_group_name="testrg", + sql_server_instance_name="testsqlServerInstance", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/PostUpgradeSqlServerInstance.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py new file mode 100644 index 000000000000..b4201a227ab3 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python pre_upgrade_sql_server_instance.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.pre_upgrade( + resource_group_name="testrg", + sql_server_instance_name="testsqlServerInstance", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/PreUpgradeSqlServerInstance.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py new file mode 100644 index 000000000000..76d991bb9a58 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py @@ -0,0 +1,45 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python remove_databases_from_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.remove_databases( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + availability_group_name="testAG", + databases={"values": ["db1"]}, + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RemoveDatabasesFromAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py new file mode 100644 index 000000000000..3af654072924 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python run_best_practice_assessment_sql_server_instance.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_run_best_practice_assessment( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunBestPracticeAssessmentSqlServerInstance.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py new file mode 100644 index 000000000000..754a312b24d7 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python run_best_practices_assessment_sql_server_instance.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.run_best_practices_assessment( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunBestPracticesAssessmentSqlServerInstance.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py new file mode 100644 index 000000000000..63d1fc8bf511 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py @@ -0,0 +1,57 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python run_managed_instance_link_assessment.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_run_managed_instance_link_assessment( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + sql_server_instance_managed_instance_link_assessment_request={ + "assessmentCategories": [ + "SqlInstance", + "ManagedInstance", + "ManagedInstanceCrossValidation", + "DagCrossValidation", + ], + "availabilityGroupName": "AG_testdb", + "azureManagedInstanceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testmi", + "azureManagedInstanceRole": "Secondary", + "databaseNames": ["testdb", "testdb2", "testdb3"], + "distributedAvailabilityGroupName": "MiLinkDag", + "sqlServerIpAddress": "192.168.1.2", + }, + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunManagedInstanceLinkAssessment.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py new file mode 100644 index 000000000000..722f8118a769 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python run_migration_assessment_sql_server_instance.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.run_migration_assessment( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunMigrationAssessmentSqlServerInstance.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py new file mode 100644 index 000000000000..7bd2da8c58ac --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python run_migration_readiness_assessment_sql_server_instance.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_run_migration_readiness_assessment( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunMigrationReadinessAssessmentSqlServerInstance.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py new file mode 100644 index 000000000000..810e63a6ccb4 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py @@ -0,0 +1,43 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python run_target_recommendation_job_sql_server_instance.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_instances.begin_run_target_recommendation_job( + resource_group_name="testrg", + sql_server_instance_name="testsqlserver", + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunTargetRecommendationJobSqlServerInstance.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py new file mode 100644 index 000000000000..00347f94d76b --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py @@ -0,0 +1,45 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python update_arc_sql_server_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.begin_update( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + availability_group_name="testAG", + sql_server_availability_group_update={"tags": {"mytag": "myval1"}}, + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateArcSqlServerAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py index a768debee900..c05da1a70760 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -37,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateDataController.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py index fc9d0a052b94..9fe9574dc230 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -37,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdatePostgresInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdatePostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py index fddb55392d48..ba07c9a074b8 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -37,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateSqlManagedInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py new file mode 100644 index 000000000000..f410d6d5806a --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py @@ -0,0 +1,45 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python update_sql_server_database.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_databases.begin_update( + resource_group_name="testrg", + sql_server_instance_name="testsqlManagedInstance", + database_name="testdb", + sql_server_database_update={"tags": {"mytag": "myval1"}}, + ).result() + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateSqlServerDatabase.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py new file mode 100644 index 000000000000..ccc3d4c5daa2 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py @@ -0,0 +1,47 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python update_sql_server_esu_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_esu_licenses.update( + resource_group_name="testrg", + sql_server_esu_license_name="testsqlServerEsuLicense", + parameters={ + "properties": {"activationState": "Active", "billingPlan": "Paid", "physicalCores": 28}, + "tags": {"mytag": "myval"}, + }, + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateSqlServerEsuLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py index 0a002fe12522..451b5f6cb8c7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -7,6 +8,7 @@ # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential + from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ @@ -29,14 +31,14 @@ def main(): subscription_id="00000000-1111-2222-3333-444444444444", ) - response = client.sql_server_instances.update( + response = client.sql_server_instances.begin_update( resource_group_name="testrg", sql_server_instance_name="testsqlServerInstance", parameters={"tags": {"mytag": "myval"}}, - ) + ).result() print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateSqlServerInstance.json +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py new file mode 100644 index 000000000000..5a68a27be666 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python update_sql_server_license.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_licenses.update( + resource_group_name="testrg", + sql_server_license_name="testsqlServerLicense", + parameters={"tags": {"mytag": "myval"}}, + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateSqlServerLicense.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py new file mode 100644 index 000000000000..abfcad5ccf92 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py @@ -0,0 +1,44 @@ +# pylint: disable=line-too-long,useless-suppression +# 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.azurearcdata import AzureArcDataManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-azurearcdata +# USAGE + python view_arc_sql_server_availability_group.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 = AzureArcDataManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.sql_server_availability_groups.detail_view( + resource_group_name="testrg", + sql_server_instance_name="testSqlServer_INST1", + availability_group_name="testAG", + ) + print(response) + + +# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ViewArcSqlServerAvailabilityGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py new file mode 100644 index 000000000000..870836644fdb --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import os +import pytest +from dotenv import load_dotenv +from devtools_testutils import ( + test_proxy, + add_general_regex_sanitizer, + add_body_key_sanitizer, + add_header_regex_sanitizer, +) + +load_dotenv() + + +# For security, please avoid record sensitive identity information in recordings +@pytest.fixture(scope="session", autouse=True) +def add_sanitizers(test_proxy): + azurearcdatamanagement_subscription_id = os.environ.get( + "AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000" + ) + azurearcdatamanagement_tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000") + azurearcdatamanagement_client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000") + azurearcdatamanagement_client_secret = os.environ.get("AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000") + add_general_regex_sanitizer( + regex=azurearcdatamanagement_subscription_id, value="00000000-0000-0000-0000-000000000000" + ) + add_general_regex_sanitizer(regex=azurearcdatamanagement_tenant_id, value="00000000-0000-0000-0000-000000000000") + add_general_regex_sanitizer(regex=azurearcdatamanagement_client_id, value="00000000-0000-0000-0000-000000000000") + add_general_regex_sanitizer( + regex=azurearcdatamanagement_client_secret, value="00000000-0000-0000-0000-000000000000" + ) + + add_header_regex_sanitizer(key="Set-Cookie", value="[set-cookie;]") + add_header_regex_sanitizer(key="Cookie", value="cookie;") + add_body_key_sanitizer(json_path="$..access_token", value="access_token") diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations.py new file mode 100644 index 000000000000..9b81fd488f90 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementActiveDirectoryConnectorsOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_active_directory_connectors_list(self, resource_group): + response = self.client.active_directory_connectors.list( + resource_group_name=resource_group.name, + data_controller_name="str", + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_active_directory_connectors_begin_create(self, resource_group): + response = self.client.active_directory_connectors.begin_create( + resource_group_name=resource_group.name, + data_controller_name="str", + active_directory_connector_name="str", + active_directory_connector_resource={ + "properties": { + "spec": { + "activeDirectory": { + "realm": "str", + "domainControllers": { + "primaryDomainController": {"hostname": "str"}, + "secondaryDomainControllers": [{"hostname": "str"}], + }, + "netbiosDomainName": "str", + "ouDistinguishedName": "str", + "serviceAccountProvisioning": "manual", + }, + "dns": { + "nameserverIPAddresses": ["str"], + "domainName": "str", + "preferK8sDnsForPtrLookups": True, + "replicas": 1, + }, + }, + "domainServiceAccountLoginInformation": {"password": "str", "username": "str"}, + "provisioningState": "str", + "status": {"lastUpdateTime": "str", "observedGeneration": 0, "state": "str"}, + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "type": "str", + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_active_directory_connectors_begin_delete(self, resource_group): + response = self.client.active_directory_connectors.begin_delete( + resource_group_name=resource_group.name, + data_controller_name="str", + active_directory_connector_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_active_directory_connectors_get(self, resource_group): + response = self.client.active_directory_connectors.get( + resource_group_name=resource_group.name, + data_controller_name="str", + active_directory_connector_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations_async.py new file mode 100644 index 000000000000..b91503301a5f --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations_async.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementActiveDirectoryConnectorsOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_active_directory_connectors_list(self, resource_group): + response = self.client.active_directory_connectors.list( + resource_group_name=resource_group.name, + data_controller_name="str", + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_active_directory_connectors_begin_create(self, resource_group): + response = await ( + await self.client.active_directory_connectors.begin_create( + resource_group_name=resource_group.name, + data_controller_name="str", + active_directory_connector_name="str", + active_directory_connector_resource={ + "properties": { + "spec": { + "activeDirectory": { + "realm": "str", + "domainControllers": { + "primaryDomainController": {"hostname": "str"}, + "secondaryDomainControllers": [{"hostname": "str"}], + }, + "netbiosDomainName": "str", + "ouDistinguishedName": "str", + "serviceAccountProvisioning": "manual", + }, + "dns": { + "nameserverIPAddresses": ["str"], + "domainName": "str", + "preferK8sDnsForPtrLookups": True, + "replicas": 1, + }, + }, + "domainServiceAccountLoginInformation": {"password": "str", "username": "str"}, + "provisioningState": "str", + "status": {"lastUpdateTime": "str", "observedGeneration": 0, "state": "str"}, + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_active_directory_connectors_begin_delete(self, resource_group): + response = await ( + await self.client.active_directory_connectors.begin_delete( + resource_group_name=resource_group.name, + data_controller_name="str", + active_directory_connector_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_active_directory_connectors_get(self, resource_group): + response = await self.client.active_directory_connectors.get( + resource_group_name=resource_group.name, + data_controller_name="str", + active_directory_connector_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations.py new file mode 100644 index 000000000000..786f60d31909 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations.py @@ -0,0 +1,163 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementDataControllersOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_data_controllers_list_in_subscription(self, resource_group): + response = self.client.data_controllers.list_in_subscription( + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_data_controllers_list_in_group(self, resource_group): + response = self.client.data_controllers.list_in_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_data_controllers_begin_put_data_controller(self, resource_group): + response = self.client.data_controllers.begin_put_data_controller( + resource_group_name=resource_group.name, + data_controller_name="str", + data_controller_resource={ + "location": "str", + "properties": { + "basicLoginInformation": {"password": "str", "username": "str"}, + "clusterId": "str", + "extensionId": "str", + "infrastructure": "other", + "k8sRaw": {}, + "lastUploadedDate": "2020-02-20 00:00:00", + "logAnalyticsWorkspaceConfig": {"primaryKey": "str", "workspaceId": "str"}, + "logsDashboardCredential": {"password": "str", "username": "str"}, + "metricsDashboardCredential": {"password": "str", "username": "str"}, + "onPremiseProperty": { + "id": "str", + "publicSigningKey": "str", + "signingCertificateThumbprint": "str", + }, + "provisioningState": "str", + "uploadServicePrincipal": { + "authority": "str", + "clientId": "str", + "clientSecret": "str", + "tenantId": "str", + }, + "uploadWatermark": { + "logs": "2020-02-20 00:00:00", + "metrics": "2020-02-20 00:00:00", + "usages": "2020-02-20 00:00:00", + }, + }, + "extendedLocation": {"name": "str", "type": "str"}, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_data_controllers_begin_delete_data_controller(self, resource_group): + response = self.client.data_controllers.begin_delete_data_controller( + resource_group_name=resource_group.name, + data_controller_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_data_controllers_get_data_controller(self, resource_group): + response = self.client.data_controllers.get_data_controller( + resource_group_name=resource_group.name, + data_controller_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_data_controllers_begin_patch_data_controller(self, resource_group): + response = self.client.data_controllers.begin_patch_data_controller( + resource_group_name=resource_group.name, + data_controller_name="str", + data_controller_resource={ + "properties": { + "basicLoginInformation": {"password": "str", "username": "str"}, + "clusterId": "str", + "extensionId": "str", + "infrastructure": "other", + "k8sRaw": {}, + "lastUploadedDate": "2020-02-20 00:00:00", + "logAnalyticsWorkspaceConfig": {"primaryKey": "str", "workspaceId": "str"}, + "logsDashboardCredential": {"password": "str", "username": "str"}, + "metricsDashboardCredential": {"password": "str", "username": "str"}, + "onPremiseProperty": { + "id": "str", + "publicSigningKey": "str", + "signingCertificateThumbprint": "str", + }, + "provisioningState": "str", + "uploadServicePrincipal": { + "authority": "str", + "clientId": "str", + "clientSecret": "str", + "tenantId": "str", + }, + "uploadWatermark": { + "logs": "2020-02-20 00:00:00", + "metrics": "2020-02-20 00:00:00", + "usages": "2020-02-20 00:00:00", + }, + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations_async.py new file mode 100644 index 000000000000..5481490e22b5 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations_async.py @@ -0,0 +1,170 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementDataControllersOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_data_controllers_list_in_subscription(self, resource_group): + response = self.client.data_controllers.list_in_subscription( + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_data_controllers_list_in_group(self, resource_group): + response = self.client.data_controllers.list_in_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_data_controllers_begin_put_data_controller(self, resource_group): + response = await ( + await self.client.data_controllers.begin_put_data_controller( + resource_group_name=resource_group.name, + data_controller_name="str", + data_controller_resource={ + "location": "str", + "properties": { + "basicLoginInformation": {"password": "str", "username": "str"}, + "clusterId": "str", + "extensionId": "str", + "infrastructure": "other", + "k8sRaw": {}, + "lastUploadedDate": "2020-02-20 00:00:00", + "logAnalyticsWorkspaceConfig": {"primaryKey": "str", "workspaceId": "str"}, + "logsDashboardCredential": {"password": "str", "username": "str"}, + "metricsDashboardCredential": {"password": "str", "username": "str"}, + "onPremiseProperty": { + "id": "str", + "publicSigningKey": "str", + "signingCertificateThumbprint": "str", + }, + "provisioningState": "str", + "uploadServicePrincipal": { + "authority": "str", + "clientId": "str", + "clientSecret": "str", + "tenantId": "str", + }, + "uploadWatermark": { + "logs": "2020-02-20 00:00:00", + "metrics": "2020-02-20 00:00:00", + "usages": "2020-02-20 00:00:00", + }, + }, + "extendedLocation": {"name": "str", "type": "str"}, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_data_controllers_begin_delete_data_controller(self, resource_group): + response = await ( + await self.client.data_controllers.begin_delete_data_controller( + resource_group_name=resource_group.name, + data_controller_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_data_controllers_get_data_controller(self, resource_group): + response = await self.client.data_controllers.get_data_controller( + resource_group_name=resource_group.name, + data_controller_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_data_controllers_begin_patch_data_controller(self, resource_group): + response = await ( + await self.client.data_controllers.begin_patch_data_controller( + resource_group_name=resource_group.name, + data_controller_name="str", + data_controller_resource={ + "properties": { + "basicLoginInformation": {"password": "str", "username": "str"}, + "clusterId": "str", + "extensionId": "str", + "infrastructure": "other", + "k8sRaw": {}, + "lastUploadedDate": "2020-02-20 00:00:00", + "logAnalyticsWorkspaceConfig": {"primaryKey": "str", "workspaceId": "str"}, + "logsDashboardCredential": {"password": "str", "username": "str"}, + "metricsDashboardCredential": {"password": "str", "username": "str"}, + "onPremiseProperty": { + "id": "str", + "publicSigningKey": "str", + "signingCertificateThumbprint": "str", + }, + "provisioningState": "str", + "uploadServicePrincipal": { + "authority": "str", + "clientId": "str", + "clientSecret": "str", + "tenantId": "str", + }, + "uploadWatermark": { + "logs": "2020-02-20 00:00:00", + "metrics": "2020-02-20 00:00:00", + "usages": "2020-02-20 00:00:00", + }, + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations.py new file mode 100644 index 000000000000..70f3c9811842 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations.py @@ -0,0 +1,97 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementFailoverGroupsOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_failover_groups_list(self, resource_group): + response = self.client.failover_groups.list( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_failover_groups_begin_create(self, resource_group): + response = self.client.failover_groups.begin_create( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + failover_group_name="str", + failover_group_resource={ + "properties": { + "partnerManagedInstanceId": "str", + "spec": { + "role": "primary", + "partnerMI": "str", + "partnerMirroringCert": "str", + "partnerMirroringURL": "str", + "partnerSyncMode": "async", + "sharedName": "str", + "sourceMI": "str", + }, + "provisioningState": "str", + "status": {}, + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "type": "str", + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_failover_groups_begin_delete(self, resource_group): + response = self.client.failover_groups.begin_delete( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + failover_group_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_failover_groups_get(self, resource_group): + response = self.client.failover_groups.get( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + failover_group_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations_async.py new file mode 100644 index 000000000000..8676684da18c --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations_async.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementFailoverGroupsOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_failover_groups_list(self, resource_group): + response = self.client.failover_groups.list( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_failover_groups_begin_create(self, resource_group): + response = await ( + await self.client.failover_groups.begin_create( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + failover_group_name="str", + failover_group_resource={ + "properties": { + "partnerManagedInstanceId": "str", + "spec": { + "role": "primary", + "partnerMI": "str", + "partnerMirroringCert": "str", + "partnerMirroringURL": "str", + "partnerSyncMode": "async", + "sharedName": "str", + "sourceMI": "str", + }, + "provisioningState": "str", + "status": {}, + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_failover_groups_begin_delete(self, resource_group): + response = await ( + await self.client.failover_groups.begin_delete( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + failover_group_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_failover_groups_get(self, resource_group): + response = await self.client.failover_groups.get( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + failover_group_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations.py new file mode 100644 index 000000000000..9e3e47346ceb --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations.py @@ -0,0 +1,29 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_operations_list(self, resource_group): + response = self.client.operations.list( + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations_async.py new file mode 100644 index 000000000000..db87ac97f58e --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations_async.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_operations_list(self, resource_group): + response = self.client.operations.list( + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations.py new file mode 100644 index 000000000000..69b0cd07c274 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations.py @@ -0,0 +1,131 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementPostgresInstancesOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_postgres_instances_list(self, resource_group): + response = self.client.postgres_instances.list( + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_postgres_instances_list_by_resource_group(self, resource_group): + response = self.client.postgres_instances.list_by_resource_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_postgres_instances_get(self, resource_group): + response = self.client.postgres_instances.get( + resource_group_name=resource_group.name, + postgres_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_postgres_instances_begin_create(self, resource_group): + response = self.client.postgres_instances.begin_create( + resource_group_name=resource_group.name, + postgres_instance_name="str", + resource={ + "location": "str", + "properties": { + "admin": "str", + "basicLoginInformation": {"password": "str", "username": "str"}, + "dataControllerId": "str", + "k8sRaw": {}, + "lastUploadedDate": "2020-02-20 00:00:00", + "provisioningState": "str", + }, + "extendedLocation": {"name": "str", "type": "str"}, + "id": "str", + "name": "str", + "sku": { + "name": "str", + "capacity": 0, + "dev": True, + "family": "str", + "size": "str", + "tier": "Hyperscale", + }, + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_postgres_instances_begin_delete(self, resource_group): + response = self.client.postgres_instances.begin_delete( + resource_group_name=resource_group.name, + postgres_instance_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_postgres_instances_update(self, resource_group): + response = self.client.postgres_instances.update( + resource_group_name=resource_group.name, + postgres_instance_name="str", + parameters={ + "properties": { + "admin": "str", + "basicLoginInformation": {"password": "str", "username": "str"}, + "dataControllerId": "str", + "k8sRaw": {}, + "lastUploadedDate": "2020-02-20 00:00:00", + "provisioningState": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations_async.py new file mode 100644 index 000000000000..020739634b4d --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations_async.py @@ -0,0 +1,136 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementPostgresInstancesOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_postgres_instances_list(self, resource_group): + response = self.client.postgres_instances.list( + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_postgres_instances_list_by_resource_group(self, resource_group): + response = self.client.postgres_instances.list_by_resource_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_postgres_instances_get(self, resource_group): + response = await self.client.postgres_instances.get( + resource_group_name=resource_group.name, + postgres_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_postgres_instances_begin_create(self, resource_group): + response = await ( + await self.client.postgres_instances.begin_create( + resource_group_name=resource_group.name, + postgres_instance_name="str", + resource={ + "location": "str", + "properties": { + "admin": "str", + "basicLoginInformation": {"password": "str", "username": "str"}, + "dataControllerId": "str", + "k8sRaw": {}, + "lastUploadedDate": "2020-02-20 00:00:00", + "provisioningState": "str", + }, + "extendedLocation": {"name": "str", "type": "str"}, + "id": "str", + "name": "str", + "sku": { + "name": "str", + "capacity": 0, + "dev": True, + "family": "str", + "size": "str", + "tier": "Hyperscale", + }, + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_postgres_instances_begin_delete(self, resource_group): + response = await ( + await self.client.postgres_instances.begin_delete( + resource_group_name=resource_group.name, + postgres_instance_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_postgres_instances_update(self, resource_group): + response = await self.client.postgres_instances.update( + resource_group_name=resource_group.name, + postgres_instance_name="str", + parameters={ + "properties": { + "admin": "str", + "basicLoginInformation": {"password": "str", "username": "str"}, + "dataControllerId": "str", + "k8sRaw": {}, + "lastUploadedDate": "2020-02-20 00:00:00", + "provisioningState": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations.py new file mode 100644 index 000000000000..e8797f8e53fa --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations.py @@ -0,0 +1,146 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlManagedInstancesOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_managed_instances_list(self, resource_group): + response = self.client.sql_managed_instances.list( + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_managed_instances_list_by_resource_group(self, resource_group): + response = self.client.sql_managed_instances.list_by_resource_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_managed_instances_get(self, resource_group): + response = self.client.sql_managed_instances.get( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_managed_instances_begin_create(self, resource_group): + response = self.client.sql_managed_instances.begin_create( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + sql_managed_instance={ + "location": "str", + "properties": { + "activeDirectoryInformation": {"keytabInformation": {"keytab": "str"}}, + "admin": "str", + "basicLoginInformation": {"password": "str", "username": "str"}, + "clusterId": "str", + "dataControllerId": "str", + "endTime": "str", + "extensionId": "str", + "k8sRaw": { + "spec": { + "replicas": 0, + "scheduling": { + "default": {"resources": {"limits": {"str": "str"}, "requests": {"str": "str"}}} + }, + "security": { + "activeDirectory": { + "accountName": "str", + "connector": {"name": "str", "namespace": "str"}, + "encryptionTypes": ["str"], + "keytabSecret": "str", + }, + "adminLoginSecret": "str", + "serviceCertificateSecret": "str", + "transparentDataEncryption": {"mode": "str", "protectorSecret": "str"}, + }, + "settings": {"network": {"forceencryption": 0, "tlsciphers": "str", "tlsprotocols": "str"}}, + } + }, + "lastUploadedDate": "2020-02-20 00:00:00", + "licenseType": "BasePrice", + "provisioningState": "str", + "startTime": "str", + }, + "extendedLocation": {"name": "str", "type": "str"}, + "id": "str", + "name": "str", + "sku": { + "name": "vCore", + "capacity": 0, + "dev": True, + "family": "str", + "size": "str", + "tier": "GeneralPurpose", + }, + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_managed_instances_begin_delete(self, resource_group): + response = self.client.sql_managed_instances.begin_delete( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_managed_instances_update(self, resource_group): + response = self.client.sql_managed_instances.update( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + parameters={"tags": {"str": "str"}}, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations_async.py new file mode 100644 index 000000000000..e79626e72866 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations_async.py @@ -0,0 +1,153 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlManagedInstancesOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_managed_instances_list(self, resource_group): + response = self.client.sql_managed_instances.list( + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_managed_instances_list_by_resource_group(self, resource_group): + response = self.client.sql_managed_instances.list_by_resource_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_managed_instances_get(self, resource_group): + response = await self.client.sql_managed_instances.get( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_managed_instances_begin_create(self, resource_group): + response = await ( + await self.client.sql_managed_instances.begin_create( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + sql_managed_instance={ + "location": "str", + "properties": { + "activeDirectoryInformation": {"keytabInformation": {"keytab": "str"}}, + "admin": "str", + "basicLoginInformation": {"password": "str", "username": "str"}, + "clusterId": "str", + "dataControllerId": "str", + "endTime": "str", + "extensionId": "str", + "k8sRaw": { + "spec": { + "replicas": 0, + "scheduling": { + "default": {"resources": {"limits": {"str": "str"}, "requests": {"str": "str"}}} + }, + "security": { + "activeDirectory": { + "accountName": "str", + "connector": {"name": "str", "namespace": "str"}, + "encryptionTypes": ["str"], + "keytabSecret": "str", + }, + "adminLoginSecret": "str", + "serviceCertificateSecret": "str", + "transparentDataEncryption": {"mode": "str", "protectorSecret": "str"}, + }, + "settings": { + "network": {"forceencryption": 0, "tlsciphers": "str", "tlsprotocols": "str"} + }, + } + }, + "lastUploadedDate": "2020-02-20 00:00:00", + "licenseType": "BasePrice", + "provisioningState": "str", + "startTime": "str", + }, + "extendedLocation": {"name": "str", "type": "str"}, + "id": "str", + "name": "str", + "sku": { + "name": "vCore", + "capacity": 0, + "dev": True, + "family": "str", + "size": "str", + "tier": "GeneralPurpose", + }, + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_managed_instances_begin_delete(self, resource_group): + response = await ( + await self.client.sql_managed_instances.begin_delete( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_managed_instances_update(self, resource_group): + response = await self.client.sql_managed_instances.update( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + parameters={"tags": {"str": "str"}}, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations.py new file mode 100644 index 000000000000..c21d475e52cc --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations.py @@ -0,0 +1,526 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlServerAvailabilityGroupsOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_create(self, resource_group): + response = self.client.sql_server_availability_groups.create( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + sql_server_availability_group_resource={ + "location": "str", + "properties": { + "availabilityGroupId": "str", + "collectionTimestamp": "2020-02-20 00:00:00", + "databases": { + "nextLink": "str", + "value": [ + { + "databaseName": "str", + "databaseStateDescription": "str", + "isCommitParticipant": bool, + "isLocal": bool, + "isPrimaryReplica": bool, + "isSuspended": bool, + "replicaName": "str", + "suspendReasonDescription": "str", + "synchronizationHealthDescription": "str", + "synchronizationStateDescription": "str", + } + ], + }, + "info": { + "automatedBackupPreferenceDescription": "str", + "basicFeatures": bool, + "clusterTypeDescription": "str", + "dbFailover": bool, + "dtcSupport": bool, + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "isContained": bool, + "isDistributed": bool, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "primaryRecoveryHealthDescription": "str", + "primaryReplica": "str", + "replicationPartnerType": "str", + "requiredSynchronizedSecondariesToCommit": 0, + "secondaryRecoveryHealthDescription": "str", + "synchronizationHealthDescription": "str", + "version": 0, + }, + "instanceName": "str", + "provisioningState": "str", + "replicas": { + "nextLink": "str", + "value": [ + { + "configure": { + "availabilityMode": "str", + "availabilityModeDescription": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "failoverModeDescription": "str", + "primaryAllowConnections": "str", + "primaryRoleAllowConnectionsDescription": "str", + "readOnlyRoutingUrl": "str", + "readWriteRoutingUrl": "str", + "replicaCreateDate": "2020-02-20 00:00:00", + "replicaModifyDate": "2020-02-20 00:00:00", + "secondaryAllowConnections": "str", + "secondaryRoleAllowConnectionsDescription": "str", + "seedingMode": "str", + "seedingModeDescription": "str", + "sessionTimeout": 0, + }, + "replicaId": "str", + "replicaName": "str", + "replicaResourceId": "str", + "state": { + "availabilityGroupReplicaRole": "str", + "connectedStateDescription": "str", + "lastConnectErrorDescription": "str", + "lastConnectErrorTimestamp": "2020-02-20 00:00:00", + "operationalStateDescription": "str", + "recoveryHealthDescription": "str", + "synchronizationHealthDescription": "str", + }, + } + ], + }, + "serverName": "str", + "vmId": "str", + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_begin_delete(self, resource_group): + response = self.client.sql_server_availability_groups.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_get(self, resource_group): + response = self.client.sql_server_availability_groups.get( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_begin_update(self, resource_group): + response = self.client.sql_server_availability_groups.begin_update( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + sql_server_availability_group_update={ + "properties": { + "availabilityGroupId": "str", + "collectionTimestamp": "2020-02-20 00:00:00", + "databases": { + "nextLink": "str", + "value": [ + { + "databaseName": "str", + "databaseStateDescription": "str", + "isCommitParticipant": bool, + "isLocal": bool, + "isPrimaryReplica": bool, + "isSuspended": bool, + "replicaName": "str", + "suspendReasonDescription": "str", + "synchronizationHealthDescription": "str", + "synchronizationStateDescription": "str", + } + ], + }, + "info": { + "automatedBackupPreferenceDescription": "str", + "basicFeatures": bool, + "clusterTypeDescription": "str", + "dbFailover": bool, + "dtcSupport": bool, + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "isContained": bool, + "isDistributed": bool, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "primaryRecoveryHealthDescription": "str", + "primaryReplica": "str", + "replicationPartnerType": "str", + "requiredSynchronizedSecondariesToCommit": 0, + "secondaryRecoveryHealthDescription": "str", + "synchronizationHealthDescription": "str", + "version": 0, + }, + "instanceName": "str", + "provisioningState": "str", + "replicas": { + "nextLink": "str", + "value": [ + { + "configure": { + "availabilityMode": "str", + "availabilityModeDescription": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "failoverModeDescription": "str", + "primaryAllowConnections": "str", + "primaryRoleAllowConnectionsDescription": "str", + "readOnlyRoutingUrl": "str", + "readWriteRoutingUrl": "str", + "replicaCreateDate": "2020-02-20 00:00:00", + "replicaModifyDate": "2020-02-20 00:00:00", + "secondaryAllowConnections": "str", + "secondaryRoleAllowConnectionsDescription": "str", + "seedingMode": "str", + "seedingModeDescription": "str", + "sessionTimeout": 0, + }, + "replicaId": "str", + "replicaName": "str", + "replicaResourceId": "str", + "state": { + "availabilityGroupReplicaRole": "str", + "connectedStateDescription": "str", + "lastConnectErrorDescription": "str", + "lastConnectErrorTimestamp": "2020-02-20 00:00:00", + "operationalStateDescription": "str", + "recoveryHealthDescription": "str", + "synchronizationHealthDescription": "str", + }, + } + ], + }, + "serverName": "str", + "vmId": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_detail_view(self, resource_group): + response = self.client.sql_server_availability_groups.detail_view( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_failover(self, resource_group): + response = self.client.sql_server_availability_groups.failover( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_force_failover_allow_data_loss(self, resource_group): + response = self.client.sql_server_availability_groups.force_failover_allow_data_loss( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_begin_create_availability_group(self, resource_group): + response = self.client.sql_server_availability_groups.begin_create_availability_group( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_ag_configuration={ + "automatedBackupPreference": "str", + "availabilityGroupName": "str", + "clusterType": "str", + "databases": ["str"], + "dbFailover": "str", + "dtcSupport": "str", + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "replicas": [ + { + "availabilityMode": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "primaryRoleAllowConnections": "str", + "primaryRoleReadOnlyRoutingList": ["str"], + "secondaryRoleAllowConnections": "str", + "secondaryRoleReadOnlyRoutingUrl": "str", + "seedingMode": "str", + "serverInstance": "str", + "sessionTimeout": 0, + } + ], + "requiredSynchronizedSecondariesToCommit": 0, + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_begin_create_distributed_availability_group(self, resource_group): + response = self.client.sql_server_availability_groups.begin_create_distributed_availability_group( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_dag_configuration={ + "availabilityGroupName": "str", + "primaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_begin_create_managed_instance_link(self, resource_group): + response = self.client.sql_server_availability_groups.begin_create_managed_instance_link( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_managed_instance_link_configuration={ + "availabilityGroup": { + "automatedBackupPreference": "str", + "availabilityGroupName": "str", + "clusterType": "str", + "databases": ["str"], + "dbFailover": "str", + "dtcSupport": "str", + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "replicas": [ + { + "availabilityMode": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "primaryRoleAllowConnections": "str", + "primaryRoleReadOnlyRoutingList": ["str"], + "secondaryRoleAllowConnections": "str", + "secondaryRoleReadOnlyRoutingUrl": "str", + "seedingMode": "str", + "serverInstance": "str", + "sessionTimeout": 0, + } + ], + "requiredSynchronizedSecondariesToCommit": 0, + }, + "distributedAvailabilityGroup": { + "availabilityGroupName": "str", + "primaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + }, + "miLinkConfiguration": {"instanceAvailabilityGroupName": "str"}, + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_add_databases(self, resource_group): + response = self.client.sql_server_availability_groups.add_databases( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + databases={"values": ["str"]}, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_begin_failover_mi_link(self, resource_group): + response = self.client.sql_server_availability_groups.begin_failover_mi_link( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + managed_instance_resource_id={"force": bool, "managedInstanceId": "str"}, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_begin_delete_mi_link(self, resource_group): + response = self.client.sql_server_availability_groups.begin_delete_mi_link( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_remove_databases(self, resource_group): + response = self.client.sql_server_availability_groups.remove_databases( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + databases={"values": ["str"]}, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_list(self, resource_group): + response = self.client.sql_server_availability_groups.list( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations_async.py new file mode 100644 index 000000000000..9bcbb780b6a2 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations_async.py @@ -0,0 +1,541 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlServerAvailabilityGroupsOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_create(self, resource_group): + response = await self.client.sql_server_availability_groups.create( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + sql_server_availability_group_resource={ + "location": "str", + "properties": { + "availabilityGroupId": "str", + "collectionTimestamp": "2020-02-20 00:00:00", + "databases": { + "nextLink": "str", + "value": [ + { + "databaseName": "str", + "databaseStateDescription": "str", + "isCommitParticipant": bool, + "isLocal": bool, + "isPrimaryReplica": bool, + "isSuspended": bool, + "replicaName": "str", + "suspendReasonDescription": "str", + "synchronizationHealthDescription": "str", + "synchronizationStateDescription": "str", + } + ], + }, + "info": { + "automatedBackupPreferenceDescription": "str", + "basicFeatures": bool, + "clusterTypeDescription": "str", + "dbFailover": bool, + "dtcSupport": bool, + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "isContained": bool, + "isDistributed": bool, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "primaryRecoveryHealthDescription": "str", + "primaryReplica": "str", + "replicationPartnerType": "str", + "requiredSynchronizedSecondariesToCommit": 0, + "secondaryRecoveryHealthDescription": "str", + "synchronizationHealthDescription": "str", + "version": 0, + }, + "instanceName": "str", + "provisioningState": "str", + "replicas": { + "nextLink": "str", + "value": [ + { + "configure": { + "availabilityMode": "str", + "availabilityModeDescription": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "failoverModeDescription": "str", + "primaryAllowConnections": "str", + "primaryRoleAllowConnectionsDescription": "str", + "readOnlyRoutingUrl": "str", + "readWriteRoutingUrl": "str", + "replicaCreateDate": "2020-02-20 00:00:00", + "replicaModifyDate": "2020-02-20 00:00:00", + "secondaryAllowConnections": "str", + "secondaryRoleAllowConnectionsDescription": "str", + "seedingMode": "str", + "seedingModeDescription": "str", + "sessionTimeout": 0, + }, + "replicaId": "str", + "replicaName": "str", + "replicaResourceId": "str", + "state": { + "availabilityGroupReplicaRole": "str", + "connectedStateDescription": "str", + "lastConnectErrorDescription": "str", + "lastConnectErrorTimestamp": "2020-02-20 00:00:00", + "operationalStateDescription": "str", + "recoveryHealthDescription": "str", + "synchronizationHealthDescription": "str", + }, + } + ], + }, + "serverName": "str", + "vmId": "str", + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_begin_delete(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_get(self, resource_group): + response = await self.client.sql_server_availability_groups.get( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_begin_update(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_update( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + sql_server_availability_group_update={ + "properties": { + "availabilityGroupId": "str", + "collectionTimestamp": "2020-02-20 00:00:00", + "databases": { + "nextLink": "str", + "value": [ + { + "databaseName": "str", + "databaseStateDescription": "str", + "isCommitParticipant": bool, + "isLocal": bool, + "isPrimaryReplica": bool, + "isSuspended": bool, + "replicaName": "str", + "suspendReasonDescription": "str", + "synchronizationHealthDescription": "str", + "synchronizationStateDescription": "str", + } + ], + }, + "info": { + "automatedBackupPreferenceDescription": "str", + "basicFeatures": bool, + "clusterTypeDescription": "str", + "dbFailover": bool, + "dtcSupport": bool, + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "isContained": bool, + "isDistributed": bool, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "primaryRecoveryHealthDescription": "str", + "primaryReplica": "str", + "replicationPartnerType": "str", + "requiredSynchronizedSecondariesToCommit": 0, + "secondaryRecoveryHealthDescription": "str", + "synchronizationHealthDescription": "str", + "version": 0, + }, + "instanceName": "str", + "provisioningState": "str", + "replicas": { + "nextLink": "str", + "value": [ + { + "configure": { + "availabilityMode": "str", + "availabilityModeDescription": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "failoverModeDescription": "str", + "primaryAllowConnections": "str", + "primaryRoleAllowConnectionsDescription": "str", + "readOnlyRoutingUrl": "str", + "readWriteRoutingUrl": "str", + "replicaCreateDate": "2020-02-20 00:00:00", + "replicaModifyDate": "2020-02-20 00:00:00", + "secondaryAllowConnections": "str", + "secondaryRoleAllowConnectionsDescription": "str", + "seedingMode": "str", + "seedingModeDescription": "str", + "sessionTimeout": 0, + }, + "replicaId": "str", + "replicaName": "str", + "replicaResourceId": "str", + "state": { + "availabilityGroupReplicaRole": "str", + "connectedStateDescription": "str", + "lastConnectErrorDescription": "str", + "lastConnectErrorTimestamp": "2020-02-20 00:00:00", + "operationalStateDescription": "str", + "recoveryHealthDescription": "str", + "synchronizationHealthDescription": "str", + }, + } + ], + }, + "serverName": "str", + "vmId": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_detail_view(self, resource_group): + response = await self.client.sql_server_availability_groups.detail_view( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_failover(self, resource_group): + response = await self.client.sql_server_availability_groups.failover( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_force_failover_allow_data_loss(self, resource_group): + response = await self.client.sql_server_availability_groups.force_failover_allow_data_loss( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_begin_create_availability_group(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_create_availability_group( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_ag_configuration={ + "automatedBackupPreference": "str", + "availabilityGroupName": "str", + "clusterType": "str", + "databases": ["str"], + "dbFailover": "str", + "dtcSupport": "str", + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "replicas": [ + { + "availabilityMode": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "primaryRoleAllowConnections": "str", + "primaryRoleReadOnlyRoutingList": ["str"], + "secondaryRoleAllowConnections": "str", + "secondaryRoleReadOnlyRoutingUrl": "str", + "seedingMode": "str", + "serverInstance": "str", + "sessionTimeout": 0, + } + ], + "requiredSynchronizedSecondariesToCommit": 0, + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_begin_create_distributed_availability_group(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_create_distributed_availability_group( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_dag_configuration={ + "availabilityGroupName": "str", + "primaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_begin_create_managed_instance_link(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_create_managed_instance_link( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_managed_instance_link_configuration={ + "availabilityGroup": { + "automatedBackupPreference": "str", + "availabilityGroupName": "str", + "clusterType": "str", + "databases": ["str"], + "dbFailover": "str", + "dtcSupport": "str", + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "replicas": [ + { + "availabilityMode": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "primaryRoleAllowConnections": "str", + "primaryRoleReadOnlyRoutingList": ["str"], + "secondaryRoleAllowConnections": "str", + "secondaryRoleReadOnlyRoutingUrl": "str", + "seedingMode": "str", + "serverInstance": "str", + "sessionTimeout": 0, + } + ], + "requiredSynchronizedSecondariesToCommit": 0, + }, + "distributedAvailabilityGroup": { + "availabilityGroupName": "str", + "primaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + }, + "miLinkConfiguration": {"instanceAvailabilityGroupName": "str"}, + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_add_databases(self, resource_group): + response = await self.client.sql_server_availability_groups.add_databases( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + databases={"values": ["str"]}, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_begin_failover_mi_link(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_failover_mi_link( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + managed_instance_resource_id={"force": bool, "managedInstanceId": "str"}, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_begin_delete_mi_link(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_delete_mi_link( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_remove_databases(self, resource_group): + response = await self.client.sql_server_availability_groups.remove_databases( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + databases={"values": ["str"]}, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_list(self, resource_group): + response = self.client.sql_server_availability_groups.list( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations.py new file mode 100644 index 000000000000..7d7c09ea591c --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations.py @@ -0,0 +1,459 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlServerDatabasesOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_databases_create(self, resource_group): + response = self.client.sql_server_databases.create( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", + sql_server_database_resource={ + "location": "str", + "properties": { + "backupInformation": { + "lastFullBackup": "2020-02-20 00:00:00", + "lastLogBackup": "2020-02-20 00:00:00", + }, + "backupPolicy": { + "differentialBackupHours": 0, + "fullBackupDays": 0, + "retentionPeriodDays": 0, + "transactionLogBackupMinutes": 0, + }, + "collationName": "str", + "compatibilityLevel": 0, + "createMode": "str", + "dataFileSizeMB": 0.0, + "databaseCreationDate": "2020-02-20 00:00:00", + "databaseOptions": { + "isAutoCloseOn": bool, + "isAutoCreateStatsOn": bool, + "isAutoShrinkOn": bool, + "isAutoUpdateStatsOn": bool, + "isEncrypted": bool, + "isHekatonFilesOn": bool, + "isMemoryOptimizationEnabled": bool, + "isRemoteDataArchiveEnabled": bool, + "isTrustworthyOn": bool, + "numberOfHekatonFiles": 0, + }, + "earliestRestoreDate": "2020-02-20 00:00:00", + "isReadOnly": bool, + "lastDatabaseUploadTime": "2020-02-20 00:00:00", + "logFileSizeMB": 0.0, + "migration": { + "assessment": { + "assessmentUploadTime": "2020-02-20 00:00:00", + "databaseAssessments": [ + { + "appliesToMigrationTargetPlatform": "str", + "featureId": "str", + "issueCategory": "str", + "moreInformation": "str", + } + ], + "targetReadiness": { + "azureSqlDatabase": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlManagedInstance": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlVirtualMachine": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + }, + "targetRecommendationGenerationTime": "2020-02-20 00:00:00", + }, + "jobs": [ + { + "additionalAttributes": [{"keyName": "str", "keyValue": "str"}], + "endTime": "2020-02-20 00:00:00", + "initiatedFrom": "str", + "lastError": "str", + "migrationMode": "str", + "migrationTrackingId": "str", + "startTime": "2020-02-20 00:00:00", + "status": "str", + "targetResourceId": "str", + "targetType": "str", + } + ], + }, + "provisioningState": "str", + "recoveryMode": "str", + "restorePointInTime": "2020-02-20 00:00:00", + "sizeMB": 0.0, + "sourceDatabaseId": "str", + "spaceAvailableMB": 0.0, + "state": "str", + "vmId": "str", + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_databases_begin_delete(self, resource_group): + response = self.client.sql_server_databases.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_databases_get(self, resource_group): + response = self.client.sql_server_databases.get( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_databases_begin_update(self, resource_group): + response = self.client.sql_server_databases.begin_update( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", + sql_server_database_update={ + "properties": { + "backupInformation": { + "lastFullBackup": "2020-02-20 00:00:00", + "lastLogBackup": "2020-02-20 00:00:00", + }, + "backupPolicy": { + "differentialBackupHours": 0, + "fullBackupDays": 0, + "retentionPeriodDays": 0, + "transactionLogBackupMinutes": 0, + }, + "collationName": "str", + "compatibilityLevel": 0, + "createMode": "str", + "dataFileSizeMB": 0.0, + "databaseCreationDate": "2020-02-20 00:00:00", + "databaseOptions": { + "isAutoCloseOn": bool, + "isAutoCreateStatsOn": bool, + "isAutoShrinkOn": bool, + "isAutoUpdateStatsOn": bool, + "isEncrypted": bool, + "isHekatonFilesOn": bool, + "isMemoryOptimizationEnabled": bool, + "isRemoteDataArchiveEnabled": bool, + "isTrustworthyOn": bool, + "numberOfHekatonFiles": 0, + }, + "earliestRestoreDate": "2020-02-20 00:00:00", + "isReadOnly": bool, + "lastDatabaseUploadTime": "2020-02-20 00:00:00", + "logFileSizeMB": 0.0, + "migration": { + "assessment": { + "assessmentUploadTime": "2020-02-20 00:00:00", + "databaseAssessments": [ + { + "appliesToMigrationTargetPlatform": "str", + "featureId": "str", + "issueCategory": "str", + "moreInformation": "str", + } + ], + "targetReadiness": { + "azureSqlDatabase": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlManagedInstance": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlVirtualMachine": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + }, + "targetRecommendationGenerationTime": "2020-02-20 00:00:00", + }, + "jobs": [ + { + "additionalAttributes": [{"keyName": "str", "keyValue": "str"}], + "endTime": "2020-02-20 00:00:00", + "initiatedFrom": "str", + "lastError": "str", + "migrationMode": "str", + "migrationTrackingId": "str", + "startTime": "2020-02-20 00:00:00", + "status": "str", + "targetResourceId": "str", + "targetType": "str", + } + ], + }, + "provisioningState": "str", + "recoveryMode": "str", + "restorePointInTime": "2020-02-20 00:00:00", + "sizeMB": 0.0, + "sourceDatabaseId": "str", + "spaceAvailableMB": 0.0, + "state": "str", + "vmId": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_databases_list(self, resource_group): + response = self.client.sql_server_databases.list( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations_async.py new file mode 100644 index 000000000000..3e538b5ee5e4 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations_async.py @@ -0,0 +1,464 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlServerDatabasesOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_databases_create(self, resource_group): + response = await self.client.sql_server_databases.create( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", + sql_server_database_resource={ + "location": "str", + "properties": { + "backupInformation": { + "lastFullBackup": "2020-02-20 00:00:00", + "lastLogBackup": "2020-02-20 00:00:00", + }, + "backupPolicy": { + "differentialBackupHours": 0, + "fullBackupDays": 0, + "retentionPeriodDays": 0, + "transactionLogBackupMinutes": 0, + }, + "collationName": "str", + "compatibilityLevel": 0, + "createMode": "str", + "dataFileSizeMB": 0.0, + "databaseCreationDate": "2020-02-20 00:00:00", + "databaseOptions": { + "isAutoCloseOn": bool, + "isAutoCreateStatsOn": bool, + "isAutoShrinkOn": bool, + "isAutoUpdateStatsOn": bool, + "isEncrypted": bool, + "isHekatonFilesOn": bool, + "isMemoryOptimizationEnabled": bool, + "isRemoteDataArchiveEnabled": bool, + "isTrustworthyOn": bool, + "numberOfHekatonFiles": 0, + }, + "earliestRestoreDate": "2020-02-20 00:00:00", + "isReadOnly": bool, + "lastDatabaseUploadTime": "2020-02-20 00:00:00", + "logFileSizeMB": 0.0, + "migration": { + "assessment": { + "assessmentUploadTime": "2020-02-20 00:00:00", + "databaseAssessments": [ + { + "appliesToMigrationTargetPlatform": "str", + "featureId": "str", + "issueCategory": "str", + "moreInformation": "str", + } + ], + "targetReadiness": { + "azureSqlDatabase": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlManagedInstance": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlVirtualMachine": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + }, + "targetRecommendationGenerationTime": "2020-02-20 00:00:00", + }, + "jobs": [ + { + "additionalAttributes": [{"keyName": "str", "keyValue": "str"}], + "endTime": "2020-02-20 00:00:00", + "initiatedFrom": "str", + "lastError": "str", + "migrationMode": "str", + "migrationTrackingId": "str", + "startTime": "2020-02-20 00:00:00", + "status": "str", + "targetResourceId": "str", + "targetType": "str", + } + ], + }, + "provisioningState": "str", + "recoveryMode": "str", + "restorePointInTime": "2020-02-20 00:00:00", + "sizeMB": 0.0, + "sourceDatabaseId": "str", + "spaceAvailableMB": 0.0, + "state": "str", + "vmId": "str", + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_databases_begin_delete(self, resource_group): + response = await ( + await self.client.sql_server_databases.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_databases_get(self, resource_group): + response = await self.client.sql_server_databases.get( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_databases_begin_update(self, resource_group): + response = await ( + await self.client.sql_server_databases.begin_update( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", + sql_server_database_update={ + "properties": { + "backupInformation": { + "lastFullBackup": "2020-02-20 00:00:00", + "lastLogBackup": "2020-02-20 00:00:00", + }, + "backupPolicy": { + "differentialBackupHours": 0, + "fullBackupDays": 0, + "retentionPeriodDays": 0, + "transactionLogBackupMinutes": 0, + }, + "collationName": "str", + "compatibilityLevel": 0, + "createMode": "str", + "dataFileSizeMB": 0.0, + "databaseCreationDate": "2020-02-20 00:00:00", + "databaseOptions": { + "isAutoCloseOn": bool, + "isAutoCreateStatsOn": bool, + "isAutoShrinkOn": bool, + "isAutoUpdateStatsOn": bool, + "isEncrypted": bool, + "isHekatonFilesOn": bool, + "isMemoryOptimizationEnabled": bool, + "isRemoteDataArchiveEnabled": bool, + "isTrustworthyOn": bool, + "numberOfHekatonFiles": 0, + }, + "earliestRestoreDate": "2020-02-20 00:00:00", + "isReadOnly": bool, + "lastDatabaseUploadTime": "2020-02-20 00:00:00", + "logFileSizeMB": 0.0, + "migration": { + "assessment": { + "assessmentUploadTime": "2020-02-20 00:00:00", + "databaseAssessments": [ + { + "appliesToMigrationTargetPlatform": "str", + "featureId": "str", + "issueCategory": "str", + "moreInformation": "str", + } + ], + "targetReadiness": { + "azureSqlDatabase": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlManagedInstance": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlVirtualMachine": { + "impactedObjectsSummary": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numOfBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + }, + "targetRecommendationGenerationTime": "2020-02-20 00:00:00", + }, + "jobs": [ + { + "additionalAttributes": [{"keyName": "str", "keyValue": "str"}], + "endTime": "2020-02-20 00:00:00", + "initiatedFrom": "str", + "lastError": "str", + "migrationMode": "str", + "migrationTrackingId": "str", + "startTime": "2020-02-20 00:00:00", + "status": "str", + "targetResourceId": "str", + "targetType": "str", + } + ], + }, + "provisioningState": "str", + "recoveryMode": "str", + "restorePointInTime": "2020-02-20 00:00:00", + "sizeMB": 0.0, + "sourceDatabaseId": "str", + "spaceAvailableMB": 0.0, + "state": "str", + "vmId": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_databases_list(self, resource_group): + response = self.client.sql_server_databases.list( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations.py new file mode 100644 index 000000000000..da66703c6a59 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations.py @@ -0,0 +1,128 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlServerEsuLicensesOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_esu_licenses_list(self, resource_group): + response = self.client.sql_server_esu_licenses.list( + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_esu_licenses_list_by_resource_group(self, resource_group): + response = self.client.sql_server_esu_licenses.list_by_resource_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_esu_licenses_get(self, resource_group): + response = self.client.sql_server_esu_licenses.get( + resource_group_name=resource_group.name, + sql_server_esu_license_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_esu_licenses_create(self, resource_group): + response = self.client.sql_server_esu_licenses.create( + resource_group_name=resource_group.name, + sql_server_esu_license_name="str", + sql_server_esu_license={ + "location": "str", + "properties": { + "activationState": "str", + "billingPlan": "str", + "physicalCores": 0, + "scopeType": "str", + "version": "str", + "activatedAt": "2020-02-20 00:00:00", + "tenantId": "str", + "terminatedAt": "2020-02-20 00:00:00", + "uniqueId": "str", + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_esu_licenses_delete(self, resource_group): + response = self.client.sql_server_esu_licenses.delete( + resource_group_name=resource_group.name, + sql_server_esu_license_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_esu_licenses_update(self, resource_group): + response = self.client.sql_server_esu_licenses.update( + resource_group_name=resource_group.name, + sql_server_esu_license_name="str", + parameters={ + "properties": { + "activatedAt": "2020-02-20 00:00:00", + "activationState": "str", + "billingPlan": "str", + "physicalCores": 0, + "scopeType": "str", + "tenantId": "str", + "terminatedAt": "2020-02-20 00:00:00", + "uniqueId": "str", + "version": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py new file mode 100644 index 000000000000..fbddb43f8256 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py @@ -0,0 +1,129 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlServerEsuLicensesOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_esu_licenses_list(self, resource_group): + response = self.client.sql_server_esu_licenses.list( + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_esu_licenses_list_by_resource_group(self, resource_group): + response = self.client.sql_server_esu_licenses.list_by_resource_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_esu_licenses_get(self, resource_group): + response = await self.client.sql_server_esu_licenses.get( + resource_group_name=resource_group.name, + sql_server_esu_license_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_esu_licenses_create(self, resource_group): + response = await self.client.sql_server_esu_licenses.create( + resource_group_name=resource_group.name, + sql_server_esu_license_name="str", + sql_server_esu_license={ + "location": "str", + "properties": { + "activationState": "str", + "billingPlan": "str", + "physicalCores": 0, + "scopeType": "str", + "version": "str", + "activatedAt": "2020-02-20 00:00:00", + "tenantId": "str", + "terminatedAt": "2020-02-20 00:00:00", + "uniqueId": "str", + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_esu_licenses_delete(self, resource_group): + response = await self.client.sql_server_esu_licenses.delete( + resource_group_name=resource_group.name, + sql_server_esu_license_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_esu_licenses_update(self, resource_group): + response = await self.client.sql_server_esu_licenses.update( + resource_group_name=resource_group.name, + sql_server_esu_license_name="str", + parameters={ + "properties": { + "activatedAt": "2020-02-20 00:00:00", + "activationState": "str", + "billingPlan": "str", + "physicalCores": 0, + "scopeType": "str", + "tenantId": "str", + "terminatedAt": "2020-02-20 00:00:00", + "uniqueId": "str", + "version": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations.py new file mode 100644 index 000000000000..eadbd02504ba --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations.py @@ -0,0 +1,799 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlServerInstancesOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_list(self, resource_group): + response = self.client.sql_server_instances.list( + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_list_by_resource_group(self, resource_group): + response = self.client.sql_server_instances.list_by_resource_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_get(self, resource_group): + response = self.client.sql_server_instances.get( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_create(self, resource_group): + response = self.client.sql_server_instances.begin_create( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + sql_server_instance={ + "location": "str", + "id": "str", + "name": "str", + "properties": { + "alwaysOnRole": "str", + "authentication": { + "mode": "str", + "sqlServerEntraIdentity": [{"clientId": "str", "identityType": "str"}], + }, + "azureDefenderStatus": "str", + "azureDefenderStatusLastUpdated": "2020-02-20 00:00:00", + "backupPolicy": { + "differentialBackupHours": 0, + "fullBackupDays": 0, + "retentionPeriodDays": 0, + "transactionLogBackupMinutes": 0, + }, + "bestPracticesAssessment": { + "enabled": bool, + "schedule": { + "cronTrigger": {"expression": "str", "startTime": "str", "timeZone": "str"}, + "enabled": bool, + }, + }, + "clientConnection": {"enabled": bool}, + "collation": "str", + "containerResourceId": "str", + "cores": "str", + "createTime": "str", + "currentVersion": "str", + "databaseMirroringEndpoint": { + "certificateExpiryDate": "2020-02-20 00:00:00", + "certificateName": "str", + "connectionAuth": "str", + "encryptionAlgorithm": "str", + "endpointName": "str", + "ipAddress": "str", + "isDynamicPort": bool, + "isEncryptionEnabled": bool, + "port": 0, + "role": "str", + }, + "dbMasterKeyExists": bool, + "discoverySource": "str", + "edition": "str", + "failoverCluster": { + "hostIPAddresses": [{"ipAddress": "str", "subnetMask": "str"}], + "hostNames": ["str"], + "id": "str", + "networkName": "str", + "sqlInstanceIds": ["str"], + }, + "hostType": "str", + "instanceName": "str", + "isDigiCertPkiCertTrustConfigured": bool, + "isHadrEnabled": bool, + "isMicrosoftPkiCertTrustConfigured": bool, + "lastInventoryUploadTime": "2020-02-20 00:00:00", + "lastUsageUploadTime": "2020-02-20 00:00:00", + "licenseType": "str", + "maxServerMemoryMB": 0, + "migration": { + "assessment": { + "assessmentUploadTime": "2020-02-20 00:00:00", + "assessmentViewedTime": "2020-02-20 00:00:00", + "enabled": bool, + "impactedObjectsSummary": { + "azureSqlDatabase": [{"featureId": "str", "issueCategory": "str", "numberImpacted": 0}], + "azureSqlManagedInstance": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + }, + "serverAssessments": [ + { + "appliesToMigrationTargetPlatform": "str", + "featureId": "str", + "impactedObjects": [{"impactDetail": "str", "name": "str", "objectType": "str"}], + "issueCategory": "str", + "moreInformation": "str", + } + ], + "settings": { + "comfortFactor": 0, + "costOptions": { + "computeAndStorageCostOption": "str", + "sqlLicenseCostOption": "str", + "windowsLicenseCostOption": "str", + }, + "currency": "str", + "discountPercentage": 0.0, + "lookbackPeriodInDays": 0, + "percentile": 0.0, + "strategy": "str", + "targetLocation": "str", + }, + "skuRecommendationResults": { + "azureSqlDatabase": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlManagedInstance": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlVirtualMachine": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": {"availableVmSkus": ["str"], "virtualMachineFamily": "str"}, + "computeSize": 0, + "dataDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "logDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "tempDbDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "virtualMachineSize": { + "azureSkuName": "str", + "computeSize": 0, + "maxNetworkInterfaces": 0, + "sizeName": "str", + "vCPUsAvailable": 0, + "virtualMachineFamily": "str", + }, + }, + }, + }, + "targetRecommendationGenerationTime": "2020-02-20 00:00:00", + "version": "str", + }, + "targetResourceId": "str", + "targetSelectedTime": "2020-02-20 00:00:00", + }, + "monitoring": {"enabled": bool}, + "patchLevel": "str", + "productId": "str", + "provisioningState": "str", + "serviceType": "str", + "status": "str", + "tcpDynamicPorts": "str", + "tcpStaticPorts": "str", + "traceFlags": [0], + "upgradeLockedUntil": "2020-02-20 00:00:00", + "vCore": "str", + "version": "str", + "vmId": "str", + }, + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_delete(self, resource_group): + response = self.client.sql_server_instances.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_update(self, resource_group): + response = self.client.sql_server_instances.begin_update( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + parameters={ + "properties": { + "alwaysOnRole": "str", + "authentication": { + "mode": "str", + "sqlServerEntraIdentity": [{"clientId": "str", "identityType": "str"}], + }, + "azureDefenderStatus": "str", + "azureDefenderStatusLastUpdated": "2020-02-20 00:00:00", + "backupPolicy": { + "differentialBackupHours": 0, + "fullBackupDays": 0, + "retentionPeriodDays": 0, + "transactionLogBackupMinutes": 0, + }, + "bestPracticesAssessment": { + "enabled": bool, + "schedule": { + "cronTrigger": {"expression": "str", "startTime": "str", "timeZone": "str"}, + "enabled": bool, + }, + }, + "clientConnection": {"enabled": bool}, + "collation": "str", + "containerResourceId": "str", + "cores": "str", + "createTime": "str", + "currentVersion": "str", + "databaseMirroringEndpoint": { + "certificateExpiryDate": "2020-02-20 00:00:00", + "certificateName": "str", + "connectionAuth": "str", + "encryptionAlgorithm": "str", + "endpointName": "str", + "ipAddress": "str", + "isDynamicPort": bool, + "isEncryptionEnabled": bool, + "port": 0, + "role": "str", + }, + "dbMasterKeyExists": bool, + "discoverySource": "str", + "edition": "str", + "failoverCluster": { + "hostIPAddresses": [{"ipAddress": "str", "subnetMask": "str"}], + "hostNames": ["str"], + "id": "str", + "networkName": "str", + "sqlInstanceIds": ["str"], + }, + "hostType": "str", + "instanceName": "str", + "isDigiCertPkiCertTrustConfigured": bool, + "isHadrEnabled": bool, + "isMicrosoftPkiCertTrustConfigured": bool, + "lastInventoryUploadTime": "2020-02-20 00:00:00", + "lastUsageUploadTime": "2020-02-20 00:00:00", + "licenseType": "str", + "maxServerMemoryMB": 0, + "migration": { + "assessment": { + "assessmentUploadTime": "2020-02-20 00:00:00", + "assessmentViewedTime": "2020-02-20 00:00:00", + "enabled": bool, + "impactedObjectsSummary": { + "azureSqlDatabase": [{"featureId": "str", "issueCategory": "str", "numberImpacted": 0}], + "azureSqlManagedInstance": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + }, + "serverAssessments": [ + { + "appliesToMigrationTargetPlatform": "str", + "featureId": "str", + "impactedObjects": [{"impactDetail": "str", "name": "str", "objectType": "str"}], + "issueCategory": "str", + "moreInformation": "str", + } + ], + "settings": { + "comfortFactor": 0, + "costOptions": { + "computeAndStorageCostOption": "str", + "sqlLicenseCostOption": "str", + "windowsLicenseCostOption": "str", + }, + "currency": "str", + "discountPercentage": 0.0, + "lookbackPeriodInDays": 0, + "percentile": 0.0, + "strategy": "str", + "targetLocation": "str", + }, + "skuRecommendationResults": { + "azureSqlDatabase": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlManagedInstance": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlVirtualMachine": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": {"availableVmSkus": ["str"], "virtualMachineFamily": "str"}, + "computeSize": 0, + "dataDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "logDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "tempDbDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "virtualMachineSize": { + "azureSkuName": "str", + "computeSize": 0, + "maxNetworkInterfaces": 0, + "sizeName": "str", + "vCPUsAvailable": 0, + "virtualMachineFamily": "str", + }, + }, + }, + }, + "targetRecommendationGenerationTime": "2020-02-20 00:00:00", + "version": "str", + }, + "targetResourceId": "str", + "targetSelectedTime": "2020-02-20 00:00:00", + }, + "monitoring": {"enabled": bool}, + "patchLevel": "str", + "productId": "str", + "provisioningState": "str", + "serviceType": "str", + "status": "str", + "tcpDynamicPorts": "str", + "tcpStaticPorts": "str", + "traceFlags": [0], + "upgradeLockedUntil": "2020-02-20 00:00:00", + "vCore": "str", + "version": "str", + "vmId": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_get_telemetry(self, resource_group): + response = self.client.sql_server_instances.begin_get_telemetry( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + sql_server_instance_telemetry_request={ + "datasetName": "str", + "aggregationType": "Average", + "databaseNames": ["str"], + "endTime": "2020-02-20 00:00:00", + "interval": "PT1H", + "startTime": "2020-02-20 00:00:00", + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_get_best_practices_assessment(self, resource_group): + response = self.client.sql_server_instances.begin_get_best_practices_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + sql_server_instance_bpa_request={ + "queryType": "str", + "reportId": "str", + "reportType": "str", + "skipToken": "str", + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_run_migration_assessment(self, resource_group): + response = self.client.sql_server_instances.run_migration_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_run_target_recommendation_job(self, resource_group): + response = self.client.sql_server_instances.begin_run_target_recommendation_job( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_get_target_recommendation_reports(self, resource_group): + response = self.client.sql_server_instances.begin_get_target_recommendation_reports( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_get_migration_readiness_report(self, resource_group): + response = self.client.sql_server_instances.begin_get_migration_readiness_report( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_run_best_practices_assessment(self, resource_group): + response = self.client.sql_server_instances.run_best_practices_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_run_best_practice_assessment(self, resource_group): + response = self.client.sql_server_instances.begin_run_best_practice_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_run_migration_readiness_assessment(self, resource_group): + response = self.client.sql_server_instances.begin_run_migration_readiness_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_get_jobs_status(self, resource_group): + response = self.client.sql_server_instances.get_jobs_status( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_get_jobs(self, resource_group): + response = self.client.sql_server_instances.begin_get_jobs( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_pre_upgrade(self, resource_group): + response = self.client.sql_server_instances.pre_upgrade( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_post_upgrade(self, resource_group): + response = self.client.sql_server_instances.post_upgrade( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_run_managed_instance_link_assessment(self, resource_group): + response = self.client.sql_server_instances.begin_run_managed_instance_link_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + sql_server_instance_managed_instance_link_assessment_request={ + "availabilityGroupName": "str", + "azureManagedInstanceResourceId": "str", + "databaseNames": ["str"], + "distributedAvailabilityGroupName": "str", + "assessmentCategories": ["str"], + "azureManagedInstanceRole": "str", + "sqlServerIpAddress": "str", + }, + api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_get_all_availability_groups(self, resource_group): + response = self.client.sql_server_instances.get_all_availability_groups( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations_async.py new file mode 100644 index 000000000000..08070ae96c28 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations_async.py @@ -0,0 +1,832 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlServerInstancesOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_list(self, resource_group): + response = self.client.sql_server_instances.list( + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_list_by_resource_group(self, resource_group): + response = self.client.sql_server_instances.list_by_resource_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_get(self, resource_group): + response = await self.client.sql_server_instances.get( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_create(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_create( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + sql_server_instance={ + "location": "str", + "id": "str", + "name": "str", + "properties": { + "alwaysOnRole": "str", + "authentication": { + "mode": "str", + "sqlServerEntraIdentity": [{"clientId": "str", "identityType": "str"}], + }, + "azureDefenderStatus": "str", + "azureDefenderStatusLastUpdated": "2020-02-20 00:00:00", + "backupPolicy": { + "differentialBackupHours": 0, + "fullBackupDays": 0, + "retentionPeriodDays": 0, + "transactionLogBackupMinutes": 0, + }, + "bestPracticesAssessment": { + "enabled": bool, + "schedule": { + "cronTrigger": {"expression": "str", "startTime": "str", "timeZone": "str"}, + "enabled": bool, + }, + }, + "clientConnection": {"enabled": bool}, + "collation": "str", + "containerResourceId": "str", + "cores": "str", + "createTime": "str", + "currentVersion": "str", + "databaseMirroringEndpoint": { + "certificateExpiryDate": "2020-02-20 00:00:00", + "certificateName": "str", + "connectionAuth": "str", + "encryptionAlgorithm": "str", + "endpointName": "str", + "ipAddress": "str", + "isDynamicPort": bool, + "isEncryptionEnabled": bool, + "port": 0, + "role": "str", + }, + "dbMasterKeyExists": bool, + "discoverySource": "str", + "edition": "str", + "failoverCluster": { + "hostIPAddresses": [{"ipAddress": "str", "subnetMask": "str"}], + "hostNames": ["str"], + "id": "str", + "networkName": "str", + "sqlInstanceIds": ["str"], + }, + "hostType": "str", + "instanceName": "str", + "isDigiCertPkiCertTrustConfigured": bool, + "isHadrEnabled": bool, + "isMicrosoftPkiCertTrustConfigured": bool, + "lastInventoryUploadTime": "2020-02-20 00:00:00", + "lastUsageUploadTime": "2020-02-20 00:00:00", + "licenseType": "str", + "maxServerMemoryMB": 0, + "migration": { + "assessment": { + "assessmentUploadTime": "2020-02-20 00:00:00", + "assessmentViewedTime": "2020-02-20 00:00:00", + "enabled": bool, + "impactedObjectsSummary": { + "azureSqlDatabase": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "azureSqlManagedInstance": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + }, + "serverAssessments": [ + { + "appliesToMigrationTargetPlatform": "str", + "featureId": "str", + "impactedObjects": [ + {"impactDetail": "str", "name": "str", "objectType": "str"} + ], + "issueCategory": "str", + "moreInformation": "str", + } + ], + "settings": { + "comfortFactor": 0, + "costOptions": { + "computeAndStorageCostOption": "str", + "sqlLicenseCostOption": "str", + "windowsLicenseCostOption": "str", + }, + "currency": "str", + "discountPercentage": 0.0, + "lookbackPeriodInDays": 0, + "percentile": 0.0, + "strategy": "str", + "targetLocation": "str", + }, + "skuRecommendationResults": { + "azureSqlDatabase": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlManagedInstance": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlVirtualMachine": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": {"availableVmSkus": ["str"], "virtualMachineFamily": "str"}, + "computeSize": 0, + "dataDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "logDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "tempDbDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "virtualMachineSize": { + "azureSkuName": "str", + "computeSize": 0, + "maxNetworkInterfaces": 0, + "sizeName": "str", + "vCPUsAvailable": 0, + "virtualMachineFamily": "str", + }, + }, + }, + }, + "targetRecommendationGenerationTime": "2020-02-20 00:00:00", + "version": "str", + }, + "targetResourceId": "str", + "targetSelectedTime": "2020-02-20 00:00:00", + }, + "monitoring": {"enabled": bool}, + "patchLevel": "str", + "productId": "str", + "provisioningState": "str", + "serviceType": "str", + "status": "str", + "tcpDynamicPorts": "str", + "tcpStaticPorts": "str", + "traceFlags": [0], + "upgradeLockedUntil": "2020-02-20 00:00:00", + "vCore": "str", + "version": "str", + "vmId": "str", + }, + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_delete(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_update(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_update( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + parameters={ + "properties": { + "alwaysOnRole": "str", + "authentication": { + "mode": "str", + "sqlServerEntraIdentity": [{"clientId": "str", "identityType": "str"}], + }, + "azureDefenderStatus": "str", + "azureDefenderStatusLastUpdated": "2020-02-20 00:00:00", + "backupPolicy": { + "differentialBackupHours": 0, + "fullBackupDays": 0, + "retentionPeriodDays": 0, + "transactionLogBackupMinutes": 0, + }, + "bestPracticesAssessment": { + "enabled": bool, + "schedule": { + "cronTrigger": {"expression": "str", "startTime": "str", "timeZone": "str"}, + "enabled": bool, + }, + }, + "clientConnection": {"enabled": bool}, + "collation": "str", + "containerResourceId": "str", + "cores": "str", + "createTime": "str", + "currentVersion": "str", + "databaseMirroringEndpoint": { + "certificateExpiryDate": "2020-02-20 00:00:00", + "certificateName": "str", + "connectionAuth": "str", + "encryptionAlgorithm": "str", + "endpointName": "str", + "ipAddress": "str", + "isDynamicPort": bool, + "isEncryptionEnabled": bool, + "port": 0, + "role": "str", + }, + "dbMasterKeyExists": bool, + "discoverySource": "str", + "edition": "str", + "failoverCluster": { + "hostIPAddresses": [{"ipAddress": "str", "subnetMask": "str"}], + "hostNames": ["str"], + "id": "str", + "networkName": "str", + "sqlInstanceIds": ["str"], + }, + "hostType": "str", + "instanceName": "str", + "isDigiCertPkiCertTrustConfigured": bool, + "isHadrEnabled": bool, + "isMicrosoftPkiCertTrustConfigured": bool, + "lastInventoryUploadTime": "2020-02-20 00:00:00", + "lastUsageUploadTime": "2020-02-20 00:00:00", + "licenseType": "str", + "maxServerMemoryMB": 0, + "migration": { + "assessment": { + "assessmentUploadTime": "2020-02-20 00:00:00", + "assessmentViewedTime": "2020-02-20 00:00:00", + "enabled": bool, + "impactedObjectsSummary": { + "azureSqlDatabase": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + "azureSqlManagedInstance": [ + {"featureId": "str", "issueCategory": "str", "numberImpacted": 0} + ], + }, + "serverAssessments": [ + { + "appliesToMigrationTargetPlatform": "str", + "featureId": "str", + "impactedObjects": [ + {"impactDetail": "str", "name": "str", "objectType": "str"} + ], + "issueCategory": "str", + "moreInformation": "str", + } + ], + "settings": { + "comfortFactor": 0, + "costOptions": { + "computeAndStorageCostOption": "str", + "sqlLicenseCostOption": "str", + "windowsLicenseCostOption": "str", + }, + "currency": "str", + "discountPercentage": 0.0, + "lookbackPeriodInDays": 0, + "percentile": 0.0, + "strategy": "str", + "targetLocation": "str", + }, + "skuRecommendationResults": { + "azureSqlDatabase": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlManagedInstance": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": { + "computeTier": "str", + "hardwareType": "str", + "sqlPurchasingModel": "str", + "sqlServiceTier": "str", + "zoneRedundancyAvailable": bool, + }, + "computeSize": 0, + "maxStorageIops": 0.0, + "maxThroughputMBps": 0.0, + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "storageMaxSizeInMb": 0.0, + }, + }, + "azureSqlVirtualMachine": { + "monthlyCost": { + "computeCost": 0.0, + "iopsCost": 0.0, + "sqlLicenseCost": 0.0, + "storageCost": 0.0, + "totalCost": 0.0, + "windowsLicenseCost": 0.0, + }, + "monthlyCostOptions": [ + { + "keyName": "str", + "keyValue": {"computeCost": 0.0, "iopsCost": 0.0, "storageCost": 0.0}, + } + ], + "numberOfServerBlockerIssues": 0, + "recommendationStatus": "str", + "targetSku": { + "category": {"availableVmSkus": ["str"], "virtualMachineFamily": "str"}, + "computeSize": 0, + "dataDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "logDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "predictedDataSizeInMb": 0.0, + "predictedLogSizeInMb": 0.0, + "tempDbDiskSizes": [ + { + "caching": "str", + "diskType": "str", + "maxIops": 0.0, + "maxSizeInGib": 0.0, + "maxThroughputInMbps": 0.0, + "redundancy": "str", + "size": "str", + } + ], + "virtualMachineSize": { + "azureSkuName": "str", + "computeSize": 0, + "maxNetworkInterfaces": 0, + "sizeName": "str", + "vCPUsAvailable": 0, + "virtualMachineFamily": "str", + }, + }, + }, + }, + "targetRecommendationGenerationTime": "2020-02-20 00:00:00", + "version": "str", + }, + "targetResourceId": "str", + "targetSelectedTime": "2020-02-20 00:00:00", + }, + "monitoring": {"enabled": bool}, + "patchLevel": "str", + "productId": "str", + "provisioningState": "str", + "serviceType": "str", + "status": "str", + "tcpDynamicPorts": "str", + "tcpStaticPorts": "str", + "traceFlags": [0], + "upgradeLockedUntil": "2020-02-20 00:00:00", + "vCore": "str", + "version": "str", + "vmId": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_get_telemetry(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_get_telemetry( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + sql_server_instance_telemetry_request={ + "datasetName": "str", + "aggregationType": "Average", + "databaseNames": ["str"], + "endTime": "2020-02-20 00:00:00", + "interval": "PT1H", + "startTime": "2020-02-20 00:00:00", + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_get_best_practices_assessment(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_get_best_practices_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + sql_server_instance_bpa_request={ + "queryType": "str", + "reportId": "str", + "reportType": "str", + "skipToken": "str", + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_run_migration_assessment(self, resource_group): + response = await self.client.sql_server_instances.run_migration_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_run_target_recommendation_job(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_run_target_recommendation_job( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_get_target_recommendation_reports(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_get_target_recommendation_reports( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_get_migration_readiness_report(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_get_migration_readiness_report( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_run_best_practices_assessment(self, resource_group): + response = await self.client.sql_server_instances.run_best_practices_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_run_best_practice_assessment(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_run_best_practice_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_run_migration_readiness_assessment(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_run_migration_readiness_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_get_jobs_status(self, resource_group): + response = await self.client.sql_server_instances.get_jobs_status( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_get_jobs(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_get_jobs( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_pre_upgrade(self, resource_group): + response = await self.client.sql_server_instances.pre_upgrade( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_post_upgrade(self, resource_group): + response = await self.client.sql_server_instances.post_upgrade( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_run_managed_instance_link_assessment(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_run_managed_instance_link_assessment( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + sql_server_instance_managed_instance_link_assessment_request={ + "availabilityGroupName": "str", + "azureManagedInstanceResourceId": "str", + "databaseNames": ["str"], + "distributedAvailabilityGroupName": "str", + "assessmentCategories": ["str"], + "azureManagedInstanceRole": "str", + "sqlServerIpAddress": "str", + }, + api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_get_all_availability_groups(self, resource_group): + response = self.client.sql_server_instances.get_all_availability_groups( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations.py new file mode 100644 index 000000000000..eb4766ea1ae1 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations.py @@ -0,0 +1,126 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlServerLicensesOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_licenses_list(self, resource_group): + response = self.client.sql_server_licenses.list( + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_licenses_list_by_resource_group(self, resource_group): + response = self.client.sql_server_licenses.list_by_resource_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_licenses_get(self, resource_group): + response = self.client.sql_server_licenses.get( + resource_group_name=resource_group.name, + sql_server_license_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_licenses_create(self, resource_group): + response = self.client.sql_server_licenses.create( + resource_group_name=resource_group.name, + sql_server_license_name="str", + sql_server_license={ + "location": "str", + "properties": { + "activationState": "str", + "billingPlan": "str", + "licenseCategory": "str", + "physicalCores": 0, + "scopeType": "str", + "lastActivatedAt": "2020-02-20 00:00:00", + "lastDeactivatedAt": "2020-02-20 00:00:00", + "tenantId": "str", + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_licenses_delete(self, resource_group): + response = self.client.sql_server_licenses.delete( + resource_group_name=resource_group.name, + sql_server_license_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_licenses_update(self, resource_group): + response = self.client.sql_server_licenses.update( + resource_group_name=resource_group.name, + sql_server_license_name="str", + parameters={ + "properties": { + "activationState": "str", + "billingPlan": "str", + "lastActivatedAt": "2020-02-20 00:00:00", + "lastDeactivatedAt": "2020-02-20 00:00:00", + "licenseCategory": "str", + "physicalCores": 0, + "scopeType": "str", + "tenantId": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations_async.py new file mode 100644 index 000000000000..c62b827afbeb --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations_async.py @@ -0,0 +1,127 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestAzureArcDataManagementSqlServerLicensesOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_licenses_list(self, resource_group): + response = self.client.sql_server_licenses.list( + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_licenses_list_by_resource_group(self, resource_group): + response = self.client.sql_server_licenses.list_by_resource_group( + resource_group_name=resource_group.name, + api_version="2026-03-01-preview", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_licenses_get(self, resource_group): + response = await self.client.sql_server_licenses.get( + resource_group_name=resource_group.name, + sql_server_license_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_licenses_create(self, resource_group): + response = await self.client.sql_server_licenses.create( + resource_group_name=resource_group.name, + sql_server_license_name="str", + sql_server_license={ + "location": "str", + "properties": { + "activationState": "str", + "billingPlan": "str", + "licenseCategory": "str", + "physicalCores": 0, + "scopeType": "str", + "lastActivatedAt": "2020-02-20 00:00:00", + "lastDeactivatedAt": "2020-02-20 00:00:00", + "tenantId": "str", + }, + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_licenses_delete(self, resource_group): + response = await self.client.sql_server_licenses.delete( + resource_group_name=resource_group.name, + sql_server_license_name="str", + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_licenses_update(self, resource_group): + response = await self.client.sql_server_licenses.update( + resource_group_name=resource_group.name, + sql_server_license_name="str", + parameters={ + "properties": { + "activationState": "str", + "billingPlan": "str", + "lastActivatedAt": "2020-02-20 00:00:00", + "lastDeactivatedAt": "2020-02-20 00:00:00", + "licenseCategory": "str", + "physicalCores": 0, + "scopeType": "str", + "tenantId": "str", + }, + "tags": {"str": "str"}, + }, + api_version="2026-03-01-preview", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/pyproject.toml b/sdk/azurearcdata/azure-mgmt-azurearcdata/pyproject.toml index 540da07d41af..27d03a524aaa 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/pyproject.toml +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/pyproject.toml @@ -1,6 +1,88 @@ +[build-system] +requires = [ + "setuptools>=77.0.3", + "wheel", +] +build-backend = "setuptools.build_meta" + +[project] +name = "azure-mgmt-azurearcdata" +authors = [ + { name = "Microsoft Corporation", email = "azpysdkhelp@microsoft.com" }, +] +description = "Microsoft Azure Azurearcdata Management Client Library for Python" +license = "MIT" +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", +] +requires-python = ">=3.9" +keywords = [ + "azure", + "azure sdk", +] +dependencies = [ + "isodate>=0.6.1", + "azure-mgmt-core>=1.6.0", + "typing-extensions>=4.6.0", +] +dynamic = [ + "version", + "readme", +] + +[project.urls] +repository = "https://github.com/Azure/azure-sdk-for-python" + +[tool.setuptools.dynamic.version] +attr = "azure.mgmt.azurearcdata._version.VERSION" + +[tool.setuptools.dynamic.readme] +file = [ + "README.md", + "CHANGELOG.md", +] +content-type = "text/markdown" + +[tool.setuptools.packages.find] +exclude = [ + "tests*", + "generated_tests*", + "samples*", + "generated_samples*", + "doc*", + "azure", + "azure.mgmt", +] + +[tool.setuptools.package-data] +pytyped = [ + "py.typed", +] + [tool.azure-sdk-build] breaking = false mypy = false pyright = false type_check_samples = false verifytypes = false + +[packaging] +package_name = "azure-mgmt-azurearcdata" +package_nspkg = "azure-mgmt-nspkg" +package_pprint_name = "Azure Arc Data Management" +package_doc_id = "" +is_stable = false +is_arm = true +title = "AzureArcDataManagementClient" +need_msrestazure = false +need_azuremgmtcore = true +sample_link = "" +exclude_folders = "" diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/sdk_packaging.toml b/sdk/azurearcdata/azure-mgmt-azurearcdata/sdk_packaging.toml deleted file mode 100644 index 30e32f78fcce..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/sdk_packaging.toml +++ /dev/null @@ -1,8 +0,0 @@ -[packaging] -package_name = "azure-mgmt-azurearcdata" -package_nspkg = "azure-mgmt-nspkg" -package_pprint_name = "Azure Arc Data Management" -package_doc_id = "" -is_stable = false -is_arm = true -title = "AzureArcDataManagementClient" diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/setup.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/setup.py deleted file mode 100644 index c2f506547f1e..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/setup.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python - -#------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -#-------------------------------------------------------------------------- - -import re -import os.path -from io import open -from setuptools import find_packages, setup - -# Change the PACKAGE_NAME only to change folder and different name -PACKAGE_NAME = "azure-mgmt-azurearcdata" -PACKAGE_PPRINT_NAME = "Azure Arc Data Management" - -# a-b-c => a/b/c -package_folder_path = PACKAGE_NAME.replace('-', '/') -# a-b-c => a.b.c -namespace_name = PACKAGE_NAME.replace('-', '.') - -# Version extraction inspired from 'requests' -with open(os.path.join(package_folder_path, 'version.py') - if os.path.exists(os.path.join(package_folder_path, 'version.py')) - else os.path.join(package_folder_path, '_version.py'), 'r') as fd: - version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', - fd.read(), re.MULTILINE).group(1) - -if not version: - raise RuntimeError('Cannot find version information') - -with open('README.md', encoding='utf-8') as f: - readme = f.read() -with open('CHANGELOG.md', encoding='utf-8') as f: - changelog = f.read() - -setup( - name=PACKAGE_NAME, - version=version, - description='Microsoft Azure {} Client Library for Python'.format(PACKAGE_PPRINT_NAME), - long_description=readme + '\n\n' + changelog, - long_description_content_type='text/markdown', - license='MIT License', - author='Microsoft Corporation', - author_email='azpysdkhelp@microsoft.com', - url='https://github.com/Azure/azure-sdk-for-python', - keywords="azure, azure sdk", # update with search keywords relevant to the azure service / product - classifiers=[ - 'Development Status :: 4 - Beta', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3 :: Only', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - 'License :: OSI Approved :: MIT License', - ], - zip_safe=False, - packages=find_packages(exclude=[ - 'tests', - # Exclude packages that will be covered by PEP420 or nspkg - 'azure', - 'azure.mgmt', - ]), - include_package_data=True, - package_data={ - 'pytyped': ['py.typed'], - }, - install_requires=[ - "msrest>=0.7.1", - "azure-common~=1.1", - "azure-mgmt-core>=1.3.2,<2.0.0", - "typing-extensions>=4.3.0; python_version<'3.8.0'", - ], - python_requires=">=3.7" -) From eede8a20172611393149f9440ef97cdf5850811d Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 Date: Wed, 1 Apr 2026 11:28:50 +0800 Subject: [PATCH 2/8] generated from typespec:6fd6a95eedff621147c1c8f996e50f02f16927c5 --- .../azure-mgmt-azurearcdata/_metadata.json | 15 +- .../apiview-properties.json | 787 +- .../azure/mgmt/azurearcdata/__init__.py | 6 +- ...c_data_management_client.py => _client.py} | 73 +- .../azure/mgmt/azurearcdata/_configuration.py | 19 +- .../azure/mgmt/azurearcdata/_patch.py | 14 +- .../mgmt/azurearcdata/_utils/__init__.py | 2 +- .../mgmt/azurearcdata/_utils/model_base.py | 1369 + .../mgmt/azurearcdata/_utils/serialization.py | 2 +- .../azure/mgmt/azurearcdata/_version.py | 2 +- .../azure/mgmt/azurearcdata/aio/__init__.py | 6 +- ...c_data_management_client.py => _client.py} | 73 +- .../mgmt/azurearcdata/aio/_configuration.py | 19 +- .../azure/mgmt/azurearcdata/aio/_patch.py | 14 +- .../azurearcdata/aio/operations/__init__.py | 30 +- ..._active_directory_connectors_operations.py | 551 - .../_data_controllers_operations.py | 807 - .../operations/_failover_groups_operations.py | 545 - .../aio/operations/_operations.py | 12226 +++- .../azurearcdata/aio/operations/_patch.py | 14 +- .../_postgres_instances_operations.py | 732 - .../_sql_managed_instances_operations.py | 732 - ...l_server_availability_groups_operations.py | 2176 - .../_sql_server_databases_operations.py | 696 - .../_sql_server_esu_licenses_operations.py | 618 - .../_sql_server_instances_operations.py | 3274 - .../_sql_server_licenses_operations.py | 609 - .../mgmt/azurearcdata/models/__init__.py | 88 +- ...a_management_client_enums.py => _enums.py} | 295 +- .../azure/mgmt/azurearcdata/models/_models.py | 8763 +++ .../mgmt/azurearcdata/models/_models_py3.py | 9708 --- .../azure/mgmt/azurearcdata/models/_patch.py | 14 +- .../mgmt/azurearcdata/operations/__init__.py | 30 +- ..._active_directory_connectors_operations.py | 695 - .../_data_controllers_operations.py | 974 - .../operations/_failover_groups_operations.py | 679 - .../azurearcdata/operations/_operations.py | 14417 ++++- .../mgmt/azurearcdata/operations/_patch.py | 14 +- .../_postgres_instances_operations.py | 900 - .../_sql_managed_instances_operations.py | 906 - ...l_server_availability_groups_operations.py | 2705 - .../_sql_server_databases_operations.py | 855 - .../_sql_server_esu_licenses_operations.py | 815 - .../_sql_server_instances_operations.py | 3905 -- .../_sql_server_licenses_operations.py | 792 - .../code_report_typespec.json | 49657 ++++++++++++++++ .../add_databases_to_availability_group.py | 11 +- ...te_or_update_active_directory_connector.py | 11 +- ...pdate_arc_sql_server_availability_group.py | 11 +- ...reate_or_update_arc_sql_server_database.py | 10 +- .../create_or_update_data_controller.py | 10 +- .../create_or_update_failover_group.py | 10 +- .../create_or_update_managed_instance_link.py | 10 +- .../create_or_update_postgres_instance.py | 10 +- .../create_or_update_sql_managed_instance.py | 10 +- ...create_or_update_sql_server_esu_license.py | 11 +- .../create_or_update_sql_server_instance.py | 11 +- .../create_or_update_sql_server_license.py | 11 +- .../create_sql_server_availability_group.py | 10 +- ...l_server_distributed_availability_group.py | 11 +- .../delete_active_directory_connector.py | 11 +- ...elete_arc_sql_server_availability_group.py | 11 +- .../delete_arc_sql_server_database.py | 11 +- .../delete_data_controller.py | 11 +- .../delete_failover_group.py | 11 +- .../generated_samples/delete_mi_link.py | 11 +- .../delete_postgres_instance.py | 11 +- .../delete_sql_managed_instance.py | 11 +- .../delete_sql_server_esu_license.py | 11 +- .../delete_sql_server_instance.py | 11 +- .../delete_sql_server_license.py | 11 +- ...lover_arc_sql_server_availability_group.py | 11 +- .../generated_samples/failover_mi_link.py | 10 +- ..._sql_server_instance_availability_group.py | 11 +- ...lover_arc_sql_server_availability_group.py | 11 +- .../get_active_directory_connector.py | 11 +- .../get_arc_sql_server_availability_group.py | 11 +- .../get_arc_sql_server_database.py | 11 +- .../generated_samples/get_data_controller.py | 11 +- .../generated_samples/get_failover_group.py | 11 +- .../get_postgres_instance.py | 11 +- .../get_sql_managed_instance.py | 11 +- .../get_sql_server_esu_license.py | 11 +- .../get_sql_server_instance.py | 11 +- .../get_sql_server_instance_bpa.py | 11 +- .../get_sql_server_instance_jobs.py | 11 +- .../get_sql_server_instance_jobs_status.py | 11 +- ...ver_instance_migration_readiness_report.py | 11 +- ..._instance_target_recommendation_reports.py | 11 +- ...target_recommendation_reports_last_page.py | 11 +- ...get_recommendation_reports_with_filters.py | 11 +- .../get_sql_server_instance_telemetry.py | 11 +- .../get_sql_server_license.py | 11 +- ...a_controller_active_directory_connector.py | 11 +- .../list_by_resource_group_data_controller.py | 11 +- ...ist_by_resource_group_postgres_instance.py | 11 +- ..._by_resource_group_sql_managed_instance.py | 11 +- ...y_resource_group_sql_server_esu_license.py | 11 +- ...t_by_resource_group_sql_server_instance.py | 11 +- ...st_by_resource_group_sql_server_license.py | 11 +- ..._by_sql_managed_instance_failover_group.py | 11 +- ..._sql_server_instance_availability_group.py | 11 +- .../list_by_sql_server_instance_database.py | 11 +- .../generated_samples/list_operation.py | 9 +- .../list_subscription_data_controller.py | 11 +- .../list_subscription_postgres_instance.py | 11 +- .../list_subscription_sql_managed_instance.py | 11 +- ...ist_subscription_sql_server_esu_license.py | 11 +- .../list_subscription_sql_server_instance.py | 11 +- .../list_subscription_sql_server_license.py | 11 +- .../post_upgrade_sql_server_instance.py | 11 +- .../pre_upgrade_sql_server_instance.py | 11 +- ...emove_databases_from_availability_group.py | 11 +- ...practice_assessment_sql_server_instance.py | 11 +- ...ractices_assessment_sql_server_instance.py | 11 +- .../run_managed_instance_link_assessment.py | 10 +- ...igration_assessment_sql_server_instance.py | 11 +- ...eadiness_assessment_sql_server_instance.py | 11 +- ..._recommendation_job_sql_server_instance.py | 11 +- ...pdate_arc_sql_server_availability_group.py | 11 +- .../update_data_controller.py | 11 +- .../update_postgres_instance.py | 11 +- .../update_sql_managed_instance.py | 11 +- .../update_sql_server_database.py | 11 +- .../update_sql_server_esu_license.py | 11 +- .../update_sql_server_instance.py | 11 +- .../update_sql_server_license.py | 11 +- .../view_arc_sql_server_availability_group.py | 11 +- .../generated_tests/conftest.py | 24 +- ...active_directory_connectors_operations.py} | 32 +- ..._directory_connectors_operations_async.py} | 32 +- ...e_arc_data_data_controllers_operations.py} | 85 +- ...data_data_controllers_operations_async.py} | 89 +- ...re_arc_data_failover_groups_operations.py} | 30 +- ..._data_failover_groups_operations_async.py} | 30 +- ...s.py => test_azure_arc_data_operations.py} | 12 +- ...> test_azure_arc_data_operations_async.py} | 12 +- ...arc_data_postgres_instances_operations.py} | 75 +- ...ta_postgres_instances_operations_async.py} | 79 +- ..._data_sql_managed_instances_operations.py} | 70 +- ...sql_managed_instances_operations_async.py} | 70 +- ..._server_availability_groups_operations.py} | 371 +- ...r_availability_groups_operations_async.py} | 401 +- ...c_data_sql_server_databases_operations.py} | 61 +- ..._sql_server_databases_operations_async.py} | 65 +- ...ata_sql_server_esu_licenses_operations.py} | 73 +- ...l_server_esu_licenses_operations_async.py} | 73 +- ...c_data_sql_server_instances_operations.py} | 92 +- ..._sql_server_instances_operations_async.py} | 96 +- ...rc_data_sql_server_licenses_operations.py} | 73 +- ...a_sql_server_licenses_operations_async.py} | 73 +- .../azure-mgmt-azurearcdata/tsp-location.yaml | 4 + 152 files changed, 88580 insertions(+), 35956 deletions(-) rename sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/{_azure_arc_data_management_client.py => _client.py} (86%) create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/model_base.py rename sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/{_azure_arc_data_management_client.py => _client.py} (87%) delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_active_directory_connectors_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_data_controllers_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_failover_groups_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_postgres_instances_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_managed_instances_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_availability_groups_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_databases_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_esu_licenses_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_instances_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_licenses_operations.py rename sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/{_azure_arc_data_management_client_enums.py => _enums.py} (78%) create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models_py3.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_active_directory_connectors_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_data_controllers_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_failover_groups_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_postgres_instances_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_managed_instances_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_availability_groups_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_databases_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_esu_licenses_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_instances_operations.py delete mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_licenses_operations.py create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_active_directory_connectors_operations.py => test_azure_arc_data_active_directory_connectors_operations.py} (86%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_active_directory_connectors_operations_async.py => test_azure_arc_data_active_directory_connectors_operations_async.py} (86%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_data_controllers_operations.py => test_azure_arc_data_data_controllers_operations.py} (90%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_data_controllers_operations_async.py => test_azure_arc_data_data_controllers_operations_async.py} (90%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_failover_groups_operations.py => test_azure_arc_data_failover_groups_operations.py} (86%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_failover_groups_operations_async.py => test_azure_arc_data_failover_groups_operations_async.py} (86%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_operations.py => test_azure_arc_data_operations.py} (71%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_operations_async.py => test_azure_arc_data_operations_async.py} (71%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_postgres_instances_operations.py => test_azure_arc_data_postgres_instances_operations.py} (87%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_postgres_instances_operations_async.py => test_azure_arc_data_postgres_instances_operations_async.py} (87%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_managed_instances_operations.py => test_azure_arc_data_sql_managed_instances_operations.py} (85%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_managed_instances_operations_async.py => test_azure_arc_data_sql_managed_instances_operations_async.py} (85%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_server_availability_groups_operations.py => test_azure_arc_data_sql_server_availability_groups_operations.py} (96%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_server_availability_groups_operations_async.py => test_azure_arc_data_sql_server_availability_groups_operations_async.py} (96%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_server_databases_operations.py => test_azure_arc_data_sql_server_databases_operations.py} (97%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_server_databases_operations_async.py => test_azure_arc_data_sql_server_databases_operations_async.py} (97%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_server_esu_licenses_operations.py => test_azure_arc_data_sql_server_esu_licenses_operations.py} (87%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py => test_azure_arc_data_sql_server_esu_licenses_operations_async.py} (87%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_server_instances_operations.py => test_azure_arc_data_sql_server_instances_operations.py} (96%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_server_instances_operations_async.py => test_azure_arc_data_sql_server_instances_operations_async.py} (96%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_server_licenses_operations.py => test_azure_arc_data_sql_server_licenses_operations.py} (87%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_management_sql_server_licenses_operations_async.py => test_azure_arc_data_sql_server_licenses_operations_async.py} (87%) create mode 100644 sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json index 230ca4ce3d61..5298d92fe193 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json @@ -1,11 +1,10 @@ { - "commit": "2fd80c47054b7965d7d149dd7fca7e81c18df994", + "apiVersion": "2026-03-01-preview", + "apiVersions": { + "Microsoft.AzureArcData": "2026-03-01-preview" + }, + "commit": "6fd6a95eedff621147c1c8f996e50f02f16927c5", "repository_url": "https://github.com/Azure/azure-rest-api-specs", - "autorest": "3.10.2", - "use": [ - "@autorest/python@6.50.0", - "@autorest/modelerfour@4.27.0" - ], - "autorest_command": "autorest specification/azurearcdata/resource-manager/readme.md --generate-sample=True --generate-test=True --include-x-ms-examples-original-file=True --package-mode=azure-mgmt --python --python-sdks-folder=/home/v-chenjiang/spec/worktrees/sdk-azure-mgmt-azurearcdata/sdk --use=@autorest/python@6.50.0 --use=@autorest/modelerfour@4.27.0 --version=3.10.2 --version-tolerant=False", - "readme": "specification/azurearcdata/resource-manager/readme.md" + "typespec_src": "specification/azurearcdata/AzureArcData.Management", + "emitterVersion": "0.61.2" } \ No newline at end of file diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json index 05748c671ea0..bdab63e67767 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json @@ -1,405 +1,390 @@ { - "CrossLanguagePackageId": null, + "CrossLanguagePackageId": "Microsoft.AzureArcData", "CrossLanguageDefinitionId": { - "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDNSDetails": null, - "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDomainDetails": null, - "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorListResult": null, - "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorProperties": null, - "azure.mgmt.azurearcdata.models.Resource": null, - "azure.mgmt.azurearcdata.models.ProxyResource": null, - "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource": null, - "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorSpec": null, - "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorStatus": null, - "azure.mgmt.azurearcdata.models.ActiveDirectoryDomainController": null, - "azure.mgmt.azurearcdata.models.ActiveDirectoryDomainControllers": null, - "azure.mgmt.azurearcdata.models.ActiveDirectoryInformation": null, - "azure.mgmt.azurearcdata.models.AdditionalMigrationJobAttributes": null, - "azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityGroupListResult": null, - "azure.mgmt.azurearcdata.models.ArcSqlServerDatabaseListResult": null, - "azure.mgmt.azurearcdata.models.Authentication": null, - "azure.mgmt.azurearcdata.models.AvailabilityGroupConfigure": null, - "azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration": null, - "azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateReplicaConfiguration": null, - "azure.mgmt.azurearcdata.models.AvailabilityGroupInfo": null, - "azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters": null, - "azure.mgmt.azurearcdata.models.AvailabilityGroupState": null, - "azure.mgmt.azurearcdata.models.BackgroundJob": null, - "azure.mgmt.azurearcdata.models.BackupPolicy": null, - "azure.mgmt.azurearcdata.models.BasicLoginInformation": null, - "azure.mgmt.azurearcdata.models.BestPracticesAssessment": null, - "azure.mgmt.azurearcdata.models.ClientConnection": null, - "azure.mgmt.azurearcdata.models.CommonSku": null, - "azure.mgmt.azurearcdata.models.CostOptionSelectedValues": null, - "azure.mgmt.azurearcdata.models.CostTypeValues": null, - "azure.mgmt.azurearcdata.models.CronTrigger": null, - "azure.mgmt.azurearcdata.models.DatabaseAssessmentsItem": null, - "azure.mgmt.azurearcdata.models.DataBaseMigration": null, - "azure.mgmt.azurearcdata.models.DataBaseMigrationAssessment": null, - "azure.mgmt.azurearcdata.models.DatabaseMigrationJobsItem": null, - "azure.mgmt.azurearcdata.models.Databases": null, - "azure.mgmt.azurearcdata.models.DataControllerProperties": null, - "azure.mgmt.azurearcdata.models.TrackedResource": null, - "azure.mgmt.azurearcdata.models.DataControllerResource": null, - "azure.mgmt.azurearcdata.models.DataControllerUpdate": null, - "azure.mgmt.azurearcdata.models.DBMEndpoint": null, - "azure.mgmt.azurearcdata.models.DiskSizes": null, - "azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration": null, - "azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration": null, - "azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration": null, - "azure.mgmt.azurearcdata.models.EntraAuthentication": null, - "azure.mgmt.azurearcdata.models.ErrorAdditionalInfo": null, - "azure.mgmt.azurearcdata.models.ErrorDetail": null, - "azure.mgmt.azurearcdata.models.ErrorResponse": null, - "azure.mgmt.azurearcdata.models.ExtendedLocation": null, - "azure.mgmt.azurearcdata.models.FailoverCluster": null, - "azure.mgmt.azurearcdata.models.FailoverGroupListResult": null, - "azure.mgmt.azurearcdata.models.FailoverGroupProperties": null, - "azure.mgmt.azurearcdata.models.FailoverGroupResource": null, - "azure.mgmt.azurearcdata.models.FailoverGroupSpec": null, - "azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId": null, - "azure.mgmt.azurearcdata.models.HostIPAddressInformation": null, - "azure.mgmt.azurearcdata.models.ImpactedObjectsInfo": null, - "azure.mgmt.azurearcdata.models.ImpactedObjectsSuitabilitySummary": null, - "azure.mgmt.azurearcdata.models.K8SActiveDirectory": null, - "azure.mgmt.azurearcdata.models.K8SActiveDirectoryConnector": null, - "azure.mgmt.azurearcdata.models.K8SNetworkSettings": null, - "azure.mgmt.azurearcdata.models.K8SResourceRequirements": null, - "azure.mgmt.azurearcdata.models.K8SScheduling": null, - "azure.mgmt.azurearcdata.models.K8SSchedulingOptions": null, - "azure.mgmt.azurearcdata.models.K8SSecurity": null, - "azure.mgmt.azurearcdata.models.K8SSettings": null, - "azure.mgmt.azurearcdata.models.K8StransparentDataEncryption": null, - "azure.mgmt.azurearcdata.models.KeytabInformation": null, - "azure.mgmt.azurearcdata.models.LogAnalyticsWorkspaceConfig": null, - "azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration": null, - "azure.mgmt.azurearcdata.models.Migration": null, - "azure.mgmt.azurearcdata.models.MigrationAssessment": null, - "azure.mgmt.azurearcdata.models.MigrationAssessmentSettings": null, - "azure.mgmt.azurearcdata.models.MiLinkCreateUpdateConfiguration": null, - "azure.mgmt.azurearcdata.models.Monitoring": null, - "azure.mgmt.azurearcdata.models.OnPremiseProperty": null, - "azure.mgmt.azurearcdata.models.Operation": null, - "azure.mgmt.azurearcdata.models.OperationDisplay": null, - "azure.mgmt.azurearcdata.models.OperationListResult": null, - "azure.mgmt.azurearcdata.models.PageOfDataControllerResource": null, - "azure.mgmt.azurearcdata.models.PostgresInstance": null, - "azure.mgmt.azurearcdata.models.PostgresInstanceListResult": null, - "azure.mgmt.azurearcdata.models.PostgresInstanceProperties": null, - "azure.mgmt.azurearcdata.models.PostgresInstanceSku": null, - "azure.mgmt.azurearcdata.models.PostgresInstanceUpdate": null, - "azure.mgmt.azurearcdata.models.ResourceAutoGenerated": null, - "azure.mgmt.azurearcdata.models.Schedule": null, - "azure.mgmt.azurearcdata.models.SequencerAction": null, - "azure.mgmt.azurearcdata.models.ServerAssessmentsItem": null, - "azure.mgmt.azurearcdata.models.ServerAssessmentsPropertiesItemsItem": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResults": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabase": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSku": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstance": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachine": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationSummary": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSku": null, - "azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSkuCategory": null, - "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupDatabaseReplicaResourceProperties": null, - "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupDhcpListenerProperties": null, - "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem": null, - "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupReplicaResourceProperties": null, - "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties": null, - "azure.mgmt.azurearcdata.models.SqlManagedInstance": null, - "azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SRaw": null, - "azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SSpec": null, - "azure.mgmt.azurearcdata.models.SqlManagedInstanceListResult": null, - "azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties": null, - "azure.mgmt.azurearcdata.models.SqlManagedInstanceSku": null, - "azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate": null, - "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource": null, - "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties": null, - "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesDatabases": null, - "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesReplicas": null, - "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate": null, - "azure.mgmt.azurearcdata.models.SqlServerDatabaseResource": null, - "azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties": null, - "azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesBackupInformation": null, - "azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesDatabaseOptions": null, - "azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate": null, - "azure.mgmt.azurearcdata.models.TrackedResourceAutoGenerated": null, - "azure.mgmt.azurearcdata.models.SqlServerEsuLicense": null, - "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseListResult": null, - "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseProperties": null, - "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate": null, - "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdateProperties": null, - "azure.mgmt.azurearcdata.models.SqlServerInstance": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumn": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceJob": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceJobStatus": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceListResult": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessment": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceMigrationReadinessReportResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceProperties": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationAssessmentResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationReadinessAssessmentResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReport": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSection": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumn": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryResponse": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceUpdateProperties": null, - "azure.mgmt.azurearcdata.models.SqlServerLicense": null, - "azure.mgmt.azurearcdata.models.SqlServerLicenseListResult": null, - "azure.mgmt.azurearcdata.models.SqlServerLicenseProperties": null, - "azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate": null, - "azure.mgmt.azurearcdata.models.SqlServerLicenseUpdateProperties": null, - "azure.mgmt.azurearcdata.models.SystemData": null, - "azure.mgmt.azurearcdata.models.TargetReadiness": null, - "azure.mgmt.azurearcdata.models.UploadServicePrincipal": null, - "azure.mgmt.azurearcdata.models.UploadWatermark": null, - "azure.mgmt.azurearcdata.models.OperationOrigin": null, - "azure.mgmt.azurearcdata.models.CreatedByType": null, - "azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType": null, - "azure.mgmt.azurearcdata.models.ExtendedLocationTypes": null, - "azure.mgmt.azurearcdata.models.SqlManagedInstanceSkuTier": null, - "azure.mgmt.azurearcdata.models.ProvisioningState": null, - "azure.mgmt.azurearcdata.models.FailoverGroupPartnerSyncMode": null, - "azure.mgmt.azurearcdata.models.InstanceFailoverGroupRole": null, - "azure.mgmt.azurearcdata.models.IdentityType": null, - "azure.mgmt.azurearcdata.models.SqlVersion": null, - "azure.mgmt.azurearcdata.models.EditionType": null, - "azure.mgmt.azurearcdata.models.ConnectionStatus": null, - "azure.mgmt.azurearcdata.models.DiscoverySource": null, - "azure.mgmt.azurearcdata.models.ArcSqlServerLicenseType": null, - "azure.mgmt.azurearcdata.models.DefenderStatus": null, - "azure.mgmt.azurearcdata.models.HostType": null, - "azure.mgmt.azurearcdata.models.AlwaysOnRole": null, - "azure.mgmt.azurearcdata.models.Role": null, - "azure.mgmt.azurearcdata.models.EncryptionAlgorithm": null, - "azure.mgmt.azurearcdata.models.ConnectionAuth": null, - "azure.mgmt.azurearcdata.models.DifferentialBackupHours": null, - "azure.mgmt.azurearcdata.models.RecommendationStatus": null, - "azure.mgmt.azurearcdata.models.ServiceType": null, - "azure.mgmt.azurearcdata.models.Mode": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumnType": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumnType": null, - "azure.mgmt.azurearcdata.models.SequencerState": null, - "azure.mgmt.azurearcdata.models.Result": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType": null, - "azure.mgmt.azurearcdata.models.JobStatus": null, - "azure.mgmt.azurearcdata.models.State": null, - "azure.mgmt.azurearcdata.models.ExecutionState": null, - "azure.mgmt.azurearcdata.models.LastExecutionStatus": null, - "azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory": null, - "azure.mgmt.azurearcdata.models.AssessmentStatus": null, - "azure.mgmt.azurearcdata.models.BillingPlan": null, - "azure.mgmt.azurearcdata.models.LicenseCategory": null, - "azure.mgmt.azurearcdata.models.ActivationState": null, - "azure.mgmt.azurearcdata.models.ScopeType": null, - "azure.mgmt.azurearcdata.models.Infrastructure": null, - "azure.mgmt.azurearcdata.models.AccountProvisioningMode": null, - "azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode": null, - "azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode": null, - "azure.mgmt.azurearcdata.models.PrimaryAllowConnections": null, - "azure.mgmt.azurearcdata.models.SecondaryAllowConnections": null, - "azure.mgmt.azurearcdata.models.SeedingMode": null, - "azure.mgmt.azurearcdata.models.ReplicationPartnerType": null, - "azure.mgmt.azurearcdata.models.MigrationMode": null, - "azure.mgmt.azurearcdata.models.InitiatedFrom": null, - "azure.mgmt.azurearcdata.models.MigrationStatus": null, - "azure.mgmt.azurearcdata.models.TargetType": null, - "azure.mgmt.azurearcdata.models.DatabaseState": null, - "azure.mgmt.azurearcdata.models.RecoveryMode": null, - "azure.mgmt.azurearcdata.models.DatabaseCreateMode": null, - "azure.mgmt.azurearcdata.models.Version": null, - "azure.mgmt.azurearcdata.models.AggregationType": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaReportType": null, - "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaQueryType": null, - "azure.mgmt.azurearcdata.models.ResourceUpdateMode": null, - "azure.mgmt.azurearcdata.models.AzureManagedInstanceRole": null, - "azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityGroupTypeFilter": null, - "azure.mgmt.azurearcdata.models.AutomatedBackupPreference": null, - "azure.mgmt.azurearcdata.models.FailureConditionLevel": null, - "azure.mgmt.azurearcdata.models.DbFailover": null, - "azure.mgmt.azurearcdata.models.DtcSupport": null, - "azure.mgmt.azurearcdata.models.ClusterType": null, - "azure.mgmt.azurearcdata.operations.Operations.list": null, - "azure.mgmt.azurearcdata.aio.operations.Operations.list": null, - "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.list": null, - "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.list": null, - "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.list_by_resource_group": null, - "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.list_by_resource_group": null, - "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.get": null, - "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.get": null, - "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.begin_create": null, - "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.begin_create": null, - "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.begin_delete": null, - "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.begin_delete": null, - "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.update": null, - "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.update": null, - "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.list": null, - "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.list": null, - "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.begin_create": null, - "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.begin_create": null, - "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.begin_delete": null, - "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.begin_delete": null, - "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.get": null, - "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.get": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.list": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.list": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.list_by_resource_group": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.list_by_resource_group": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.get": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.get": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_create": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_create": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_delete": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_delete": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_update": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_update": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_telemetry": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_telemetry": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_best_practices_assessment": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_best_practices_assessment": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.run_migration_assessment": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.run_migration_assessment": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_target_recommendation_job": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_target_recommendation_job": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_target_recommendation_reports": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_target_recommendation_reports": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_migration_readiness_report": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_migration_readiness_report": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.run_best_practices_assessment": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.run_best_practices_assessment": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_best_practice_assessment": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_best_practice_assessment": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_migration_readiness_assessment": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_migration_readiness_assessment": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.get_jobs_status": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.get_jobs_status": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_jobs": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_jobs": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.pre_upgrade": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.pre_upgrade": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.post_upgrade": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.post_upgrade": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_managed_instance_link_assessment": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_managed_instance_link_assessment": null, - "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.get_all_availability_groups": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.get_all_availability_groups": null, - "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.list": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.list": null, - "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.list_by_resource_group": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.list_by_resource_group": null, - "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.get": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.get": null, - "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.create": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.create": null, - "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.delete": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.delete": null, - "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.update": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.update": null, - "azure.mgmt.azurearcdata.operations.DataControllersOperations.list_in_subscription": null, - "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.list_in_subscription": null, - "azure.mgmt.azurearcdata.operations.DataControllersOperations.list_in_group": null, - "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.list_in_group": null, - "azure.mgmt.azurearcdata.operations.DataControllersOperations.begin_put_data_controller": null, - "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.begin_put_data_controller": null, - "azure.mgmt.azurearcdata.operations.DataControllersOperations.begin_delete_data_controller": null, - "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.begin_delete_data_controller": null, - "azure.mgmt.azurearcdata.operations.DataControllersOperations.get_data_controller": null, - "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.get_data_controller": null, - "azure.mgmt.azurearcdata.operations.DataControllersOperations.begin_patch_data_controller": null, - "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.begin_patch_data_controller": null, - "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.list": null, - "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.list": null, - "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.begin_create": null, - "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.begin_create": null, - "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.begin_delete": null, - "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.begin_delete": null, - "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.get": null, - "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.get": null, - "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.list": null, - "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.list": null, - "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.list_by_resource_group": null, - "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.list_by_resource_group": null, - "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.get": null, - "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.get": null, - "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.begin_create": null, - "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.begin_create": null, - "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.begin_delete": null, - "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.begin_delete": null, - "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.update": null, - "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.update": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.create": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.create": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_delete": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_delete": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.get": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.get": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_update": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_update": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.detail_view": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.detail_view": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.failover": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.failover": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.force_failover_allow_data_loss": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.force_failover_allow_data_loss": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_create_availability_group": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_create_availability_group": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_create_distributed_availability_group": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_create_distributed_availability_group": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_create_managed_instance_link": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_create_managed_instance_link": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.add_databases": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.add_databases": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_failover_mi_link": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_failover_mi_link": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_delete_mi_link": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_delete_mi_link": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.remove_databases": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.remove_databases": null, - "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.list": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.list": null, - "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.create": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.create": null, - "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.begin_delete": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.begin_delete": null, - "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.get": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.get": null, - "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.begin_update": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.begin_update": null, - "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.list": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.list": null, - "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.list": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.list": null, - "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.list_by_resource_group": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.list_by_resource_group": null, - "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.get": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.get": null, - "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.create": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.create": null, - "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.delete": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.delete": null, - "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.update": null, - "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.update": null + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDNSDetails": "Microsoft.AzureArcData.ActiveDirectoryConnectorDNSDetails", + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDomainDetails": "Microsoft.AzureArcData.ActiveDirectoryConnectorDomainDetails", + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorProperties": "Microsoft.AzureArcData.ActiveDirectoryConnectorProperties", + "azure.mgmt.azurearcdata.models.Resource": "Azure.ResourceManager.CommonTypes.Resource", + "azure.mgmt.azurearcdata.models.ProxyResource": "Azure.ResourceManager.CommonTypes.ProxyResource", + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource": "Microsoft.AzureArcData.ActiveDirectoryConnectorResource", + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorSpec": "Microsoft.AzureArcData.ActiveDirectoryConnectorSpec", + "azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorStatus": "Microsoft.AzureArcData.ActiveDirectoryConnectorStatus", + "azure.mgmt.azurearcdata.models.ActiveDirectoryDomainController": "Microsoft.AzureArcData.ActiveDirectoryDomainController", + "azure.mgmt.azurearcdata.models.ActiveDirectoryDomainControllers": "Microsoft.AzureArcData.ActiveDirectoryDomainControllers", + "azure.mgmt.azurearcdata.models.ActiveDirectoryInformation": "Microsoft.AzureArcData.ActiveDirectoryInformation", + "azure.mgmt.azurearcdata.models.AdditionalMigrationJobAttributes": "Microsoft.AzureArcData.AdditionalMigrationJobAttributes", + "azure.mgmt.azurearcdata.models.Authentication": "Microsoft.AzureArcData.Authentication", + "azure.mgmt.azurearcdata.models.AvailabilityGroupConfigure": "Microsoft.AzureArcData.AvailabilityGroupConfigure", + "azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration": "Microsoft.AzureArcData.AvailabilityGroupCreateUpdateConfiguration", + "azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateReplicaConfiguration": "Microsoft.AzureArcData.AvailabilityGroupCreateUpdateReplicaConfiguration", + "azure.mgmt.azurearcdata.models.AvailabilityGroupInfo": "Microsoft.AzureArcData.AvailabilityGroupInfo", + "azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters": "Microsoft.AzureArcData.AvailabilityGroupRetrievalFilters", + "azure.mgmt.azurearcdata.models.AvailabilityGroupState": "Microsoft.AzureArcData.AvailabilityGroupState", + "azure.mgmt.azurearcdata.models.BackgroundJob": "Microsoft.AzureArcData.BackgroundJob", + "azure.mgmt.azurearcdata.models.BackupPolicy": "Microsoft.AzureArcData.BackupPolicy", + "azure.mgmt.azurearcdata.models.BasicLoginInformation": "Microsoft.AzureArcData.BasicLoginInformation", + "azure.mgmt.azurearcdata.models.BestPracticesAssessment": "Microsoft.AzureArcData.BestPracticesAssessment", + "azure.mgmt.azurearcdata.models.ClientConnection": "Microsoft.AzureArcData.ClientConnection", + "azure.mgmt.azurearcdata.models.CommonSku": "Microsoft.AzureArcData.CommonSku", + "azure.mgmt.azurearcdata.models.CostOptionSelectedValues": "Microsoft.AzureArcData.CostOptionSelectedValues", + "azure.mgmt.azurearcdata.models.CostTypeValues": "Microsoft.AzureArcData.CostTypeValues", + "azure.mgmt.azurearcdata.models.CronTrigger": "Microsoft.AzureArcData.CronTrigger", + "azure.mgmt.azurearcdata.models.DatabaseAssessmentsItem": "Microsoft.AzureArcData.DatabaseAssessmentsItem", + "azure.mgmt.azurearcdata.models.DataBaseMigration": "Microsoft.AzureArcData.DataBaseMigration", + "azure.mgmt.azurearcdata.models.DataBaseMigrationAssessment": "Microsoft.AzureArcData.DataBaseMigrationAssessment", + "azure.mgmt.azurearcdata.models.DatabaseMigrationJobsItem": "Microsoft.AzureArcData.DatabaseMigrationJobsItem", + "azure.mgmt.azurearcdata.models.Databases": "Microsoft.AzureArcData.databases", + "azure.mgmt.azurearcdata.models.DataControllerProperties": "Microsoft.AzureArcData.DataControllerProperties", + "azure.mgmt.azurearcdata.models.TrackedResource": "Azure.ResourceManager.CommonTypes.TrackedResource", + "azure.mgmt.azurearcdata.models.DataControllerResource": "Microsoft.AzureArcData.DataControllerResource", + "azure.mgmt.azurearcdata.models.DataControllerUpdate": "Microsoft.AzureArcData.DataControllerUpdate", + "azure.mgmt.azurearcdata.models.DBMEndpoint": "Microsoft.AzureArcData.DBMEndpoint", + "azure.mgmt.azurearcdata.models.DiskSizes": "Microsoft.AzureArcData.DiskSizes", + "azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration": "Microsoft.AzureArcData.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration", + "azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration": "Microsoft.AzureArcData.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration", + "azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration": "Microsoft.AzureArcData.DistributedAvailabilityGroupCreateUpdateConfiguration", + "azure.mgmt.azurearcdata.models.EntraAuthentication": "Microsoft.AzureArcData.EntraAuthentication", + "azure.mgmt.azurearcdata.models.ErrorAdditionalInfo": "Azure.ResourceManager.CommonTypes.ErrorAdditionalInfo", + "azure.mgmt.azurearcdata.models.ErrorDetail": "Azure.ResourceManager.CommonTypes.ErrorDetail", + "azure.mgmt.azurearcdata.models.ErrorResponse": "Azure.ResourceManager.CommonTypes.ErrorResponse", + "azure.mgmt.azurearcdata.models.ExtendedLocation": "Microsoft.AzureArcData.ExtendedLocation", + "azure.mgmt.azurearcdata.models.FailoverCluster": "Microsoft.AzureArcData.FailoverCluster", + "azure.mgmt.azurearcdata.models.FailoverGroupProperties": "Microsoft.AzureArcData.FailoverGroupProperties", + "azure.mgmt.azurearcdata.models.FailoverGroupResource": "Microsoft.AzureArcData.FailoverGroupResource", + "azure.mgmt.azurearcdata.models.FailoverGroupSpec": "Microsoft.AzureArcData.FailoverGroupSpec", + "azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId": "Microsoft.AzureArcData.FailoverMiLinkResourceId", + "azure.mgmt.azurearcdata.models.HostIPAddressInformation": "Microsoft.AzureArcData.hostIPAddressInformation", + "azure.mgmt.azurearcdata.models.ImpactedObjectsInfo": "Microsoft.AzureArcData.ImpactedObjectsInfo", + "azure.mgmt.azurearcdata.models.ImpactedObjectsSuitabilitySummary": "Microsoft.AzureArcData.ImpactedObjectsSuitabilitySummary", + "azure.mgmt.azurearcdata.models.K8sActiveDirectory": "Microsoft.AzureArcData.K8sActiveDirectory", + "azure.mgmt.azurearcdata.models.K8sActiveDirectoryConnector": "Microsoft.AzureArcData.K8sActiveDirectoryConnector", + "azure.mgmt.azurearcdata.models.K8sNetworkSettings": "Microsoft.AzureArcData.K8sNetworkSettings", + "azure.mgmt.azurearcdata.models.K8sResourceRequirements": "Microsoft.AzureArcData.K8sResourceRequirements", + "azure.mgmt.azurearcdata.models.K8sScheduling": "Microsoft.AzureArcData.K8sScheduling", + "azure.mgmt.azurearcdata.models.K8sSchedulingOptions": "Microsoft.AzureArcData.K8sSchedulingOptions", + "azure.mgmt.azurearcdata.models.K8sSecurity": "Microsoft.AzureArcData.K8sSecurity", + "azure.mgmt.azurearcdata.models.K8sSettings": "Microsoft.AzureArcData.K8sSettings", + "azure.mgmt.azurearcdata.models.K8stransparentDataEncryption": "Microsoft.AzureArcData.k8stransparentDataEncryption", + "azure.mgmt.azurearcdata.models.KeytabInformation": "Microsoft.AzureArcData.KeytabInformation", + "azure.mgmt.azurearcdata.models.LogAnalyticsWorkspaceConfig": "Microsoft.AzureArcData.LogAnalyticsWorkspaceConfig", + "azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration": "Microsoft.AzureArcData.ManagedInstanceLinkCreateUpdateConfiguration", + "azure.mgmt.azurearcdata.models.Migration": "Microsoft.AzureArcData.Migration", + "azure.mgmt.azurearcdata.models.MigrationAssessment": "Microsoft.AzureArcData.MigrationAssessment", + "azure.mgmt.azurearcdata.models.MigrationAssessmentSettings": "Microsoft.AzureArcData.MigrationAssessmentSettings", + "azure.mgmt.azurearcdata.models.MiLinkCreateUpdateConfiguration": "Microsoft.AzureArcData.MiLinkCreateUpdateConfiguration", + "azure.mgmt.azurearcdata.models.Monitoring": "Microsoft.AzureArcData.Monitoring", + "azure.mgmt.azurearcdata.models.OnPremiseProperty": "Microsoft.AzureArcData.OnPremiseProperty", + "azure.mgmt.azurearcdata.models.Operation": "Azure.ResourceManager.CommonTypes.Operation", + "azure.mgmt.azurearcdata.models.OperationDisplay": "Azure.ResourceManager.CommonTypes.OperationDisplay", + "azure.mgmt.azurearcdata.models.PostgresInstance": "Microsoft.AzureArcData.PostgresInstance", + "azure.mgmt.azurearcdata.models.PostgresInstanceProperties": "Microsoft.AzureArcData.PostgresInstanceProperties", + "azure.mgmt.azurearcdata.models.PostgresInstanceSku": "Microsoft.AzureArcData.PostgresInstanceSku", + "azure.mgmt.azurearcdata.models.PostgresInstanceUpdate": "Microsoft.AzureArcData.PostgresInstanceUpdate", + "azure.mgmt.azurearcdata.models.Schedule": "Microsoft.AzureArcData.Schedule", + "azure.mgmt.azurearcdata.models.SequencerAction": "Microsoft.AzureArcData.SequencerAction", + "azure.mgmt.azurearcdata.models.ServerAssessmentsItem": "Microsoft.AzureArcData.ServerAssessmentsItem", + "azure.mgmt.azurearcdata.models.ServerAssessmentsPropertiesItemsItem": "Microsoft.AzureArcData.ServerAssessmentsPropertiesItemsItem", + "azure.mgmt.azurearcdata.models.SkuRecommendationResults": "Microsoft.AzureArcData.SkuRecommendationResults", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabase": "Microsoft.AzureArcData.SkuRecommendationResultsAzureSqlDatabase", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSku": "Microsoft.AzureArcData.SkuRecommendationResultsAzureSqlDatabaseTargetSku", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory": "Microsoft.AzureArcData.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstance": "Microsoft.AzureArcData.SkuRecommendationResultsAzureSqlManagedInstance", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku": "Microsoft.AzureArcData.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory": "Microsoft.AzureArcData.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachine": "Microsoft.AzureArcData.SkuRecommendationResultsAzureSqlVirtualMachine", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku": "Microsoft.AzureArcData.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory": "Microsoft.AzureArcData.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize": "Microsoft.AzureArcData.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost": "Microsoft.AzureArcData.SkuRecommendationResultsMonthlyCost", + "azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem": "Microsoft.AzureArcData.SkuRecommendationResultsMonthlyCostOptionItem", + "azure.mgmt.azurearcdata.models.SkuRecommendationSummary": "Microsoft.AzureArcData.SkuRecommendationSummary", + "azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSku": "Microsoft.AzureArcData.SkuRecommendationSummaryTargetSku", + "azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSkuCategory": "Microsoft.AzureArcData.SkuRecommendationSummaryTargetSkuCategory", + "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupDatabaseReplicaResourceProperties": "Microsoft.AzureArcData.SqlAvailabilityGroupDatabaseReplicaResourceProperties", + "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem": "Microsoft.AzureArcData.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem", + "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupReplicaResourceProperties": "Microsoft.AzureArcData.SqlAvailabilityGroupReplicaResourceProperties", + "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties": "Microsoft.AzureArcData.SqlAvailabilityGroupStaticIPListenerProperties", + "azure.mgmt.azurearcdata.models.SqlManagedInstance": "Microsoft.AzureArcData.SqlManagedInstance", + "azure.mgmt.azurearcdata.models.SqlManagedInstanceK8sRaw": "Microsoft.AzureArcData.SqlManagedInstanceK8sRaw", + "azure.mgmt.azurearcdata.models.SqlManagedInstanceK8sSpec": "Microsoft.AzureArcData.SqlManagedInstanceK8sSpec", + "azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties": "Microsoft.AzureArcData.SqlManagedInstanceProperties", + "azure.mgmt.azurearcdata.models.SqlManagedInstanceSku": "Microsoft.AzureArcData.SqlManagedInstanceSku", + "azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate": "Microsoft.AzureArcData.SqlManagedInstanceUpdate", + "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResource", + "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResourceProperties", + "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesDatabases": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResourcePropertiesDatabases", + "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesReplicas": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResourcePropertiesReplicas", + "azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate": "Microsoft.AzureArcData.SqlServerAvailabilityGroupUpdate", + "azure.mgmt.azurearcdata.models.SqlServerDatabaseResource": "Microsoft.AzureArcData.SqlServerDatabaseResource", + "azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties": "Microsoft.AzureArcData.SqlServerDatabaseResourceProperties", + "azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesBackupInformation": "Microsoft.AzureArcData.SqlServerDatabaseResourcePropertiesBackupInformation", + "azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesDatabaseOptions": "Microsoft.AzureArcData.SqlServerDatabaseResourcePropertiesDatabaseOptions", + "azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate": "Microsoft.AzureArcData.SqlServerDatabaseUpdate", + "azure.mgmt.azurearcdata.models.SqlServerEsuLicense": "Microsoft.AzureArcData.SqlServerEsuLicense", + "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseProperties": "Microsoft.AzureArcData.SqlServerEsuLicenseProperties", + "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate": "Microsoft.AzureArcData.SqlServerEsuLicenseUpdate", + "azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdateProperties": "Microsoft.AzureArcData.SqlServerEsuLicenseUpdateProperties", + "azure.mgmt.azurearcdata.models.SqlServerInstance": "Microsoft.AzureArcData.SqlServerInstance", + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumn": "Microsoft.AzureArcData.SqlServerInstanceBpaColumn", + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest": "Microsoft.AzureArcData.SqlServerInstanceBpaRequest", + "azure.mgmt.azurearcdata.models.SqlServerInstanceJob": "Microsoft.AzureArcData.SqlServerInstanceJob", + "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest": "Microsoft.AzureArcData.SqlServerInstanceJobsRequest", + "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse": "Microsoft.AzureArcData.SqlServerInstanceJobsResponse", + "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest": "Microsoft.AzureArcData.SqlServerInstanceJobsStatusRequest", + "azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse": "Microsoft.AzureArcData.SqlServerInstanceJobsStatusResponse", + "azure.mgmt.azurearcdata.models.SqlServerInstanceJobStatus": "Microsoft.AzureArcData.SqlServerInstanceJobStatus", + "azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessment": "Microsoft.AzureArcData.SqlServerInstanceManagedInstanceLinkAssessment", + "azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest": "Microsoft.AzureArcData.SqlServerInstanceManagedInstanceLinkAssessmentRequest", + "azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse": "Microsoft.AzureArcData.SqlServerInstanceManagedInstanceLinkAssessmentResponse", + "azure.mgmt.azurearcdata.models.SqlServerInstanceMigrationReadinessReportResponse": "Microsoft.AzureArcData.SqlServerInstanceMigrationReadinessReportResponse", + "azure.mgmt.azurearcdata.models.SqlServerInstanceProperties": "Microsoft.AzureArcData.SqlServerInstanceProperties", + "azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse": "Microsoft.AzureArcData.SqlServerInstanceRunBestPracticesAssessmentResponse", + "azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationAssessmentResponse": "Microsoft.AzureArcData.SqlServerInstanceRunMigrationAssessmentResponse", + "azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationReadinessAssessmentResponse": "Microsoft.AzureArcData.SqlServerInstanceRunMigrationReadinessAssessmentResponse", + "azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest": "Microsoft.AzureArcData.SqlServerInstanceRunTargetRecommendationJobRequest", + "azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse": "Microsoft.AzureArcData.SqlServerInstanceRunTargetRecommendationJobResponse", + "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReport": "Microsoft.AzureArcData.SqlServerInstanceTargetRecommendationReport", + "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSection": "Microsoft.AzureArcData.SqlServerInstanceTargetRecommendationReportSection", + "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest": "Microsoft.AzureArcData.SqlServerInstanceTargetRecommendationReportsRequest", + "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse": "Microsoft.AzureArcData.SqlServerInstanceTargetRecommendationReportsResponse", + "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumn": "Microsoft.AzureArcData.SqlServerInstanceTelemetryColumn", + "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest": "Microsoft.AzureArcData.SqlServerInstanceTelemetryRequest", + "azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate": "Microsoft.AzureArcData.SqlServerInstanceUpdate", + "azure.mgmt.azurearcdata.models.SqlServerInstanceUpdateProperties": "Microsoft.AzureArcData.SqlServerInstanceUpdateProperties", + "azure.mgmt.azurearcdata.models.SqlServerLicense": "Microsoft.AzureArcData.SqlServerLicense", + "azure.mgmt.azurearcdata.models.SqlServerLicenseProperties": "Microsoft.AzureArcData.SqlServerLicenseProperties", + "azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate": "Microsoft.AzureArcData.SqlServerLicenseUpdate", + "azure.mgmt.azurearcdata.models.SqlServerLicenseUpdateProperties": "Microsoft.AzureArcData.SqlServerLicenseUpdateProperties", + "azure.mgmt.azurearcdata.models.SystemData": "Azure.ResourceManager.CommonTypes.SystemData", + "azure.mgmt.azurearcdata.models.TargetReadiness": "Microsoft.AzureArcData.TargetReadiness", + "azure.mgmt.azurearcdata.models.UploadServicePrincipal": "Microsoft.AzureArcData.UploadServicePrincipal", + "azure.mgmt.azurearcdata.models.UploadWatermark": "Microsoft.AzureArcData.UploadWatermark", + "azure.mgmt.azurearcdata.models.Origin": "Azure.ResourceManager.CommonTypes.Origin", + "azure.mgmt.azurearcdata.models.ActionType": "Azure.ResourceManager.CommonTypes.ActionType", + "azure.mgmt.azurearcdata.models.CreatedByType": "Azure.ResourceManager.CommonTypes.createdByType", + "azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType": "Microsoft.AzureArcData.ArcSqlManagedInstanceLicenseType", + "azure.mgmt.azurearcdata.models.ExtendedLocationTypes": "Microsoft.AzureArcData.ExtendedLocationTypes", + "azure.mgmt.azurearcdata.models.SqlManagedInstanceSkuTier": "Microsoft.AzureArcData.SqlManagedInstanceSkuTier", + "azure.mgmt.azurearcdata.models.SqlVersion": "Microsoft.AzureArcData.SqlVersion", + "azure.mgmt.azurearcdata.models.EditionType": "Microsoft.AzureArcData.EditionType", + "azure.mgmt.azurearcdata.models.ConnectionStatus": "Microsoft.AzureArcData.ConnectionStatus", + "azure.mgmt.azurearcdata.models.DiscoverySource": "Microsoft.AzureArcData.DiscoverySource", + "azure.mgmt.azurearcdata.models.ArcSqlServerLicenseType": "Microsoft.AzureArcData.ArcSqlServerLicenseType", + "azure.mgmt.azurearcdata.models.DefenderStatus": "Microsoft.AzureArcData.DefenderStatus", + "azure.mgmt.azurearcdata.models.HostType": "Microsoft.AzureArcData.HostType", + "azure.mgmt.azurearcdata.models.AlwaysOnRole": "Microsoft.AzureArcData.AlwaysOnRole", + "azure.mgmt.azurearcdata.models.Role": "Microsoft.AzureArcData.Role", + "azure.mgmt.azurearcdata.models.EncryptionAlgorithm": "Microsoft.AzureArcData.EncryptionAlgorithm", + "azure.mgmt.azurearcdata.models.ConnectionAuth": "Microsoft.AzureArcData.ConnectionAuth", + "azure.mgmt.azurearcdata.models.DifferentialBackupHours": "Microsoft.AzureArcData.DifferentialBackupHours", + "azure.mgmt.azurearcdata.models.RecommendationStatus": "Microsoft.AzureArcData.RecommendationStatus", + "azure.mgmt.azurearcdata.models.ServiceType": "Microsoft.AzureArcData.ServiceType", + "azure.mgmt.azurearcdata.models.Mode": "Microsoft.AzureArcData.Mode", + "azure.mgmt.azurearcdata.models.IdentityType": "Microsoft.AzureArcData.IdentityType", + "azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumnType": "Microsoft.AzureArcData.SqlServerInstanceTelemetryColumnType", + "azure.mgmt.azurearcdata.models.AggregationType": "Microsoft.AzureArcData.AggregationType", + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumnType": "Microsoft.AzureArcData.SqlServerInstanceBpaColumnType", + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaReportType": "Microsoft.AzureArcData.SqlServerInstanceBpaReportType", + "azure.mgmt.azurearcdata.models.SqlServerInstanceBpaQueryType": "Microsoft.AzureArcData.SqlServerInstanceBpaQueryType", + "azure.mgmt.azurearcdata.models.JobStatus": "Microsoft.AzureArcData.JobStatus", + "azure.mgmt.azurearcdata.models.State": "Microsoft.AzureArcData.State", + "azure.mgmt.azurearcdata.models.ExecutionState": "Microsoft.AzureArcData.ExecutionState", + "azure.mgmt.azurearcdata.models.LastExecutionStatus": "Microsoft.AzureArcData.LastExecutionStatus", + "azure.mgmt.azurearcdata.models.SequencerState": "Microsoft.AzureArcData.SequencerState", + "azure.mgmt.azurearcdata.models.Result": "Microsoft.AzureArcData.Result", + "azure.mgmt.azurearcdata.models.ResourceUpdateMode": "Microsoft.AzureArcData.ResourceUpdateMode", + "azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType": "Microsoft.AzureArcData.SqlServerInstanceTargetRecommendationReportSectionType", + "azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory": "Microsoft.AzureArcData.MiLinkAssessmentCategory", + "azure.mgmt.azurearcdata.models.AssessmentStatus": "Microsoft.AzureArcData.AssessmentStatus", + "azure.mgmt.azurearcdata.models.AzureManagedInstanceRole": "Microsoft.AzureArcData.AzureManagedInstanceRole", + "azure.mgmt.azurearcdata.models.ReplicationPartnerType": "Microsoft.AzureArcData.ReplicationPartnerType", + "azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode": "Microsoft.AzureArcData.ArcSqlServerAvailabilityMode", + "azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode": "Microsoft.AzureArcData.ArcSqlServerFailoverMode", + "azure.mgmt.azurearcdata.models.PrimaryAllowConnections": "Microsoft.AzureArcData.PrimaryAllowConnections", + "azure.mgmt.azurearcdata.models.SecondaryAllowConnections": "Microsoft.AzureArcData.SecondaryAllowConnections", + "azure.mgmt.azurearcdata.models.SeedingMode": "Microsoft.AzureArcData.SeedingMode", + "azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityGroupTypeFilter": "Microsoft.AzureArcData.ArcSqlServerAvailabilityGroupTypeFilter", + "azure.mgmt.azurearcdata.models.BillingPlan": "Microsoft.AzureArcData.BillingPlan", + "azure.mgmt.azurearcdata.models.LicenseCategory": "Microsoft.AzureArcData.LicenseCategory", + "azure.mgmt.azurearcdata.models.ActivationState": "Microsoft.AzureArcData.ActivationState", + "azure.mgmt.azurearcdata.models.ScopeType": "Microsoft.AzureArcData.ScopeType", + "azure.mgmt.azurearcdata.models.Version": "Microsoft.AzureArcData.Version", + "azure.mgmt.azurearcdata.models.ProvisioningState": "Microsoft.AzureArcData.ProvisioningState", + "azure.mgmt.azurearcdata.models.FailoverGroupPartnerSyncMode": "Microsoft.AzureArcData.FailoverGroupPartnerSyncMode", + "azure.mgmt.azurearcdata.models.InstanceFailoverGroupRole": "Microsoft.AzureArcData.InstanceFailoverGroupRole", + "azure.mgmt.azurearcdata.models.AutomatedBackupPreference": "Microsoft.AzureArcData.AutomatedBackupPreference", + "azure.mgmt.azurearcdata.models.FailureConditionLevel": "Microsoft.AzureArcData.FailureConditionLevel", + "azure.mgmt.azurearcdata.models.DbFailover": "Microsoft.AzureArcData.DbFailover", + "azure.mgmt.azurearcdata.models.DtcSupport": "Microsoft.AzureArcData.DtcSupport", + "azure.mgmt.azurearcdata.models.ClusterType": "Microsoft.AzureArcData.ClusterType", + "azure.mgmt.azurearcdata.models.Infrastructure": "Microsoft.AzureArcData.Infrastructure", + "azure.mgmt.azurearcdata.models.AccountProvisioningMode": "Microsoft.AzureArcData.AccountProvisioningMode", + "azure.mgmt.azurearcdata.models.DatabaseState": "Microsoft.AzureArcData.DatabaseState", + "azure.mgmt.azurearcdata.models.RecoveryMode": "Microsoft.AzureArcData.RecoveryMode", + "azure.mgmt.azurearcdata.models.DatabaseCreateMode": "Microsoft.AzureArcData.DatabaseCreateMode", + "azure.mgmt.azurearcdata.models.MigrationMode": "Microsoft.AzureArcData.MigrationMode", + "azure.mgmt.azurearcdata.models.InitiatedFrom": "Microsoft.AzureArcData.InitiatedFrom", + "azure.mgmt.azurearcdata.models.MigrationStatus": "Microsoft.AzureArcData.MigrationStatus", + "azure.mgmt.azurearcdata.models.TargetType": "Microsoft.AzureArcData.TargetType", + "azure.mgmt.azurearcdata.operations.Operations.list": "Azure.ResourceManager.Operations.list", + "azure.mgmt.azurearcdata.aio.operations.Operations.list": "Azure.ResourceManager.Operations.list", + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.get": "Microsoft.AzureArcData.SqlManagedInstances.get", + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.get": "Microsoft.AzureArcData.SqlManagedInstances.get", + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.begin_create": "Microsoft.AzureArcData.SqlManagedInstances.create", + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.begin_create": "Microsoft.AzureArcData.SqlManagedInstances.create", + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.update": "Microsoft.AzureArcData.SqlManagedInstances.update", + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.update": "Microsoft.AzureArcData.SqlManagedInstances.update", + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.begin_delete": "Microsoft.AzureArcData.SqlManagedInstances.delete", + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.begin_delete": "Microsoft.AzureArcData.SqlManagedInstances.delete", + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.list_by_resource_group": "Microsoft.AzureArcData.SqlManagedInstances.listByResourceGroup", + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.list_by_resource_group": "Microsoft.AzureArcData.SqlManagedInstances.listByResourceGroup", + "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.list": "Microsoft.AzureArcData.SqlManagedInstances.list", + "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.list": "Microsoft.AzureArcData.SqlManagedInstances.list", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.get": "Microsoft.AzureArcData.SqlServerInstances.get", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.get": "Microsoft.AzureArcData.SqlServerInstances.get", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_create": "Microsoft.AzureArcData.SqlServerInstances.create", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_create": "Microsoft.AzureArcData.SqlServerInstances.create", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_update": "Microsoft.AzureArcData.SqlServerInstances.update", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_update": "Microsoft.AzureArcData.SqlServerInstances.update", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_delete": "Microsoft.AzureArcData.SqlServerInstances.delete", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_delete": "Microsoft.AzureArcData.SqlServerInstances.delete", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.list_by_resource_group": "Microsoft.AzureArcData.SqlServerInstances.listByResourceGroup", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.list_by_resource_group": "Microsoft.AzureArcData.SqlServerInstances.listByResourceGroup", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.list": "Microsoft.AzureArcData.SqlServerInstances.list", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.list": "Microsoft.AzureArcData.SqlServerInstances.list", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_telemetry": "Microsoft.AzureArcData.SqlServerInstances.getTelemetry", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_telemetry": "Microsoft.AzureArcData.SqlServerInstances.getTelemetry", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_best_practices_assessment": "Microsoft.AzureArcData.SqlServerInstances.getBestPracticesAssessment", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_best_practices_assessment": "Microsoft.AzureArcData.SqlServerInstances.getBestPracticesAssessment", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.run_migration_assessment": "Microsoft.AzureArcData.SqlServerInstances.runMigrationAssessment", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.run_migration_assessment": "Microsoft.AzureArcData.SqlServerInstances.runMigrationAssessment", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_target_recommendation_job": "Microsoft.AzureArcData.SqlServerInstances.runTargetRecommendationJob", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_target_recommendation_job": "Microsoft.AzureArcData.SqlServerInstances.runTargetRecommendationJob", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_target_recommendation_reports": "Microsoft.AzureArcData.SqlServerInstances.getTargetRecommendationReports", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_target_recommendation_reports": "Microsoft.AzureArcData.SqlServerInstances.getTargetRecommendationReports", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_migration_readiness_report": "Microsoft.AzureArcData.SqlServerInstances.getMigrationReadinessReport", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_migration_readiness_report": "Microsoft.AzureArcData.SqlServerInstances.getMigrationReadinessReport", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.run_best_practices_assessment": "Microsoft.AzureArcData.SqlServerInstances.runBestPracticesAssessment", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.run_best_practices_assessment": "Microsoft.AzureArcData.SqlServerInstances.runBestPracticesAssessment", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_best_practice_assessment": "Microsoft.AzureArcData.SqlServerInstances.runBestPracticeAssessment", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_best_practice_assessment": "Microsoft.AzureArcData.SqlServerInstances.runBestPracticeAssessment", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_migration_readiness_assessment": "Microsoft.AzureArcData.SqlServerInstances.runMigrationReadinessAssessment", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_migration_readiness_assessment": "Microsoft.AzureArcData.SqlServerInstances.runMigrationReadinessAssessment", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.get_jobs_status": "Microsoft.AzureArcData.SqlServerInstances.getJobsStatus", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.get_jobs_status": "Microsoft.AzureArcData.SqlServerInstances.getJobsStatus", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_get_jobs": "Microsoft.AzureArcData.SqlServerInstances.getJobs", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_get_jobs": "Microsoft.AzureArcData.SqlServerInstances.getJobs", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.pre_upgrade": "Microsoft.AzureArcData.SqlServerInstances.preUpgrade", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.pre_upgrade": "Microsoft.AzureArcData.SqlServerInstances.preUpgrade", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.post_upgrade": "Microsoft.AzureArcData.SqlServerInstances.postUpgrade", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.post_upgrade": "Microsoft.AzureArcData.SqlServerInstances.postUpgrade", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.begin_run_managed_instance_link_assessment": "Microsoft.AzureArcData.SqlServerInstances.runManagedInstanceLinkAssessment", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.begin_run_managed_instance_link_assessment": "Microsoft.AzureArcData.SqlServerInstances.runManagedInstanceLinkAssessment", + "azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations.get_all_availability_groups": "Microsoft.AzureArcData.SqlServerInstances.getAllAvailabilityGroups", + "azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations.get_all_availability_groups": "Microsoft.AzureArcData.SqlServerInstances.getAllAvailabilityGroups", + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.get": "Microsoft.AzureArcData.SqlServerLicenses.get", + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.get": "Microsoft.AzureArcData.SqlServerLicenses.get", + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.create": "Microsoft.AzureArcData.SqlServerLicenses.create", + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.create": "Microsoft.AzureArcData.SqlServerLicenses.create", + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.update": "Microsoft.AzureArcData.SqlServerLicenses.update", + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.update": "Microsoft.AzureArcData.SqlServerLicenses.update", + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.delete": "Microsoft.AzureArcData.SqlServerLicenses.delete", + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.delete": "Microsoft.AzureArcData.SqlServerLicenses.delete", + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.list_by_resource_group": "Microsoft.AzureArcData.SqlServerLicenses.listByResourceGroup", + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.list_by_resource_group": "Microsoft.AzureArcData.SqlServerLicenses.listByResourceGroup", + "azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations.list": "Microsoft.AzureArcData.SqlServerLicenses.list", + "azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations.list": "Microsoft.AzureArcData.SqlServerLicenses.list", + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.get": "Microsoft.AzureArcData.PostgresInstances.get", + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.get": "Microsoft.AzureArcData.PostgresInstances.get", + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.begin_create": "Microsoft.AzureArcData.PostgresInstances.create", + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.begin_create": "Microsoft.AzureArcData.PostgresInstances.create", + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.update": "Microsoft.AzureArcData.PostgresInstances.update", + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.update": "Microsoft.AzureArcData.PostgresInstances.update", + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.begin_delete": "Microsoft.AzureArcData.PostgresInstances.delete", + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.begin_delete": "Microsoft.AzureArcData.PostgresInstances.delete", + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.list_by_resource_group": "Microsoft.AzureArcData.PostgresInstances.listByResourceGroup", + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.list_by_resource_group": "Microsoft.AzureArcData.PostgresInstances.listByResourceGroup", + "azure.mgmt.azurearcdata.operations.PostgresInstancesOperations.list": "Microsoft.AzureArcData.PostgresInstances.list", + "azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations.list": "Microsoft.AzureArcData.PostgresInstances.list", + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.get": "Microsoft.AzureArcData.SqlServerEsuLicenses.get", + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.get": "Microsoft.AzureArcData.SqlServerEsuLicenses.get", + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.create": "Microsoft.AzureArcData.SqlServerEsuLicenses.create", + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.create": "Microsoft.AzureArcData.SqlServerEsuLicenses.create", + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.update": "Microsoft.AzureArcData.SqlServerEsuLicenses.update", + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.update": "Microsoft.AzureArcData.SqlServerEsuLicenses.update", + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.delete": "Microsoft.AzureArcData.SqlServerEsuLicenses.delete", + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.delete": "Microsoft.AzureArcData.SqlServerEsuLicenses.delete", + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.list_by_resource_group": "Microsoft.AzureArcData.SqlServerEsuLicenses.listByResourceGroup", + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.list_by_resource_group": "Microsoft.AzureArcData.SqlServerEsuLicenses.listByResourceGroup", + "azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations.list": "Microsoft.AzureArcData.SqlServerEsuLicenses.list", + "azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations.list": "Microsoft.AzureArcData.SqlServerEsuLicenses.list", + "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.get": "Microsoft.AzureArcData.FailoverGroupResources.get", + "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.get": "Microsoft.AzureArcData.FailoverGroupResources.get", + "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.begin_create": "Microsoft.AzureArcData.FailoverGroupResources.create", + "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.begin_create": "Microsoft.AzureArcData.FailoverGroupResources.create", + "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.begin_delete": "Microsoft.AzureArcData.FailoverGroupResources.delete", + "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.begin_delete": "Microsoft.AzureArcData.FailoverGroupResources.delete", + "azure.mgmt.azurearcdata.operations.FailoverGroupsOperations.list": "Microsoft.AzureArcData.FailoverGroupResources.list", + "azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations.list": "Microsoft.AzureArcData.FailoverGroupResources.list", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_create_availability_group": "Microsoft.AzureArcData.SqlServerInstances.createAvailabilityGroup", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_create_availability_group": "Microsoft.AzureArcData.SqlServerInstances.createAvailabilityGroup", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_create_distributed_availability_group": "Microsoft.AzureArcData.SqlServerInstances.createDistributedAvailabilityGroup", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_create_distributed_availability_group": "Microsoft.AzureArcData.SqlServerInstances.createDistributedAvailabilityGroup", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_create_managed_instance_link": "Microsoft.AzureArcData.SqlServerInstances.createManagedInstanceLink", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_create_managed_instance_link": "Microsoft.AzureArcData.SqlServerInstances.createManagedInstanceLink", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.get": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.get", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.get": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.get", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.create": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.create", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.create": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.create", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_update": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.update", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_update": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.update", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_delete": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.delete", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_delete": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.delete", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.list": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.list", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.list": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.list", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.detail_view": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.detailView", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.detail_view": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.detailView", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.failover": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.failover", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.failover": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.failover", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.force_failover_allow_data_loss": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.forceFailoverAllowDataLoss", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.force_failover_allow_data_loss": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.forceFailoverAllowDataLoss", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.add_databases": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.addDatabases", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.add_databases": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.addDatabases", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_failover_mi_link": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.failoverMiLink", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_failover_mi_link": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.failoverMiLink", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.begin_delete_mi_link": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.deleteMiLink", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.begin_delete_mi_link": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.deleteMiLink", + "azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations.remove_databases": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.removeDatabases", + "azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations.remove_databases": "Microsoft.AzureArcData.SqlServerAvailabilityGroupResources.removeDatabases", + "azure.mgmt.azurearcdata.operations.DataControllersOperations.get_data_controller": "Microsoft.AzureArcData.DataControllerResources.getDataController", + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.get_data_controller": "Microsoft.AzureArcData.DataControllerResources.getDataController", + "azure.mgmt.azurearcdata.operations.DataControllersOperations.begin_put_data_controller": "Microsoft.AzureArcData.DataControllerResources.putDataController", + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.begin_put_data_controller": "Microsoft.AzureArcData.DataControllerResources.putDataController", + "azure.mgmt.azurearcdata.operations.DataControllersOperations.begin_patch_data_controller": "Microsoft.AzureArcData.DataControllerResources.patchDataController", + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.begin_patch_data_controller": "Microsoft.AzureArcData.DataControllerResources.patchDataController", + "azure.mgmt.azurearcdata.operations.DataControllersOperations.begin_delete_data_controller": "Microsoft.AzureArcData.DataControllerResources.deleteDataController", + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.begin_delete_data_controller": "Microsoft.AzureArcData.DataControllerResources.deleteDataController", + "azure.mgmt.azurearcdata.operations.DataControllersOperations.list_in_group": "Microsoft.AzureArcData.DataControllerResources.listInGroup", + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.list_in_group": "Microsoft.AzureArcData.DataControllerResources.listInGroup", + "azure.mgmt.azurearcdata.operations.DataControllersOperations.list_in_subscription": "Microsoft.AzureArcData.DataControllerResources.listInSubscription", + "azure.mgmt.azurearcdata.aio.operations.DataControllersOperations.list_in_subscription": "Microsoft.AzureArcData.DataControllerResources.listInSubscription", + "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.get": "Microsoft.AzureArcData.ActiveDirectoryConnectorResources.get", + "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.get": "Microsoft.AzureArcData.ActiveDirectoryConnectorResources.get", + "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.begin_create": "Microsoft.AzureArcData.ActiveDirectoryConnectorResources.create", + "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.begin_create": "Microsoft.AzureArcData.ActiveDirectoryConnectorResources.create", + "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.begin_delete": "Microsoft.AzureArcData.ActiveDirectoryConnectorResources.delete", + "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.begin_delete": "Microsoft.AzureArcData.ActiveDirectoryConnectorResources.delete", + "azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations.list": "Microsoft.AzureArcData.ActiveDirectoryConnectorResources.list", + "azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations.list": "Microsoft.AzureArcData.ActiveDirectoryConnectorResources.list", + "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.get": "Microsoft.AzureArcData.SqlServerDatabaseResources.get", + "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.get": "Microsoft.AzureArcData.SqlServerDatabaseResources.get", + "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.create": "Microsoft.AzureArcData.SqlServerDatabaseResources.create", + "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.create": "Microsoft.AzureArcData.SqlServerDatabaseResources.create", + "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.begin_update": "Microsoft.AzureArcData.SqlServerDatabaseResources.update", + "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.begin_update": "Microsoft.AzureArcData.SqlServerDatabaseResources.update", + "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.begin_delete": "Microsoft.AzureArcData.SqlServerDatabaseResources.delete", + "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.begin_delete": "Microsoft.AzureArcData.SqlServerDatabaseResources.delete", + "azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations.list": "Microsoft.AzureArcData.SqlServerDatabaseResources.list", + "azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations.list": "Microsoft.AzureArcData.SqlServerDatabaseResources.list" } } \ No newline at end of file diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py index ebf96b3e77ec..2ebef521cc5a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- # pylint: disable=wrong-import-position @@ -12,7 +12,7 @@ if TYPE_CHECKING: from ._patch import * # pylint: disable=unused-wildcard-import -from ._azure_arc_data_management_client import AzureArcDataManagementClient # type: ignore +from ._client import AzureArcDataClient # type: ignore from ._version import VERSION __version__ = VERSION @@ -25,7 +25,7 @@ from ._patch import patch_sdk as _patch_sdk __all__ = [ - "AzureArcDataManagementClient", + "AzureArcDataClient", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_azure_arc_data_management_client.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_client.py similarity index 86% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_azure_arc_data_management_client.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_client.py index 647c50ba2844..ba431dee4fc7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_azure_arc_data_management_client.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_client.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -17,8 +17,7 @@ from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy from azure.mgmt.core.tools import get_arm_endpoints -from . import models as _models -from ._configuration import AzureArcDataManagementClientConfiguration +from ._configuration import AzureArcDataClientConfiguration from ._utils.serialization import Deserializer, Serializer from .operations import ( ActiveDirectoryConnectorsOperations, @@ -39,7 +38,7 @@ from azure.core.credentials import TokenCredential -class AzureArcDataManagementClient: # pylint: disable=too-many-instance-attributes +class AzureArcDataClient: # pylint: disable=too-many-instance-attributes """The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources. @@ -48,38 +47,39 @@ class AzureArcDataManagementClient: # pylint: disable=too-many-instance-attribu :ivar sql_managed_instances: SqlManagedInstancesOperations operations :vartype sql_managed_instances: azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations - :ivar failover_groups: FailoverGroupsOperations operations - :vartype failover_groups: azure.mgmt.azurearcdata.operations.FailoverGroupsOperations :ivar sql_server_instances: SqlServerInstancesOperations operations :vartype sql_server_instances: azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations :ivar sql_server_licenses: SqlServerLicensesOperations operations :vartype sql_server_licenses: azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations - :ivar data_controllers: DataControllersOperations operations - :vartype data_controllers: azure.mgmt.azurearcdata.operations.DataControllersOperations - :ivar active_directory_connectors: ActiveDirectoryConnectorsOperations operations - :vartype active_directory_connectors: - azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations :ivar postgres_instances: PostgresInstancesOperations operations :vartype postgres_instances: azure.mgmt.azurearcdata.operations.PostgresInstancesOperations + :ivar sql_server_esu_licenses: SqlServerEsuLicensesOperations operations + :vartype sql_server_esu_licenses: + azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations + :ivar failover_groups: FailoverGroupsOperations operations + :vartype failover_groups: azure.mgmt.azurearcdata.operations.FailoverGroupsOperations :ivar sql_server_availability_groups: SqlServerAvailabilityGroupsOperations operations :vartype sql_server_availability_groups: azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations + :ivar data_controllers: DataControllersOperations operations + :vartype data_controllers: azure.mgmt.azurearcdata.operations.DataControllersOperations + :ivar active_directory_connectors: ActiveDirectoryConnectorsOperations operations + :vartype active_directory_connectors: + azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations :ivar sql_server_databases: SqlServerDatabasesOperations operations :vartype sql_server_databases: azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations - :ivar sql_server_esu_licenses: SqlServerEsuLicensesOperations operations - :vartype sql_server_esu_licenses: - azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations - :param credential: Credential needed for the client to connect to Azure. Required. + :param credential: Credential used to authenticate requests to the service. Required. :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The ID of the Azure subscription. Required. + :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. :type subscription_id: str - :param base_url: Service URL. Default value is None. + :param base_url: Service host. Default value is None. :type base_url: str :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :paramtype cloud_setting: ~azure.core.AzureClouds - :keyword api_version: Api Version. Default value is "2026-03-01-preview". Note that overriding - this default value may result in unsupported behavior. + :keyword api_version: The API version to use for this operation. Known values are + "2026-03-01-preview". Default value is "2026-03-01-preview". 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 Retry-After header is present. @@ -94,14 +94,16 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: + _endpoint = "{endpoint}" _cloud = cloud_setting or settings.current.azure_cloud # type: ignore _endpoints = get_arm_endpoints(_cloud) if not base_url: base_url = _endpoints["resource_manager"] credential_scopes = kwargs.pop("credential_scopes", _endpoints["credential_scopes"]) - self._config = AzureArcDataManagementClientConfiguration( + self._config = AzureArcDataClientConfiguration( credential=credential, subscription_id=subscription_id, + base_url=cast(str, base_url), cloud_setting=cloud_setting, credential_scopes=credential_scopes, **kwargs @@ -125,49 +127,48 @@ def __init__( policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None, self._config.http_logging_policy, ] - self._client: ARMPipelineClient = ARMPipelineClient(base_url=cast(str, base_url), policies=_policies, **kwargs) + self._client: ARMPipelineClient = ARMPipelineClient(base_url=cast(str, _endpoint), policies=_policies, **kwargs) - client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) + self._serialize = Serializer() + self._deserialize = Deserializer() self._serialize.client_side_validation = False self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) self.sql_managed_instances = SqlManagedInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.failover_groups = FailoverGroupsOperations(self._client, self._config, self._serialize, self._deserialize) self.sql_server_instances = SqlServerInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) self.sql_server_licenses = SqlServerLicensesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.data_controllers = DataControllersOperations( + self.postgres_instances = PostgresInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.active_directory_connectors = ActiveDirectoryConnectorsOperations( + self.sql_server_esu_licenses = SqlServerEsuLicensesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.postgres_instances = PostgresInstancesOperations( + self.failover_groups = FailoverGroupsOperations(self._client, self._config, self._serialize, self._deserialize) + self.sql_server_availability_groups = SqlServerAvailabilityGroupsOperations( self._client, self._config, self._serialize, self._deserialize ) - self.sql_server_availability_groups = SqlServerAvailabilityGroupsOperations( + self.data_controllers = DataControllersOperations( self._client, self._config, self._serialize, self._deserialize ) - self.sql_server_databases = SqlServerDatabasesOperations( + self.active_directory_connectors = ActiveDirectoryConnectorsOperations( self._client, self._config, self._serialize, self._deserialize ) - self.sql_server_esu_licenses = SqlServerEsuLicensesOperations( + self.sql_server_databases = SqlServerDatabasesOperations( self._client, self._config, self._serialize, self._deserialize ) - def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse: + def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") - >>> response = client._send_request(request) + >>> response = client.send_request(request) For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request @@ -180,7 +181,11 @@ def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: """ request_copy = deepcopy(request) - request_copy.url = self._client.format_url(request_copy.url) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore def close(self) -> None: diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py index d1b6409ce9ca..768cdb7c78db 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -18,21 +18,24 @@ from azure.core.credentials import TokenCredential -class AzureArcDataManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long - """Configuration for AzureArcDataManagementClient. +class AzureArcDataClientConfiguration: # pylint: disable=too-many-instance-attributes + """Configuration for AzureArcDataClient. Note that all parameters used to create this instance are saved as instance attributes. - :param credential: Credential needed for the client to connect to Azure. Required. + :param credential: Credential used to authenticate requests to the service. Required. :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The ID of the Azure subscription. Required. + :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. :type subscription_id: str + :param base_url: Service host. Default value is "https://management.azure.com". + :type base_url: str :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :type cloud_setting: ~azure.core.AzureClouds - :keyword api_version: Api Version. Default value is "2026-03-01-preview". Note that overriding - this default value may result in unsupported behavior. + :keyword api_version: The API version to use for this operation. Known values are + "2026-03-01-preview". Default value is "2026-03-01-preview". Note that overriding this default + value may result in unsupported behavior. :paramtype api_version: str """ @@ -40,6 +43,7 @@ def __init__( self, credential: "TokenCredential", subscription_id: str, + base_url: str = "https://management.azure.com", cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: @@ -52,6 +56,7 @@ def __init__( self.credential = credential self.subscription_id = subscription_id + self.base_url = base_url self.cloud_setting = cloud_setting self.api_version = api_version self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_patch.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_patch.py index f7dd32510333..837c125a81c5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_patch.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_patch.py @@ -1,14 +1,16 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ +# 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. +# -------------------------------------------------------------------------- +from __future__ import annotations """Customize generated code here. Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ -from typing import List -__all__: List[str] = [] # Add all objects you want publicly available to users at this package level + +__all__: list[str] = [] # Add all objects you want publicly available to users at this package level def patch_sdk(): diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/__init__.py index 0af9b28f6607..8026245c2abc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/__init__.py @@ -1,6 +1,6 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/model_base.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/model_base.py new file mode 100644 index 000000000000..27d247785ab3 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/model_base.py @@ -0,0 +1,1369 @@ +# pylint: disable=line-too-long,useless-suppression,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) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=protected-access, broad-except + +from __future__ import annotations +import copy +import calendar +import decimal +import functools +import sys +import logging +import base64 +import re +import typing +import enum +import email.utils +from datetime import datetime, date, time, timedelta, timezone +from json import JSONEncoder +import xml.etree.ElementTree as ET +from collections.abc import MutableMapping +from typing_extensions import Self +import isodate +from azure.core.exceptions import DeserializationError +from azure.core import CaseInsensitiveEnumMeta +from azure.core.pipeline import PipelineResponse +from azure.core.serialization import _Null +from azure.core.rest import HttpResponse + +_LOGGER = logging.getLogger(__name__) + +__all__ = ["SdkJSONEncoder", "Model", "rest_field", "rest_discriminator"] + +TZ_UTC = timezone.utc +_T = typing.TypeVar("_T") +_NONE_TYPE = type(None) + + +def _timedelta_as_isostr(td: timedelta) -> str: + """Converts a datetime.timedelta object into an ISO 8601 formatted string, e.g. 'P4DT12H30M05S' + + Function adapted from the Tin Can Python project: https://github.com/RusticiSoftware/TinCanPython + + :param timedelta td: The timedelta to convert + :rtype: str + :return: ISO8601 version of this timedelta + """ + + # Split seconds to larger units + seconds = td.total_seconds() + minutes, seconds = divmod(seconds, 60) + hours, minutes = divmod(minutes, 60) + days, hours = divmod(hours, 24) + + days, hours, minutes = list(map(int, (days, hours, minutes))) + seconds = round(seconds, 6) + + # Build date + date_str = "" + if days: + date_str = "%sD" % days + + if hours or minutes or seconds: + # Build time + time_str = "T" + + # Hours + bigger_exists = date_str or hours + if bigger_exists: + time_str += "{:02}H".format(hours) + + # Minutes + bigger_exists = bigger_exists or minutes + if bigger_exists: + time_str += "{:02}M".format(minutes) + + # Seconds + try: + if seconds.is_integer(): + seconds_string = "{:02}".format(int(seconds)) + else: + # 9 chars long w/ leading 0, 6 digits after decimal + seconds_string = "%09.6f" % seconds + # Remove trailing zeros + seconds_string = seconds_string.rstrip("0") + except AttributeError: # int.is_integer() raises + seconds_string = "{:02}".format(seconds) + + time_str += "{}S".format(seconds_string) + else: + time_str = "" + + return "P" + date_str + time_str + + +def _serialize_bytes(o, format: typing.Optional[str] = None) -> str: + encoded = base64.b64encode(o).decode() + if format == "base64url": + return encoded.strip("=").replace("+", "-").replace("/", "_") + return encoded + + +def _serialize_datetime(o, format: typing.Optional[str] = None): + if hasattr(o, "year") and hasattr(o, "hour"): + if format == "rfc7231": + return email.utils.format_datetime(o, usegmt=True) + if format == "unix-timestamp": + return int(calendar.timegm(o.utctimetuple())) + + # astimezone() fails for naive times in Python 2.7, so make make sure o is aware (tzinfo is set) + if not o.tzinfo: + iso_formatted = o.replace(tzinfo=TZ_UTC).isoformat() + else: + iso_formatted = o.astimezone(TZ_UTC).isoformat() + # Replace the trailing "+00:00" UTC offset with "Z" (RFC 3339: https://www.ietf.org/rfc/rfc3339.txt) + return iso_formatted.replace("+00:00", "Z") + # Next try datetime.date or datetime.time + return o.isoformat() + + +def _is_readonly(p): + try: + return p._visibility == ["read"] + except AttributeError: + return False + + +class SdkJSONEncoder(JSONEncoder): + """A JSON encoder that's capable of serializing datetime objects and bytes.""" + + def __init__(self, *args, exclude_readonly: bool = False, format: typing.Optional[str] = None, **kwargs): + super().__init__(*args, **kwargs) + self.exclude_readonly = exclude_readonly + self.format = format + + def default(self, o): # pylint: disable=too-many-return-statements + if _is_model(o): + if self.exclude_readonly: + readonly_props = [p._rest_name for p in o._attr_to_rest_field.values() if _is_readonly(p)] + return {k: v for k, v in o.items() if k not in readonly_props} + return dict(o.items()) + try: + return super(SdkJSONEncoder, self).default(o) + except TypeError: + if isinstance(o, _Null): + return None + if isinstance(o, decimal.Decimal): + return float(o) + if isinstance(o, (bytes, bytearray)): + return _serialize_bytes(o, self.format) + try: + # First try datetime.datetime + return _serialize_datetime(o, self.format) + except AttributeError: + pass + # Last, try datetime.timedelta + try: + return _timedelta_as_isostr(o) + except AttributeError: + # This will be raised when it hits value.total_seconds in the method above + pass + return super(SdkJSONEncoder, self).default(o) + + +_VALID_DATE = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" + r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?") +_VALID_RFC7231 = re.compile( + r"(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s\d{2}\s" + r"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT" +) + +_ARRAY_ENCODE_MAPPING = { + "pipeDelimited": "|", + "spaceDelimited": " ", + "commaDelimited": ",", + "newlineDelimited": "\n", +} + + +def _deserialize_array_encoded(delimit: str, attr): + if isinstance(attr, str): + if attr == "": + return [] + return attr.split(delimit) + return attr + + +def _deserialize_datetime(attr: typing.Union[str, datetime]) -> datetime: + """Deserialize ISO-8601 formatted string into Datetime object. + + :param str attr: response string to be deserialized. + :rtype: ~datetime.datetime + :returns: The datetime object from that input + """ + if isinstance(attr, datetime): + # i'm already deserialized + return attr + attr = attr.upper() + match = _VALID_DATE.match(attr) + if not match: + raise ValueError("Invalid datetime string: " + attr) + + check_decimal = attr.split(".") + if len(check_decimal) > 1: + decimal_str = "" + for digit in check_decimal[1]: + if digit.isdigit(): + decimal_str += digit + else: + break + if len(decimal_str) > 6: + attr = attr.replace(decimal_str, decimal_str[0:6]) + + date_obj = isodate.parse_datetime(attr) + test_utc = date_obj.utctimetuple() + if test_utc.tm_year > 9999 or test_utc.tm_year < 1: + raise OverflowError("Hit max or min date") + return date_obj # type: ignore[no-any-return] + + +def _deserialize_datetime_rfc7231(attr: typing.Union[str, datetime]) -> datetime: + """Deserialize RFC7231 formatted string into Datetime object. + + :param str attr: response string to be deserialized. + :rtype: ~datetime.datetime + :returns: The datetime object from that input + """ + if isinstance(attr, datetime): + # i'm already deserialized + return attr + match = _VALID_RFC7231.match(attr) + if not match: + raise ValueError("Invalid datetime string: " + attr) + + return email.utils.parsedate_to_datetime(attr) + + +def _deserialize_datetime_unix_timestamp(attr: typing.Union[float, datetime]) -> datetime: + """Deserialize unix timestamp into Datetime object. + + :param str attr: response string to be deserialized. + :rtype: ~datetime.datetime + :returns: The datetime object from that input + """ + if isinstance(attr, datetime): + # i'm already deserialized + return attr + return datetime.fromtimestamp(attr, TZ_UTC) + + +def _deserialize_date(attr: typing.Union[str, date]) -> date: + """Deserialize ISO-8601 formatted string into Date object. + :param str attr: response string to be deserialized. + :rtype: date + :returns: The date object from that input + """ + # This must NOT use defaultmonth/defaultday. Using None ensure this raises an exception. + if isinstance(attr, date): + return attr + return isodate.parse_date(attr, defaultmonth=None, defaultday=None) # type: ignore + + +def _deserialize_time(attr: typing.Union[str, time]) -> time: + """Deserialize ISO-8601 formatted string into time object. + + :param str attr: response string to be deserialized. + :rtype: datetime.time + :returns: The time object from that input + """ + if isinstance(attr, time): + return attr + return isodate.parse_time(attr) # type: ignore[no-any-return] + + +def _deserialize_bytes(attr): + if isinstance(attr, (bytes, bytearray)): + return attr + return bytes(base64.b64decode(attr)) + + +def _deserialize_bytes_base64(attr): + if isinstance(attr, (bytes, bytearray)): + return attr + padding = "=" * (3 - (len(attr) + 3) % 4) # type: ignore + attr = attr + padding # type: ignore + encoded = attr.replace("-", "+").replace("_", "/") + return bytes(base64.b64decode(encoded)) + + +def _deserialize_duration(attr): + if isinstance(attr, timedelta): + return attr + return isodate.parse_duration(attr) + + +def _deserialize_decimal(attr): + if isinstance(attr, decimal.Decimal): + return attr + return decimal.Decimal(str(attr)) + + +def _deserialize_int_as_str(attr): + if isinstance(attr, int): + return attr + return int(attr) + + +_DESERIALIZE_MAPPING = { + datetime: _deserialize_datetime, + date: _deserialize_date, + time: _deserialize_time, + bytes: _deserialize_bytes, + bytearray: _deserialize_bytes, + timedelta: _deserialize_duration, + typing.Any: lambda x: x, + decimal.Decimal: _deserialize_decimal, +} + +_DESERIALIZE_MAPPING_WITHFORMAT = { + "rfc3339": _deserialize_datetime, + "rfc7231": _deserialize_datetime_rfc7231, + "unix-timestamp": _deserialize_datetime_unix_timestamp, + "base64": _deserialize_bytes, + "base64url": _deserialize_bytes_base64, +} + + +def get_deserializer(annotation: typing.Any, rf: typing.Optional["_RestField"] = None): + if annotation is int and rf and rf._format == "str": + return _deserialize_int_as_str + if annotation is str and rf and rf._format in _ARRAY_ENCODE_MAPPING: + return functools.partial(_deserialize_array_encoded, _ARRAY_ENCODE_MAPPING[rf._format]) + if rf and rf._format: + return _DESERIALIZE_MAPPING_WITHFORMAT.get(rf._format) + return _DESERIALIZE_MAPPING.get(annotation) # pyright: ignore + + +def _get_type_alias_type(module_name: str, alias_name: str): + types = { + k: v + for k, v in sys.modules[module_name].__dict__.items() + if isinstance(v, typing._GenericAlias) # type: ignore + } + if alias_name not in types: + return alias_name + return types[alias_name] + + +def _get_model(module_name: str, model_name: str): + models = {k: v for k, v in sys.modules[module_name].__dict__.items() if isinstance(v, type)} + module_end = module_name.rsplit(".", 1)[0] + models.update({k: v for k, v in sys.modules[module_end].__dict__.items() if isinstance(v, type)}) + if isinstance(model_name, str): + model_name = model_name.split(".")[-1] + if model_name not in models: + return model_name + return models[model_name] + + +_UNSET = object() + + +class _MyMutableMapping(MutableMapping[str, typing.Any]): + def __init__(self, data: dict[str, typing.Any]) -> None: + self._data = data + + def __contains__(self, key: typing.Any) -> bool: + return key in self._data + + def __getitem__(self, key: str) -> typing.Any: + # If this key has been deserialized (for mutable types), we need to handle serialization + if hasattr(self, "_attr_to_rest_field"): + cache_attr = f"_deserialized_{key}" + if hasattr(self, cache_attr): + rf = _get_rest_field(getattr(self, "_attr_to_rest_field"), key) + if rf: + value = self._data.get(key) + if isinstance(value, (dict, list, set)): + # For mutable types, serialize and return + # But also update _data with serialized form and clear flag + # so mutations via this returned value affect _data + serialized = _serialize(value, rf._format) + # If serialized form is same type (no transformation needed), + # return _data directly so mutations work + if isinstance(serialized, type(value)) and serialized == value: + return self._data.get(key) + # Otherwise return serialized copy and clear flag + try: + object.__delattr__(self, cache_attr) + except AttributeError: + pass + # Store serialized form back + self._data[key] = serialized + return serialized + return self._data.__getitem__(key) + + def __setitem__(self, key: str, value: typing.Any) -> None: + # Clear any cached deserialized value when setting through dictionary access + cache_attr = f"_deserialized_{key}" + try: + object.__delattr__(self, cache_attr) + except AttributeError: + pass + self._data.__setitem__(key, value) + + def __delitem__(self, key: str) -> None: + self._data.__delitem__(key) + + def __iter__(self) -> typing.Iterator[typing.Any]: + return self._data.__iter__() + + def __len__(self) -> int: + return self._data.__len__() + + def __ne__(self, other: typing.Any) -> bool: + return not self.__eq__(other) + + def keys(self) -> typing.KeysView[str]: + """ + :returns: a set-like object providing a view on D's keys + :rtype: ~typing.KeysView + """ + return self._data.keys() + + def values(self) -> typing.ValuesView[typing.Any]: + """ + :returns: an object providing a view on D's values + :rtype: ~typing.ValuesView + """ + return self._data.values() + + def items(self) -> typing.ItemsView[str, typing.Any]: + """ + :returns: set-like object providing a view on D's items + :rtype: ~typing.ItemsView + """ + return self._data.items() + + def get(self, key: str, default: typing.Any = None) -> typing.Any: + """ + Get the value for key if key is in the dictionary, else default. + :param str key: The key to look up. + :param any default: The value to return if key is not in the dictionary. Defaults to None + :returns: D[k] if k in D, else d. + :rtype: any + """ + try: + return self[key] + except KeyError: + return default + + @typing.overload + def pop(self, key: str) -> typing.Any: ... # pylint: disable=arguments-differ + + @typing.overload + def pop(self, key: str, default: _T) -> _T: ... # pylint: disable=signature-differs + + @typing.overload + def pop(self, key: str, default: typing.Any) -> typing.Any: ... # pylint: disable=signature-differs + + def pop(self, key: str, default: typing.Any = _UNSET) -> typing.Any: + """ + Removes specified key and return the corresponding value. + :param str key: The key to pop. + :param any default: The value to return if key is not in the dictionary + :returns: The value corresponding to the key. + :rtype: any + :raises KeyError: If key is not found and default is not given. + """ + if default is _UNSET: + return self._data.pop(key) + return self._data.pop(key, default) + + def popitem(self) -> tuple[str, typing.Any]: + """ + Removes and returns some (key, value) pair + :returns: The (key, value) pair. + :rtype: tuple + :raises KeyError: if D is empty. + """ + return self._data.popitem() + + def clear(self) -> None: + """ + Remove all items from D. + """ + self._data.clear() + + def update(self, *args: typing.Any, **kwargs: typing.Any) -> None: # pylint: disable=arguments-differ + """ + Updates D from mapping/iterable E and F. + :param any args: Either a mapping object or an iterable of key-value pairs. + """ + self._data.update(*args, **kwargs) + + @typing.overload + def setdefault(self, key: str, default: None = None) -> None: ... + + @typing.overload + def setdefault(self, key: str, default: typing.Any) -> typing.Any: ... # pylint: disable=signature-differs + + def setdefault(self, key: str, default: typing.Any = _UNSET) -> typing.Any: + """ + Same as calling D.get(k, d), and setting D[k]=d if k not found + :param str key: The key to look up. + :param any default: The value to set if key is not in the dictionary + :returns: D[k] if k in D, else d. + :rtype: any + """ + if default is _UNSET: + return self._data.setdefault(key) + return self._data.setdefault(key, default) + + def __eq__(self, other: typing.Any) -> bool: + if isinstance(other, _MyMutableMapping): + return self._data == other._data + try: + other_model = self.__class__(other) + except Exception: + return False + return self._data == other_model._data + + def __repr__(self) -> str: + return str(self._data) + + +def _is_model(obj: typing.Any) -> bool: + return getattr(obj, "_is_model", False) + + +def _serialize(o, format: typing.Optional[str] = None): # pylint: disable=too-many-return-statements + if isinstance(o, list): + if format in _ARRAY_ENCODE_MAPPING and all(isinstance(x, str) for x in o): + return _ARRAY_ENCODE_MAPPING[format].join(o) + return [_serialize(x, format) for x in o] + if isinstance(o, dict): + return {k: _serialize(v, format) for k, v in o.items()} + if isinstance(o, set): + return {_serialize(x, format) for x in o} + if isinstance(o, tuple): + return tuple(_serialize(x, format) for x in o) + if isinstance(o, (bytes, bytearray)): + return _serialize_bytes(o, format) + if isinstance(o, decimal.Decimal): + return float(o) + if isinstance(o, enum.Enum): + return o.value + if isinstance(o, int): + if format == "str": + return str(o) + return o + try: + # First try datetime.datetime + return _serialize_datetime(o, format) + except AttributeError: + pass + # Last, try datetime.timedelta + try: + return _timedelta_as_isostr(o) + except AttributeError: + # This will be raised when it hits value.total_seconds in the method above + pass + return o + + +def _get_rest_field(attr_to_rest_field: dict[str, "_RestField"], rest_name: str) -> typing.Optional["_RestField"]: + try: + return next(rf for rf in attr_to_rest_field.values() if rf._rest_name == rest_name) + except StopIteration: + return None + + +def _create_value(rf: typing.Optional["_RestField"], value: typing.Any) -> typing.Any: + if not rf: + return _serialize(value, None) + if rf._is_multipart_file_input: + return value + if rf._is_model: + return _deserialize(rf._type, value) + if isinstance(value, ET.Element): + value = _deserialize(rf._type, value) + return _serialize(value, rf._format) + + +class Model(_MyMutableMapping): + _is_model = True + # label whether current class's _attr_to_rest_field has been calculated + # could not see _attr_to_rest_field directly because subclass inherits it from parent class + _calculated: set[str] = set() + + def __init__(self, *args: typing.Any, **kwargs: typing.Any) -> None: + class_name = self.__class__.__name__ + if len(args) > 1: + raise TypeError(f"{class_name}.__init__() takes 2 positional arguments but {len(args) + 1} were given") + dict_to_pass = { + rest_field._rest_name: rest_field._default + for rest_field in self._attr_to_rest_field.values() + if rest_field._default is not _UNSET + } + if args: # pylint: disable=too-many-nested-blocks + if isinstance(args[0], ET.Element): + existed_attr_keys = [] + model_meta = getattr(self, "_xml", {}) + + for rf in self._attr_to_rest_field.values(): + prop_meta = getattr(rf, "_xml", {}) + xml_name = prop_meta.get("name", rf._rest_name) + xml_ns = prop_meta.get("ns", model_meta.get("ns", None)) + if xml_ns: + xml_name = "{" + xml_ns + "}" + xml_name + + # attribute + if prop_meta.get("attribute", False) and args[0].get(xml_name) is not None: + existed_attr_keys.append(xml_name) + dict_to_pass[rf._rest_name] = _deserialize(rf._type, args[0].get(xml_name)) + continue + + # unwrapped element is array + if prop_meta.get("unwrapped", False): + # unwrapped array could either use prop items meta/prop meta + if prop_meta.get("itemsName"): + xml_name = prop_meta.get("itemsName") + xml_ns = prop_meta.get("itemNs") + if xml_ns: + xml_name = "{" + xml_ns + "}" + xml_name + items = args[0].findall(xml_name) # pyright: ignore + if len(items) > 0: + existed_attr_keys.append(xml_name) + dict_to_pass[rf._rest_name] = _deserialize(rf._type, items) + elif not rf._is_optional: + existed_attr_keys.append(xml_name) + dict_to_pass[rf._rest_name] = [] + continue + + # text element is primitive type + if prop_meta.get("text", False): + if args[0].text is not None: + dict_to_pass[rf._rest_name] = _deserialize(rf._type, args[0].text) + continue + + # wrapped element could be normal property or array, it should only have one element + item = args[0].find(xml_name) + if item is not None: + existed_attr_keys.append(xml_name) + dict_to_pass[rf._rest_name] = _deserialize(rf._type, item) + + # rest thing is additional properties + for e in args[0]: + if e.tag not in existed_attr_keys: + dict_to_pass[e.tag] = _convert_element(e) + else: + dict_to_pass.update( + {k: _create_value(_get_rest_field(self._attr_to_rest_field, k), v) for k, v in args[0].items()} + ) + else: + non_attr_kwargs = [k for k in kwargs if k not in self._attr_to_rest_field] + if non_attr_kwargs: + # actual type errors only throw the first wrong keyword arg they see, so following that. + raise TypeError(f"{class_name}.__init__() got an unexpected keyword argument '{non_attr_kwargs[0]}'") + dict_to_pass.update( + { + self._attr_to_rest_field[k]._rest_name: _create_value(self._attr_to_rest_field[k], v) + for k, v in kwargs.items() + if v is not None + } + ) + super().__init__(dict_to_pass) + + def copy(self) -> "Model": + return Model(self.__dict__) + + def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self: + if f"{cls.__module__}.{cls.__qualname__}" not in cls._calculated: + # we know the last nine classes in mro are going to be 'Model', '_MyMutableMapping', 'MutableMapping', + # 'Mapping', 'Collection', 'Sized', 'Iterable', 'Container' and 'object' + mros = cls.__mro__[:-9][::-1] # ignore parents, and reverse the mro order + attr_to_rest_field: dict[str, _RestField] = { # map attribute name to rest_field property + k: v for mro_class in mros for k, v in mro_class.__dict__.items() if k[0] != "_" and hasattr(v, "_type") + } + annotations = { + k: v + for mro_class in mros + if hasattr(mro_class, "__annotations__") + for k, v in mro_class.__annotations__.items() + } + for attr, rf in attr_to_rest_field.items(): + rf._module = cls.__module__ + if not rf._type: + rf._type = rf._get_deserialize_callable_from_annotation(annotations.get(attr, None)) + if not rf._rest_name_input: + rf._rest_name_input = attr + cls._attr_to_rest_field: dict[str, _RestField] = dict(attr_to_rest_field.items()) + cls._backcompat_attr_to_rest_field: dict[str, _RestField] = { + Model._get_backcompat_attribute_name(cls._attr_to_rest_field, attr): rf + for attr, rf in cls._attr_to_rest_field.items() + } + cls._calculated.add(f"{cls.__module__}.{cls.__qualname__}") + + return super().__new__(cls) + + def __init_subclass__(cls, discriminator: typing.Optional[str] = None) -> None: + for base in cls.__bases__: + if hasattr(base, "__mapping__"): + base.__mapping__[discriminator or cls.__name__] = cls # type: ignore + + @classmethod + def _get_backcompat_attribute_name(cls, attr_to_rest_field: dict[str, "_RestField"], attr_name: str) -> str: + rest_field_obj = attr_to_rest_field.get(attr_name) # pylint: disable=protected-access + if rest_field_obj is None: + return attr_name + original_tsp_name = getattr(rest_field_obj, "_original_tsp_name", None) # pylint: disable=protected-access + if original_tsp_name: + return original_tsp_name + return attr_name + + @classmethod + def _get_discriminator(cls, exist_discriminators) -> typing.Optional["_RestField"]: + for v in cls.__dict__.values(): + if isinstance(v, _RestField) and v._is_discriminator and v._rest_name not in exist_discriminators: + return v + return None + + @classmethod + def _deserialize(cls, data, exist_discriminators): + if not hasattr(cls, "__mapping__"): + return cls(data) + discriminator = cls._get_discriminator(exist_discriminators) + if discriminator is None: + return cls(data) + exist_discriminators.append(discriminator._rest_name) + if isinstance(data, ET.Element): + model_meta = getattr(cls, "_xml", {}) + prop_meta = getattr(discriminator, "_xml", {}) + xml_name = prop_meta.get("name", discriminator._rest_name) + xml_ns = prop_meta.get("ns", model_meta.get("ns", None)) + if xml_ns: + xml_name = "{" + xml_ns + "}" + xml_name + + if data.get(xml_name) is not None: + discriminator_value = data.get(xml_name) + else: + discriminator_value = data.find(xml_name).text # pyright: ignore + else: + discriminator_value = data.get(discriminator._rest_name) + mapped_cls = cls.__mapping__.get(discriminator_value, cls) # pyright: ignore # pylint: disable=no-member + return mapped_cls._deserialize(data, exist_discriminators) + + def as_dict(self, *, exclude_readonly: bool = False) -> dict[str, typing.Any]: + """Return a dict that can be turned into json using json.dump. + + :keyword bool exclude_readonly: Whether to remove the readonly properties. + :returns: A dict JSON compatible object + :rtype: dict + """ + + result = {} + readonly_props = [] + if exclude_readonly: + readonly_props = [p._rest_name for p in self._attr_to_rest_field.values() if _is_readonly(p)] + for k, v in self.items(): + if exclude_readonly and k in readonly_props: # pyright: ignore + continue + is_multipart_file_input = False + try: + is_multipart_file_input = next( + rf for rf in self._attr_to_rest_field.values() if rf._rest_name == k + )._is_multipart_file_input + except StopIteration: + pass + result[k] = v if is_multipart_file_input else Model._as_dict_value(v, exclude_readonly=exclude_readonly) + return result + + @staticmethod + def _as_dict_value(v: typing.Any, exclude_readonly: bool = False) -> typing.Any: + if v is None or isinstance(v, _Null): + return None + if isinstance(v, (list, tuple, set)): + return type(v)(Model._as_dict_value(x, exclude_readonly=exclude_readonly) for x in v) + if isinstance(v, dict): + return {dk: Model._as_dict_value(dv, exclude_readonly=exclude_readonly) for dk, dv in v.items()} + return v.as_dict(exclude_readonly=exclude_readonly) if hasattr(v, "as_dict") else v + + +def _deserialize_model(model_deserializer: typing.Optional[typing.Callable], obj): + if _is_model(obj): + return obj + return _deserialize(model_deserializer, obj) + + +def _deserialize_with_optional(if_obj_deserializer: typing.Optional[typing.Callable], obj): + if obj is None: + return obj + return _deserialize_with_callable(if_obj_deserializer, obj) + + +def _deserialize_with_union(deserializers, obj): + for deserializer in deserializers: + try: + return _deserialize(deserializer, obj) + except DeserializationError: + pass + raise DeserializationError() + + +def _deserialize_dict( + value_deserializer: typing.Optional[typing.Callable], + module: typing.Optional[str], + obj: dict[typing.Any, typing.Any], +): + if obj is None: + return obj + if isinstance(obj, ET.Element): + obj = {child.tag: child for child in obj} + return {k: _deserialize(value_deserializer, v, module) for k, v in obj.items()} + + +def _deserialize_multiple_sequence( + entry_deserializers: list[typing.Optional[typing.Callable]], + module: typing.Optional[str], + obj, +): + if obj is None: + return obj + return type(obj)(_deserialize(deserializer, entry, module) for entry, deserializer in zip(obj, entry_deserializers)) + + +def _is_array_encoded_deserializer(deserializer: functools.partial) -> bool: + return ( + isinstance(deserializer, functools.partial) + and isinstance(deserializer.args[0], functools.partial) + and deserializer.args[0].func == _deserialize_array_encoded # pylint: disable=comparison-with-callable + ) + + +def _deserialize_sequence( + deserializer: typing.Optional[typing.Callable], + module: typing.Optional[str], + obj, +): + if obj is None: + return obj + if isinstance(obj, ET.Element): + obj = list(obj) + + # encoded string may be deserialized to sequence + if isinstance(obj, str) and isinstance(deserializer, functools.partial): + # for list[str] + if _is_array_encoded_deserializer(deserializer): + return deserializer(obj) + + # for list[Union[...]] + if isinstance(deserializer.args[0], list): + for sub_deserializer in deserializer.args[0]: + if _is_array_encoded_deserializer(sub_deserializer): + return sub_deserializer(obj) + + return type(obj)(_deserialize(deserializer, entry, module) for entry in obj) + + +def _sorted_annotations(types: list[typing.Any]) -> list[typing.Any]: + return sorted( + types, + key=lambda x: hasattr(x, "__name__") and x.__name__.lower() in ("str", "float", "int", "bool"), + ) + + +def _get_deserialize_callable_from_annotation( # pylint: disable=too-many-return-statements, too-many-statements, too-many-branches + annotation: typing.Any, + module: typing.Optional[str], + rf: typing.Optional["_RestField"] = None, +) -> typing.Optional[typing.Callable[[typing.Any], typing.Any]]: + if not annotation: + return None + + # is it a type alias? + if isinstance(annotation, str): + if module is not None: + annotation = _get_type_alias_type(module, annotation) + + # is it a forward ref / in quotes? + if isinstance(annotation, (str, typing.ForwardRef)): + try: + model_name = annotation.__forward_arg__ # type: ignore + except AttributeError: + model_name = annotation + if module is not None: + annotation = _get_model(module, model_name) # type: ignore + + try: + if module and _is_model(annotation): + if rf: + rf._is_model = True + + return functools.partial(_deserialize_model, annotation) # pyright: ignore + except Exception: + pass + + # is it a literal? + try: + if annotation.__origin__ is typing.Literal: # pyright: ignore + return None + except AttributeError: + pass + + # is it optional? + try: + if any(a is _NONE_TYPE for a in annotation.__args__): # pyright: ignore + if rf: + rf._is_optional = True + if len(annotation.__args__) <= 2: # pyright: ignore + if_obj_deserializer = _get_deserialize_callable_from_annotation( + next(a for a in annotation.__args__ if a is not _NONE_TYPE), module, rf # pyright: ignore + ) + + return functools.partial(_deserialize_with_optional, if_obj_deserializer) + # the type is Optional[Union[...]], we need to remove the None type from the Union + annotation_copy = copy.copy(annotation) + annotation_copy.__args__ = [a for a in annotation_copy.__args__ if a is not _NONE_TYPE] # pyright: ignore + return _get_deserialize_callable_from_annotation(annotation_copy, module, rf) + except AttributeError: + pass + + # is it union? + if getattr(annotation, "__origin__", None) is typing.Union: + # initial ordering is we make `string` the last deserialization option, because it is often them most generic + deserializers = [ + _get_deserialize_callable_from_annotation(arg, module, rf) + for arg in _sorted_annotations(annotation.__args__) # pyright: ignore + ] + + return functools.partial(_deserialize_with_union, deserializers) + + try: + annotation_name = ( + annotation.__name__ if hasattr(annotation, "__name__") else annotation._name # pyright: ignore + ) + if annotation_name.lower() == "dict": + value_deserializer = _get_deserialize_callable_from_annotation( + annotation.__args__[1], module, rf # pyright: ignore + ) + + return functools.partial( + _deserialize_dict, + value_deserializer, + module, + ) + except (AttributeError, IndexError): + pass + try: + annotation_name = ( + annotation.__name__ if hasattr(annotation, "__name__") else annotation._name # pyright: ignore + ) + if annotation_name.lower() in ["list", "set", "tuple", "sequence"]: + if len(annotation.__args__) > 1: # pyright: ignore + entry_deserializers = [ + _get_deserialize_callable_from_annotation(dt, module, rf) + for dt in annotation.__args__ # pyright: ignore + ] + return functools.partial(_deserialize_multiple_sequence, entry_deserializers, module) + deserializer = _get_deserialize_callable_from_annotation( + annotation.__args__[0], module, rf # pyright: ignore + ) + + return functools.partial(_deserialize_sequence, deserializer, module) + except (TypeError, IndexError, AttributeError, SyntaxError): + pass + + def _deserialize_default( + deserializer, + obj, + ): + if obj is None: + return obj + try: + return _deserialize_with_callable(deserializer, obj) + except Exception: + pass + return obj + + if get_deserializer(annotation, rf): + return functools.partial(_deserialize_default, get_deserializer(annotation, rf)) + + return functools.partial(_deserialize_default, annotation) + + +def _deserialize_with_callable( + deserializer: typing.Optional[typing.Callable[[typing.Any], typing.Any]], + value: typing.Any, +): # pylint: disable=too-many-return-statements + try: + if value is None or isinstance(value, _Null): + return None + if isinstance(value, ET.Element): + if deserializer is str: + return value.text or "" + if deserializer is int: + return int(value.text) if value.text else None + if deserializer is float: + return float(value.text) if value.text else None + if deserializer is bool: + return value.text == "true" if value.text else None + if deserializer and deserializer in _DESERIALIZE_MAPPING.values(): + return deserializer(value.text) if value.text else None + if deserializer and deserializer in _DESERIALIZE_MAPPING_WITHFORMAT.values(): + return deserializer(value.text) if value.text else None + if deserializer is None: + return value + if deserializer in [int, float, bool]: + return deserializer(value) + if isinstance(deserializer, CaseInsensitiveEnumMeta): + try: + return deserializer(value.text if isinstance(value, ET.Element) else value) + except ValueError: + # for unknown value, return raw value + return value.text if isinstance(value, ET.Element) else value + if isinstance(deserializer, type) and issubclass(deserializer, Model): + return deserializer._deserialize(value, []) + return typing.cast(typing.Callable[[typing.Any], typing.Any], deserializer)(value) + except Exception as e: + raise DeserializationError() from e + + +def _deserialize( + deserializer: typing.Any, + value: typing.Any, + module: typing.Optional[str] = None, + rf: typing.Optional["_RestField"] = None, + format: typing.Optional[str] = None, +) -> typing.Any: + if isinstance(value, PipelineResponse): + value = value.http_response.json() + if rf is None and format: + rf = _RestField(format=format) + if not isinstance(deserializer, functools.partial): + deserializer = _get_deserialize_callable_from_annotation(deserializer, module, rf) + return _deserialize_with_callable(deserializer, value) + + +def _failsafe_deserialize( + deserializer: typing.Any, + response: HttpResponse, + module: typing.Optional[str] = None, + rf: typing.Optional["_RestField"] = None, + format: typing.Optional[str] = None, +) -> typing.Any: + try: + return _deserialize(deserializer, response.json(), module, rf, format) + except Exception: # pylint: disable=broad-except + _LOGGER.warning( + "Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True + ) + return None + + +def _failsafe_deserialize_xml( + deserializer: typing.Any, + response: HttpResponse, +) -> typing.Any: + try: + return _deserialize_xml(deserializer, response.text()) + except Exception: # pylint: disable=broad-except + _LOGGER.warning( + "Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True + ) + return None + + +# pylint: disable=too-many-instance-attributes +class _RestField: + def __init__( + self, + *, + name: typing.Optional[str] = None, + type: typing.Optional[typing.Callable] = None, # pylint: disable=redefined-builtin + is_discriminator: bool = False, + visibility: typing.Optional[list[str]] = None, + default: typing.Any = _UNSET, + format: typing.Optional[str] = None, + is_multipart_file_input: bool = False, + xml: typing.Optional[dict[str, typing.Any]] = None, + original_tsp_name: typing.Optional[str] = None, + ): + self._type = type + self._rest_name_input = name + self._module: typing.Optional[str] = None + self._is_discriminator = is_discriminator + self._visibility = visibility + self._is_model = False + self._is_optional = False + self._default = default + self._format = format + self._is_multipart_file_input = is_multipart_file_input + self._xml = xml if xml is not None else {} + self._original_tsp_name = original_tsp_name + + @property + def _class_type(self) -> typing.Any: + result = getattr(self._type, "args", [None])[0] + # type may be wrapped by nested functools.partial so we need to check for that + if isinstance(result, functools.partial): + return getattr(result, "args", [None])[0] + return result + + @property + def _rest_name(self) -> str: + if self._rest_name_input is None: + raise ValueError("Rest name was never set") + return self._rest_name_input + + def __get__(self, obj: Model, type=None): # pylint: disable=redefined-builtin + # by this point, type and rest_name will have a value bc we default + # them in __new__ of the Model class + # Use _data.get() directly to avoid triggering __getitem__ which clears the cache + item = obj._data.get(self._rest_name) + if item is None: + return item + if self._is_model: + return item + + # For mutable types, we want mutations to directly affect _data + # Check if we've already deserialized this value + cache_attr = f"_deserialized_{self._rest_name}" + if hasattr(obj, cache_attr): + # Return the value from _data directly (it's been deserialized in place) + return obj._data.get(self._rest_name) + + deserialized = _deserialize(self._type, _serialize(item, self._format), rf=self) + + # For mutable types, store the deserialized value back in _data + # so mutations directly affect _data + if isinstance(deserialized, (dict, list, set)): + obj._data[self._rest_name] = deserialized + object.__setattr__(obj, cache_attr, True) # Mark as deserialized + return deserialized + + return deserialized + + def __set__(self, obj: Model, value) -> None: + # Clear the cached deserialized object when setting a new value + cache_attr = f"_deserialized_{self._rest_name}" + if hasattr(obj, cache_attr): + object.__delattr__(obj, cache_attr) + + if value is None: + # we want to wipe out entries if users set attr to None + try: + obj.__delitem__(self._rest_name) + except KeyError: + pass + return + if self._is_model: + if not _is_model(value): + value = _deserialize(self._type, value) + obj.__setitem__(self._rest_name, value) + return + obj.__setitem__(self._rest_name, _serialize(value, self._format)) + + def _get_deserialize_callable_from_annotation( + self, annotation: typing.Any + ) -> typing.Optional[typing.Callable[[typing.Any], typing.Any]]: + return _get_deserialize_callable_from_annotation(annotation, self._module, self) + + +def rest_field( + *, + name: typing.Optional[str] = None, + type: typing.Optional[typing.Callable] = None, # pylint: disable=redefined-builtin + visibility: typing.Optional[list[str]] = None, + default: typing.Any = _UNSET, + format: typing.Optional[str] = None, + is_multipart_file_input: bool = False, + xml: typing.Optional[dict[str, typing.Any]] = None, + original_tsp_name: typing.Optional[str] = None, +) -> typing.Any: + return _RestField( + name=name, + type=type, + visibility=visibility, + default=default, + format=format, + is_multipart_file_input=is_multipart_file_input, + xml=xml, + original_tsp_name=original_tsp_name, + ) + + +def rest_discriminator( + *, + name: typing.Optional[str] = None, + type: typing.Optional[typing.Callable] = None, # pylint: disable=redefined-builtin + visibility: typing.Optional[list[str]] = None, + xml: typing.Optional[dict[str, typing.Any]] = None, +) -> typing.Any: + return _RestField(name=name, type=type, is_discriminator=True, visibility=visibility, xml=xml) + + +def serialize_xml(model: Model, exclude_readonly: bool = False) -> str: + """Serialize a model to XML. + + :param Model model: The model to serialize. + :param bool exclude_readonly: Whether to exclude readonly properties. + :returns: The XML representation of the model. + :rtype: str + """ + return ET.tostring(_get_element(model, exclude_readonly), encoding="unicode") # type: ignore + + +def _get_element( + o: typing.Any, + exclude_readonly: bool = False, + parent_meta: typing.Optional[dict[str, typing.Any]] = None, + wrapped_element: typing.Optional[ET.Element] = None, +) -> typing.Union[ET.Element, list[ET.Element]]: + if _is_model(o): + model_meta = getattr(o, "_xml", {}) + + # if prop is a model, then use the prop element directly, else generate a wrapper of model + if wrapped_element is None: + wrapped_element = _create_xml_element( + model_meta.get("name", o.__class__.__name__), + model_meta.get("prefix"), + model_meta.get("ns"), + ) + + readonly_props = [] + if exclude_readonly: + readonly_props = [p._rest_name for p in o._attr_to_rest_field.values() if _is_readonly(p)] + + for k, v in o.items(): + # do not serialize readonly properties + if exclude_readonly and k in readonly_props: + continue + + prop_rest_field = _get_rest_field(o._attr_to_rest_field, k) + if prop_rest_field: + prop_meta = getattr(prop_rest_field, "_xml").copy() + # use the wire name as xml name if no specific name is set + if prop_meta.get("name") is None: + prop_meta["name"] = k + else: + # additional properties will not have rest field, use the wire name as xml name + prop_meta = {"name": k} + + # if no ns for prop, use model's + if prop_meta.get("ns") is None and model_meta.get("ns"): + prop_meta["ns"] = model_meta.get("ns") + prop_meta["prefix"] = model_meta.get("prefix") + + if prop_meta.get("unwrapped", False): + # unwrapped could only set on array + wrapped_element.extend(_get_element(v, exclude_readonly, prop_meta)) + elif prop_meta.get("text", False): + # text could only set on primitive type + wrapped_element.text = _get_primitive_type_value(v) + elif prop_meta.get("attribute", False): + xml_name = prop_meta.get("name", k) + if prop_meta.get("ns"): + ET.register_namespace(prop_meta.get("prefix"), prop_meta.get("ns")) # pyright: ignore + xml_name = "{" + prop_meta.get("ns") + "}" + xml_name # pyright: ignore + # attribute should be primitive type + wrapped_element.set(xml_name, _get_primitive_type_value(v)) + else: + # other wrapped prop element + wrapped_element.append(_get_wrapped_element(v, exclude_readonly, prop_meta)) + return wrapped_element + if isinstance(o, list): + return [_get_element(x, exclude_readonly, parent_meta) for x in o] # type: ignore + if isinstance(o, dict): + result = [] + for k, v in o.items(): + result.append( + _get_wrapped_element( + v, + exclude_readonly, + { + "name": k, + "ns": parent_meta.get("ns") if parent_meta else None, + "prefix": parent_meta.get("prefix") if parent_meta else None, + }, + ) + ) + return result + + # primitive case need to create element based on parent_meta + if parent_meta: + return _get_wrapped_element( + o, + exclude_readonly, + { + "name": parent_meta.get("itemsName", parent_meta.get("name")), + "prefix": parent_meta.get("itemsPrefix", parent_meta.get("prefix")), + "ns": parent_meta.get("itemsNs", parent_meta.get("ns")), + }, + ) + + raise ValueError("Could not serialize value into xml: " + o) + + +def _get_wrapped_element( + v: typing.Any, + exclude_readonly: bool, + meta: typing.Optional[dict[str, typing.Any]], +) -> ET.Element: + wrapped_element = _create_xml_element( + meta.get("name") if meta else None, meta.get("prefix") if meta else None, meta.get("ns") if meta else None + ) + if isinstance(v, (dict, list)): + wrapped_element.extend(_get_element(v, exclude_readonly, meta)) + elif _is_model(v): + _get_element(v, exclude_readonly, meta, wrapped_element) + else: + wrapped_element.text = _get_primitive_type_value(v) + return wrapped_element # type: ignore[no-any-return] + + +def _get_primitive_type_value(v) -> str: + if v is True: + return "true" + if v is False: + return "false" + if isinstance(v, _Null): + return "" + return str(v) + + +def _create_xml_element( + tag: typing.Any, prefix: typing.Optional[str] = None, ns: typing.Optional[str] = None +) -> ET.Element: + if prefix and ns: + ET.register_namespace(prefix, ns) + if ns: + return ET.Element("{" + ns + "}" + tag) + return ET.Element(tag) + + +def _deserialize_xml( + deserializer: typing.Any, + value: str, +) -> typing.Any: + element = ET.fromstring(value) # nosec + return _deserialize(deserializer, element) + + +def _convert_element(e: ET.Element): + # dict case + if len(e.attrib) > 0 or len({child.tag for child in e}) > 1: + dict_result: dict[str, typing.Any] = {} + for child in e: + if dict_result.get(child.tag) is not None: + if isinstance(dict_result[child.tag], list): + dict_result[child.tag].append(_convert_element(child)) + else: + dict_result[child.tag] = [dict_result[child.tag], _convert_element(child)] + else: + dict_result[child.tag] = _convert_element(child) + dict_result.update(e.attrib) + return dict_result + # array case + if len(e) > 0: + array_result: list[typing.Any] = [] + for child in e: + array_result.append(_convert_element(child)) + return array_result + # primitive case + return e.text diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py index e667da542878..88f9e0b809ec 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py @@ -3,7 +3,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_version.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_version.py index 2eda20789583..8eb37199ee54 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_version.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_version.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py index c24b5c678748..4926cd5fb27b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- # pylint: disable=wrong-import-position @@ -12,7 +12,7 @@ if TYPE_CHECKING: from ._patch import * # pylint: disable=unused-wildcard-import -from ._azure_arc_data_management_client import AzureArcDataManagementClient # type: ignore +from ._client import AzureArcDataClient # type: ignore try: from ._patch import __all__ as _patch_all @@ -22,7 +22,7 @@ from ._patch import patch_sdk as _patch_sdk __all__ = [ - "AzureArcDataManagementClient", + "AzureArcDataClient", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_azure_arc_data_management_client.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_client.py similarity index 87% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_azure_arc_data_management_client.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_client.py index fabaa90df43d..d2701bf96654 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_azure_arc_data_management_client.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_client.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -17,9 +17,8 @@ from azure.mgmt.core.policies import AsyncARMAutoResourceProviderRegistrationPolicy from azure.mgmt.core.tools import get_arm_endpoints -from .. import models as _models from .._utils.serialization import Deserializer, Serializer -from ._configuration import AzureArcDataManagementClientConfiguration +from ._configuration import AzureArcDataClientConfiguration from .operations import ( ActiveDirectoryConnectorsOperations, DataControllersOperations, @@ -39,7 +38,7 @@ from azure.core.credentials_async import AsyncTokenCredential -class AzureArcDataManagementClient: # pylint: disable=too-many-instance-attributes +class AzureArcDataClient: # pylint: disable=too-many-instance-attributes """The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources. @@ -48,41 +47,42 @@ class AzureArcDataManagementClient: # pylint: disable=too-many-instance-attribu :ivar sql_managed_instances: SqlManagedInstancesOperations operations :vartype sql_managed_instances: azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations - :ivar failover_groups: FailoverGroupsOperations operations - :vartype failover_groups: azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations :ivar sql_server_instances: SqlServerInstancesOperations operations :vartype sql_server_instances: azure.mgmt.azurearcdata.aio.operations.SqlServerInstancesOperations :ivar sql_server_licenses: SqlServerLicensesOperations operations :vartype sql_server_licenses: azure.mgmt.azurearcdata.aio.operations.SqlServerLicensesOperations - :ivar data_controllers: DataControllersOperations operations - :vartype data_controllers: azure.mgmt.azurearcdata.aio.operations.DataControllersOperations - :ivar active_directory_connectors: ActiveDirectoryConnectorsOperations operations - :vartype active_directory_connectors: - azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations :ivar postgres_instances: PostgresInstancesOperations operations :vartype postgres_instances: azure.mgmt.azurearcdata.aio.operations.PostgresInstancesOperations + :ivar sql_server_esu_licenses: SqlServerEsuLicensesOperations operations + :vartype sql_server_esu_licenses: + azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations + :ivar failover_groups: FailoverGroupsOperations operations + :vartype failover_groups: azure.mgmt.azurearcdata.aio.operations.FailoverGroupsOperations :ivar sql_server_availability_groups: SqlServerAvailabilityGroupsOperations operations :vartype sql_server_availability_groups: azure.mgmt.azurearcdata.aio.operations.SqlServerAvailabilityGroupsOperations + :ivar data_controllers: DataControllersOperations operations + :vartype data_controllers: azure.mgmt.azurearcdata.aio.operations.DataControllersOperations + :ivar active_directory_connectors: ActiveDirectoryConnectorsOperations operations + :vartype active_directory_connectors: + azure.mgmt.azurearcdata.aio.operations.ActiveDirectoryConnectorsOperations :ivar sql_server_databases: SqlServerDatabasesOperations operations :vartype sql_server_databases: azure.mgmt.azurearcdata.aio.operations.SqlServerDatabasesOperations - :ivar sql_server_esu_licenses: SqlServerEsuLicensesOperations operations - :vartype sql_server_esu_licenses: - azure.mgmt.azurearcdata.aio.operations.SqlServerEsuLicensesOperations - :param credential: Credential needed for the client to connect to Azure. Required. + :param credential: Credential used to authenticate requests to the service. Required. :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: The ID of the Azure subscription. Required. + :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. :type subscription_id: str - :param base_url: Service URL. Default value is None. + :param base_url: Service host. Default value is None. :type base_url: str :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :paramtype cloud_setting: ~azure.core.AzureClouds - :keyword api_version: Api Version. Default value is "2026-03-01-preview". Note that overriding - this default value may result in unsupported behavior. + :keyword api_version: The API version to use for this operation. Known values are + "2026-03-01-preview". Default value is "2026-03-01-preview". 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 Retry-After header is present. @@ -97,14 +97,16 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: + _endpoint = "{endpoint}" _cloud = cloud_setting or settings.current.azure_cloud # type: ignore _endpoints = get_arm_endpoints(_cloud) if not base_url: base_url = _endpoints["resource_manager"] credential_scopes = kwargs.pop("credential_scopes", _endpoints["credential_scopes"]) - self._config = AzureArcDataManagementClientConfiguration( + self._config = AzureArcDataClientConfiguration( credential=credential, subscription_id=subscription_id, + base_url=cast(str, base_url), cloud_setting=cloud_setting, credential_scopes=credential_scopes, **kwargs @@ -129,44 +131,43 @@ def __init__( self._config.http_logging_policy, ] self._client: AsyncARMPipelineClient = AsyncARMPipelineClient( - base_url=cast(str, base_url), policies=_policies, **kwargs + base_url=cast(str, _endpoint), policies=_policies, **kwargs ) - client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) + self._serialize = Serializer() + self._deserialize = Deserializer() self._serialize.client_side_validation = False self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) self.sql_managed_instances = SqlManagedInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.failover_groups = FailoverGroupsOperations(self._client, self._config, self._serialize, self._deserialize) self.sql_server_instances = SqlServerInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) self.sql_server_licenses = SqlServerLicensesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.data_controllers = DataControllersOperations( + self.postgres_instances = PostgresInstancesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.active_directory_connectors = ActiveDirectoryConnectorsOperations( + self.sql_server_esu_licenses = SqlServerEsuLicensesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.postgres_instances = PostgresInstancesOperations( + self.failover_groups = FailoverGroupsOperations(self._client, self._config, self._serialize, self._deserialize) + self.sql_server_availability_groups = SqlServerAvailabilityGroupsOperations( self._client, self._config, self._serialize, self._deserialize ) - self.sql_server_availability_groups = SqlServerAvailabilityGroupsOperations( + self.data_controllers = DataControllersOperations( self._client, self._config, self._serialize, self._deserialize ) - self.sql_server_databases = SqlServerDatabasesOperations( + self.active_directory_connectors = ActiveDirectoryConnectorsOperations( self._client, self._config, self._serialize, self._deserialize ) - self.sql_server_esu_licenses = SqlServerEsuLicensesOperations( + self.sql_server_databases = SqlServerDatabasesOperations( self._client, self._config, self._serialize, self._deserialize ) - def _send_request( + def send_request( self, request: HttpRequest, *, stream: bool = False, **kwargs: Any ) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. @@ -174,7 +175,7 @@ def _send_request( >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") - >>> response = await client._send_request(request) + >>> response = await client.send_request(request) For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request @@ -187,7 +188,11 @@ def _send_request( """ request_copy = deepcopy(request) - request_copy.url = self._client.format_url(request_copy.url) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore async def close(self) -> None: diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py index 8234603e4200..506becc196c2 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -18,21 +18,24 @@ from azure.core.credentials_async import AsyncTokenCredential -class AzureArcDataManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long - """Configuration for AzureArcDataManagementClient. +class AzureArcDataClientConfiguration: # pylint: disable=too-many-instance-attributes + """Configuration for AzureArcDataClient. Note that all parameters used to create this instance are saved as instance attributes. - :param credential: Credential needed for the client to connect to Azure. Required. + :param credential: Credential used to authenticate requests to the service. Required. :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: The ID of the Azure subscription. Required. + :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. :type subscription_id: str + :param base_url: Service host. Default value is "https://management.azure.com". + :type base_url: str :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is None. :type cloud_setting: ~azure.core.AzureClouds - :keyword api_version: Api Version. Default value is "2026-03-01-preview". Note that overriding - this default value may result in unsupported behavior. + :keyword api_version: The API version to use for this operation. Known values are + "2026-03-01-preview". Default value is "2026-03-01-preview". Note that overriding this default + value may result in unsupported behavior. :paramtype api_version: str """ @@ -40,6 +43,7 @@ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, + base_url: str = "https://management.azure.com", cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: @@ -52,6 +56,7 @@ def __init__( self.credential = credential self.subscription_id = subscription_id + self.base_url = base_url self.cloud_setting = cloud_setting self.api_version = api_version self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_patch.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_patch.py index f7dd32510333..837c125a81c5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_patch.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_patch.py @@ -1,14 +1,16 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ +# 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. +# -------------------------------------------------------------------------- +from __future__ import annotations """Customize generated code here. Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ -from typing import List -__all__: List[str] = [] # Add all objects you want publicly available to users at this package level + +__all__: list[str] = [] # Add all objects you want publicly available to users at this package level def patch_sdk(): diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/__init__.py index 932bd07931c2..7a8d371b1591 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/__init__.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- # pylint: disable=wrong-import-position @@ -13,16 +13,16 @@ from ._patch import * # pylint: disable=unused-wildcard-import from ._operations import Operations # type: ignore -from ._sql_managed_instances_operations import SqlManagedInstancesOperations # type: ignore -from ._failover_groups_operations import FailoverGroupsOperations # type: ignore -from ._sql_server_instances_operations import SqlServerInstancesOperations # type: ignore -from ._sql_server_licenses_operations import SqlServerLicensesOperations # type: ignore -from ._data_controllers_operations import DataControllersOperations # type: ignore -from ._active_directory_connectors_operations import ActiveDirectoryConnectorsOperations # type: ignore -from ._postgres_instances_operations import PostgresInstancesOperations # type: ignore -from ._sql_server_availability_groups_operations import SqlServerAvailabilityGroupsOperations # type: ignore -from ._sql_server_databases_operations import SqlServerDatabasesOperations # type: ignore -from ._sql_server_esu_licenses_operations import SqlServerEsuLicensesOperations # type: ignore +from ._operations import SqlManagedInstancesOperations # type: ignore +from ._operations import SqlServerInstancesOperations # type: ignore +from ._operations import SqlServerLicensesOperations # type: ignore +from ._operations import PostgresInstancesOperations # type: ignore +from ._operations import SqlServerEsuLicensesOperations # type: ignore +from ._operations import FailoverGroupsOperations # type: ignore +from ._operations import SqlServerAvailabilityGroupsOperations # type: ignore +from ._operations import DataControllersOperations # type: ignore +from ._operations import ActiveDirectoryConnectorsOperations # type: ignore +from ._operations import SqlServerDatabasesOperations # type: ignore from ._patch import __all__ as _patch_all from ._patch import * @@ -31,15 +31,15 @@ __all__ = [ "Operations", "SqlManagedInstancesOperations", - "FailoverGroupsOperations", "SqlServerInstancesOperations", "SqlServerLicensesOperations", - "DataControllersOperations", - "ActiveDirectoryConnectorsOperations", "PostgresInstancesOperations", + "SqlServerEsuLicensesOperations", + "FailoverGroupsOperations", "SqlServerAvailabilityGroupsOperations", + "DataControllersOperations", + "ActiveDirectoryConnectorsOperations", "SqlServerDatabasesOperations", - "SqlServerEsuLicensesOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore _patch_sdk() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_active_directory_connectors_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_active_directory_connectors_operations.py deleted file mode 100644 index 9d187ffb8d12..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_active_directory_connectors_operations.py +++ /dev/null @@ -1,551 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from collections.abc import MutableMapping -from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import AsyncPipelineClient -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.pipeline import PipelineResponse -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.tracing.decorator import distributed_trace -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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer -from ...operations._active_directory_connectors_operations import ( - build_create_request, - build_delete_request, - build_get_request, - build_list_request, -) -from .._configuration import AzureArcDataManagementClientConfiguration - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list - - -class ActiveDirectoryConnectorsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s - :attr:`active_directory_connectors` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list( - self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.ActiveDirectoryConnectorResource"]: - """List the active directory connectors associated with the given data controller. - - List the active directory connectors associated with the given data controller. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :return: An iterator like instance of either ActiveDirectoryConnectorResource or the result of - cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.ActiveDirectoryConnectorListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("ActiveDirectoryConnectorListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - async def _create_initial( - self, - resource_group_name: str, - data_controller_name: str, - active_directory_connector_name: str, - active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(active_directory_connector_resource, (IOBase, bytes)): - _content = active_directory_connector_resource - else: - _json = self._serialize.body(active_directory_connector_resource, "ActiveDirectoryConnectorResource") - - _request = build_create_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - active_directory_connector_name=active_directory_connector_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create( - self, - resource_group_name: str, - data_controller_name: str, - active_directory_connector_name: str, - active_directory_connector_resource: _models.ActiveDirectoryConnectorResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.ActiveDirectoryConnectorResource]: - """Creates or replaces an Active Directory connector resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param active_directory_connector_name: The name of the Active Directory connector instance. - Required. - :type active_directory_connector_name: str - :param active_directory_connector_resource: desc. Required. - :type active_directory_connector_resource: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either ActiveDirectoryConnectorResource or - the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create( - self, - resource_group_name: str, - data_controller_name: str, - active_directory_connector_name: str, - active_directory_connector_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.ActiveDirectoryConnectorResource]: - """Creates or replaces an Active Directory connector resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param active_directory_connector_name: The name of the Active Directory connector instance. - Required. - :type active_directory_connector_name: str - :param active_directory_connector_resource: desc. Required. - :type active_directory_connector_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either ActiveDirectoryConnectorResource or - the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_create( - self, - resource_group_name: str, - data_controller_name: str, - active_directory_connector_name: str, - active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.ActiveDirectoryConnectorResource]: - """Creates or replaces an Active Directory connector resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param active_directory_connector_name: The name of the Active Directory connector instance. - Required. - :type active_directory_connector_name: str - :param active_directory_connector_resource: desc. Is either a ActiveDirectoryConnectorResource - type or a IO[bytes] type. Required. - :type active_directory_connector_resource: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource or IO[bytes] - :return: An instance of AsyncLROPoller that returns either ActiveDirectoryConnectorResource or - the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] - :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[_models.ActiveDirectoryConnectorResource] = 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._create_initial( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - active_directory_connector_name=active_directory_connector_name, - active_directory_connector_resource=active_directory_connector_resource, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.ActiveDirectoryConnectorResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.ActiveDirectoryConnectorResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _delete_initial( - self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - active_directory_connector_name=active_directory_connector_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete( - self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes an Active Directory connector resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param active_directory_connector_name: The name of the Active Directory connector instance. - Required. - :type active_directory_connector_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - active_directory_connector_name=active_directory_connector_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace_async - async def get( - self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any - ) -> _models.ActiveDirectoryConnectorResource: - """Retrieves an Active Directory connector resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param active_directory_connector_name: The name of the Active Directory connector instance. - Required. - :type active_directory_connector_name: str - :return: ActiveDirectoryConnectorResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.ActiveDirectoryConnectorResource] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - active_directory_connector_name=active_directory_connector_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("ActiveDirectoryConnectorResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_data_controllers_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_data_controllers_operations.py deleted file mode 100644 index 177b1916f77e..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_data_controllers_operations.py +++ /dev/null @@ -1,807 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from collections.abc import MutableMapping -from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import AsyncPipelineClient -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.pipeline import PipelineResponse -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.tracing.decorator import distributed_trace -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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer -from ...operations._data_controllers_operations import ( - build_delete_data_controller_request, - build_get_data_controller_request, - build_list_in_group_request, - build_list_in_subscription_request, - build_patch_data_controller_request, - build_put_data_controller_request, -) -from .._configuration import AzureArcDataManagementClientConfiguration - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list - - -class DataControllersOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s - :attr:`data_controllers` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list_in_subscription(self, **kwargs: Any) -> AsyncItemPaged["_models.DataControllerResource"]: - """List dataController resources in the subscription. - - List dataController resources in the subscription. - - :return: An iterator like instance of either DataControllerResource or the result of - cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.PageOfDataControllerResource] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_in_subscription_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("PageOfDataControllerResource", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - def list_in_group( - self, resource_group_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.DataControllerResource"]: - """List dataController resources in the resource group. - - List dataController resources in the resource group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :return: An iterator like instance of either DataControllerResource or the result of - cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.PageOfDataControllerResource] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_in_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("PageOfDataControllerResource", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - async def _put_data_controller_initial( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: Union[_models.DataControllerResource, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(data_controller_resource, (IOBase, bytes)): - _content = data_controller_resource - else: - _json = self._serialize.body(data_controller_resource, "DataControllerResource") - - _request = build_put_data_controller_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_put_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: _models.DataControllerResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.DataControllerResource]: - """Creates or replaces a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: desc. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either DataControllerResource or the result - of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_put_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.DataControllerResource]: - """Creates or replaces a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: desc. Required. - :type data_controller_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either DataControllerResource or the result - of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_put_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: Union[_models.DataControllerResource, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.DataControllerResource]: - """Creates or replaces a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: desc. Is either a DataControllerResource type or a IO[bytes] - type. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource or - IO[bytes] - :return: An instance of AsyncLROPoller that returns either DataControllerResource or the result - of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :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[_models.DataControllerResource] = 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._put_data_controller_initial( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - data_controller_resource=data_controller_resource, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("DataControllerResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.DataControllerResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.DataControllerResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _delete_data_controller_initial( - self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_data_controller_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete_data_controller( - self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :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 = 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)) - 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._delete_data_controller_initial( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace_async - async def get_data_controller( - self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> _models.DataControllerResource: - """Retrieves a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :return: DataControllerResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.DataControllerResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.DataControllerResource] = kwargs.pop("cls", None) - - _request = build_get_data_controller_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("DataControllerResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _patch_data_controller_initial( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: Union[_models.DataControllerUpdate, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(data_controller_resource, (IOBase, bytes)): - _content = data_controller_resource - else: - _json = self._serialize.body(data_controller_resource, "DataControllerUpdate") - - _request = build_patch_data_controller_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_patch_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: _models.DataControllerUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.DataControllerResource]: - """Updates a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: The update data controller resource. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either DataControllerResource or the result - of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_patch_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.DataControllerResource]: - """Updates a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: The update data controller resource. Required. - :type data_controller_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either DataControllerResource or the result - of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_patch_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: Union[_models.DataControllerUpdate, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.DataControllerResource]: - """Updates a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: The update data controller resource. Is either a - DataControllerUpdate type or a IO[bytes] type. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate or - IO[bytes] - :return: An instance of AsyncLROPoller that returns either DataControllerResource or the result - of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :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[_models.DataControllerResource] = 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._patch_data_controller_initial( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - data_controller_resource=data_controller_resource, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("DataControllerResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.DataControllerResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.DataControllerResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_failover_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_failover_groups_operations.py deleted file mode 100644 index 3f044e156aa1..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_failover_groups_operations.py +++ /dev/null @@ -1,545 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from collections.abc import MutableMapping -from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import AsyncPipelineClient -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.pipeline import PipelineResponse -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.tracing.decorator import distributed_trace -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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer -from ...operations._failover_groups_operations import ( - build_create_request, - build_delete_request, - build_get_request, - build_list_request, -) -from .._configuration import AzureArcDataManagementClientConfiguration - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list - - -class FailoverGroupsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s - :attr:`failover_groups` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list( - self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.FailoverGroupResource"]: - """List the failover groups associated with the given sql managed instance. - - List the failover groups associated with the given sql managed instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :return: An iterator like instance of either FailoverGroupResource or the result of - cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.FailoverGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.FailoverGroupListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("FailoverGroupListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - async def _create_initial( - self, - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_name: str, - failover_group_resource: Union[_models.FailoverGroupResource, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(failover_group_resource, (IOBase, bytes)): - _content = failover_group_resource - else: - _json = self._serialize.body(failover_group_resource, "FailoverGroupResource") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - failover_group_name=failover_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_name: str, - failover_group_resource: _models.FailoverGroupResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.FailoverGroupResource]: - """Creates or replaces a failover group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param failover_group_name: The name of the Failover Group. Required. - :type failover_group_name: str - :param failover_group_resource: desc. Required. - :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either FailoverGroupResource or the result - of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_name: str, - failover_group_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.FailoverGroupResource]: - """Creates or replaces a failover group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param failover_group_name: The name of the Failover Group. Required. - :type failover_group_name: str - :param failover_group_resource: desc. Required. - :type failover_group_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either FailoverGroupResource or the result - of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_name: str, - failover_group_resource: Union[_models.FailoverGroupResource, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.FailoverGroupResource]: - """Creates or replaces a failover group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param failover_group_name: The name of the Failover Group. Required. - :type failover_group_name: str - :param failover_group_resource: desc. Is either a FailoverGroupResource type or a IO[bytes] - type. Required. - :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource or - IO[bytes] - :return: An instance of AsyncLROPoller that returns either FailoverGroupResource or the result - of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] - :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[_models.FailoverGroupResource] = 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._create_initial( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - failover_group_name=failover_group_name, - failover_group_resource=failover_group_resource, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("FailoverGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.FailoverGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.FailoverGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _delete_initial( - self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - failover_group_name=failover_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete( - self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes a failover group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param failover_group_name: The name of the Failover Group. Required. - :type failover_group_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - failover_group_name=failover_group_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace_async - async def get( - self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any - ) -> _models.FailoverGroupResource: - """Retrieves a failover group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param failover_group_name: The name of the Failover Group. Required. - :type failover_group_name: str - :return: FailoverGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.FailoverGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.FailoverGroupResource] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - failover_group_name=failover_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("FailoverGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py index 9776d8ebde79..06cad003c3d1 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py @@ -1,12 +1,16 @@ +# pylint: disable=line-too-long,useless-suppression,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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from __future__ import annotations from collections.abc import MutableMapping -from typing import Any, Callable, Optional, TypeVar +from io import IOBase +import json +from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import AsyncPipelineClient @@ -17,21 +21,109 @@ ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.pipeline import PipelineResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.core.tracing.decorator import distributed_trace +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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models +from ..._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from ..._utils.serialization import Deserializer, Serializer -from ...operations._operations import build_list_request -from .._configuration import AzureArcDataManagementClientConfiguration +from ...operations._operations import ( + build_active_directory_connectors_create_request, + build_active_directory_connectors_delete_request, + build_active_directory_connectors_get_request, + build_active_directory_connectors_list_request, + build_data_controllers_delete_data_controller_request, + build_data_controllers_get_data_controller_request, + build_data_controllers_list_in_group_request, + build_data_controllers_list_in_subscription_request, + build_data_controllers_patch_data_controller_request, + build_data_controllers_put_data_controller_request, + build_failover_groups_create_request, + build_failover_groups_delete_request, + build_failover_groups_get_request, + build_failover_groups_list_request, + build_operations_list_request, + build_postgres_instances_create_request, + build_postgres_instances_delete_request, + build_postgres_instances_get_request, + build_postgres_instances_list_by_resource_group_request, + build_postgres_instances_list_request, + build_postgres_instances_update_request, + build_sql_managed_instances_create_request, + build_sql_managed_instances_delete_request, + build_sql_managed_instances_get_request, + build_sql_managed_instances_list_by_resource_group_request, + build_sql_managed_instances_list_request, + build_sql_managed_instances_update_request, + build_sql_server_availability_groups_add_databases_request, + build_sql_server_availability_groups_create_availability_group_request, + build_sql_server_availability_groups_create_distributed_availability_group_request, + build_sql_server_availability_groups_create_managed_instance_link_request, + build_sql_server_availability_groups_create_request, + build_sql_server_availability_groups_delete_mi_link_request, + build_sql_server_availability_groups_delete_request, + build_sql_server_availability_groups_detail_view_request, + build_sql_server_availability_groups_failover_mi_link_request, + build_sql_server_availability_groups_failover_request, + build_sql_server_availability_groups_force_failover_allow_data_loss_request, + build_sql_server_availability_groups_get_request, + build_sql_server_availability_groups_list_request, + build_sql_server_availability_groups_remove_databases_request, + build_sql_server_availability_groups_update_request, + build_sql_server_databases_create_request, + build_sql_server_databases_delete_request, + build_sql_server_databases_get_request, + build_sql_server_databases_list_request, + build_sql_server_databases_update_request, + build_sql_server_esu_licenses_create_request, + build_sql_server_esu_licenses_delete_request, + build_sql_server_esu_licenses_get_request, + build_sql_server_esu_licenses_list_by_resource_group_request, + build_sql_server_esu_licenses_list_request, + build_sql_server_esu_licenses_update_request, + build_sql_server_instances_create_request, + build_sql_server_instances_delete_request, + build_sql_server_instances_get_all_availability_groups_request, + build_sql_server_instances_get_best_practices_assessment_request, + build_sql_server_instances_get_jobs_request, + build_sql_server_instances_get_jobs_status_request, + build_sql_server_instances_get_migration_readiness_report_request, + build_sql_server_instances_get_request, + build_sql_server_instances_get_target_recommendation_reports_request, + build_sql_server_instances_get_telemetry_request, + build_sql_server_instances_list_by_resource_group_request, + build_sql_server_instances_list_request, + build_sql_server_instances_post_upgrade_request, + build_sql_server_instances_pre_upgrade_request, + build_sql_server_instances_run_best_practice_assessment_request, + build_sql_server_instances_run_best_practices_assessment_request, + build_sql_server_instances_run_managed_instance_link_assessment_request, + build_sql_server_instances_run_migration_assessment_request, + build_sql_server_instances_run_migration_readiness_assessment_request, + build_sql_server_instances_run_target_recommendation_job_request, + build_sql_server_instances_update_request, + build_sql_server_licenses_create_request, + build_sql_server_licenses_delete_request, + build_sql_server_licenses_get_request, + build_sql_server_licenses_list_by_resource_group_request, + build_sql_server_licenses_list_request, + build_sql_server_licenses_update_request, +) +from .._configuration import AzureArcDataClientConfiguration T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] +JSON = MutableMapping[str, Any] List = list @@ -41,18 +133,14 @@ class Operations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s :attr:`operations` attribute. """ - models = _models - def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -60,15 +148,728 @@ def __init__(self, *args, **kwargs) -> None: def list(self, **kwargs: Any) -> AsyncItemPaged["_models.Operation"]: """Lists all of the available Azure Data Services on Azure Arc API operations. - :return: An iterator like instance of either Operation or the result of cls(response) + :return: An iterator like instance of Operation :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.Operation] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.Operation]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_operations_list_request( + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.Operation], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + +class SqlManagedInstancesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :attr:`sql_managed_instances` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any + ) -> _models.SqlManagedInstance: + """Retrieves a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :return: SqlManagedInstance. The SqlManagedInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlManagedInstance] = kwargs.pop("cls", None) + + _request = build_sql_managed_instances_get_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlManagedInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_initial( + self, + resource_group_name: str, + sql_managed_instance_name: str, + sql_managed_instance: Union[_models.SqlManagedInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_managed_instance, (IOBase, bytes)): + _content = sql_managed_instance + else: + _content = json.dumps(sql_managed_instance, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_managed_instances_create_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + sql_managed_instance: _models.SqlManagedInstance, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlManagedInstance]: + """Creates or replaces a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. + :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlManagedInstance. The SqlManagedInstance + is compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + sql_managed_instance: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlManagedInstance]: + """Creates or replaces a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. + :type sql_managed_instance: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlManagedInstance. The SqlManagedInstance + is compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + sql_managed_instance: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlManagedInstance]: + """Creates or replaces a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. + :type sql_managed_instance: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlManagedInstance. The SqlManagedInstance + is compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + sql_managed_instance: Union[_models.SqlManagedInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlManagedInstance]: + """Creates or replaces a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param sql_managed_instance: The SQL Managed Instance to be created or updated. Is one of the + following types: SqlManagedInstance, JSON, IO[bytes] Required. + :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance or JSON or + IO[bytes] + :return: An instance of AsyncLROPoller that returns SqlManagedInstance. The SqlManagedInstance + is compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlManagedInstance] = 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._create_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + sql_managed_instance=sql_managed_instance, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.SqlManagedInstance, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlManagedInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlManagedInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + async def update( + self, + resource_group_name: str, + sql_managed_instance_name: str, + parameters: _models.SqlManagedInstanceUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlManagedInstance: + """Updates a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param parameters: The SQL Managed Instance. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlManagedInstance. The SqlManagedInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + sql_managed_instance_name: str, + parameters: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlManagedInstance: + """Updates a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param parameters: The SQL Managed Instance. Required. + :type parameters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlManagedInstance. The SqlManagedInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + sql_managed_instance_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlManagedInstance: + """Updates a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param parameters: The SQL Managed Instance. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlManagedInstance. The SqlManagedInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def update( + self, + resource_group_name: str, + sql_managed_instance_name: str, + parameters: Union[_models.SqlManagedInstanceUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlManagedInstance: + """Updates a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param parameters: The SQL Managed Instance. Is one of the following types: + SqlManagedInstanceUpdate, JSON, IO[bytes] Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate or JSON or IO[bytes] + :return: SqlManagedInstance. The SqlManagedInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlManagedInstance] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_managed_instances_update_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlManagedInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _delete_initial( + self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_managed_instances_delete_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.SqlManagedInstance"]: + """List sqlManagedInstance resources in the resource group. + + Gets all sqlManagedInstances in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of SqlManagedInstance + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) - cls: ClsType[_models.OperationListResult] = kwargs.pop("cls", None) + cls: ClsType[List[_models.SqlManagedInstance]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -81,12 +882,19 @@ def list(self, **kwargs: Any) -> AsyncItemPaged["_models.Operation"]: def prepare_request(next_link=None): if not next_link: - _request = build_list_request( - api_version=api_version, + _request = build_sql_managed_instances_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, headers=_headers, params=_params, ) - _request.url = self._client.format_url(_request.url) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) else: # make call to next link with the client's api-version @@ -101,16 +909,11386 @@ def prepare_request(next_link=None): _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + return _request async def extract_data(pipeline_response): - deserialized = self._deserialize("OperationListResult", pipeline_response) - list_of_elem = deserialized.value + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlManagedInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlManagedInstance"]: + """List sqlManagedInstance resources in the subscription. + + List sqlManagedInstance resources in the subscription. + + :return: An iterator like instance of SqlManagedInstance + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlManagedInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_managed_instances_list_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlManagedInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + +class SqlServerInstancesOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :attr:`sql_server_instances` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstance: + """Retrieves a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstance. The SqlServerInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: Union[_models.SqlServerInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance, (IOBase, bytes)): + _content = sql_server_instance + else: + _content = json.dumps(sql_server_instance, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_instances_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: _models.SqlServerInstance, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Required. + :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Required. + :type sql_server_instance: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Required. + :type sql_server_instance: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: Union[_models.SqlServerInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Is one of the + following types: SqlServerInstance, JSON, IO[bytes] Required. + :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance or JSON or + IO[bytes] + :return: An instance of AsyncLROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerInstance] = 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._create_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance=sql_server_instance, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.SqlServerInstance, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: Union[_models.SqlServerInstanceUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_instances_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: _models.SqlServerInstanceUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Required. + :type parameters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: Union[_models.SqlServerInstanceUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Is one of the following types: + SqlServerInstanceUpdate, JSON, IO[bytes] Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate or JSON or IO[bytes] + :return: An instance of AsyncLROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerInstance] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + parameters=parameters, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.SqlServerInstance, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerInstance"]: + """List sqlServerInstance resources in the resource group. + + Gets all sqlServerInstances in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of SqlServerInstance + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_instances_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlServerInstance"]: + """List sqlServerInstance resources in the subscription. + + List sqlServerInstance resources in the subscription. + + :return: An iterator like instance of SqlServerInstance + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_instances_list_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + async def _get_telemetry_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): + _content = sql_server_instance_telemetry_request + else: + _content = json.dumps(sql_server_instance_telemetry_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_instances_get_telemetry_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: _models.SqlServerInstanceTelemetryRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Required. + :type sql_server_instance_telemetry_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Required. + :type sql_server_instance_telemetry_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Required. + :type sql_server_instance_telemetry_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Is one of the following types: SqlServerInstanceTelemetryRequest, JSON, + IO[bytes] Required. + :type sql_server_instance_telemetry_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest or JSON or IO[bytes] + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[List[List[str]]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): + _content = sql_server_instance_telemetry_request + else: + _content = json.dumps(sql_server_instance_telemetry_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_instances_get_telemetry_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[List[str]], + deserialized.get("rows", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + 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._get_telemetry_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_telemetry_request=sql_server_instance_telemetry_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + async def internal_get_next(next_link=None): + if next_link is None: + return pipeline_response + return await get_next(next_link) + + return AsyncItemPaged(internal_get_next, extract_data) + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[AsyncItemPaged[list[str]]].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[AsyncItemPaged[list[str]]]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _get_best_practices_assessment_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): + _content = sql_server_instance_bpa_request + else: + _content = json.dumps(sql_server_instance_bpa_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_instances_get_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: _models.SqlServerInstanceBpaRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Required. + :type sql_server_instance_bpa_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Required. + :type sql_server_instance_bpa_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Required. + :type sql_server_instance_bpa_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Is one of the following types: SqlServerInstanceBpaRequest, JSON, IO[bytes] Required. + :type sql_server_instance_bpa_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest or JSON or IO[bytes] + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[List[List[str]]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): + _content = sql_server_instance_bpa_request + else: + _content = json.dumps(sql_server_instance_bpa_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_instances_get_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[List[str]], + deserialized.get("rows", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + 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._get_best_practices_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_bpa_request=sql_server_instance_bpa_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + async def internal_get_next(next_link=None): + if next_link is None: + return pipeline_response + return await get_next(next_link) + + return AsyncItemPaged(internal_get_next, extract_data) + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[AsyncItemPaged[list[str]]].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[AsyncItemPaged[list[str]]]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace_async + async def run_migration_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstanceRunMigrationAssessmentResponse: + """Runs migration assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstanceRunMigrationAssessmentResponse. The + SqlServerInstanceRunMigrationAssessmentResponse is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationAssessmentResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstanceRunMigrationAssessmentResponse] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_run_migration_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstanceRunMigrationAssessmentResponse, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _run_target_recommendation_job_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = ( + content_type or "application/json" if sql_server_instance_run_target_recommendation_job_request else None + ) + _content = None + if isinstance(sql_server_instance_run_target_recommendation_job_request, (IOBase, bytes)): + _content = sql_server_instance_run_target_recommendation_job_request + else: + if sql_server_instance_run_target_recommendation_job_request is not None: + _content = json.dumps(sql_server_instance_run_target_recommendation_job_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_sql_server_instances_run_target_recommendation_job_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + _models.SqlServerInstanceRunTargetRecommendationJobRequest + ] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceRunTargetRecommendationJobResponse. The + SqlServerInstanceRunTargetRecommendationJobResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[JSON] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceRunTargetRecommendationJobResponse. The + SqlServerInstanceRunTargetRecommendationJobResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceRunTargetRecommendationJobResponse. The + SqlServerInstanceRunTargetRecommendationJobResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Is one of the following types: + SqlServerInstanceRunTargetRecommendationJobRequest, JSON, IO[bytes] Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest or JSON or + IO[bytes] + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceRunTargetRecommendationJobResponse. The + SqlServerInstanceRunTargetRecommendationJobResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None + cls: ClsType[_models.SqlServerInstanceRunTargetRecommendationJobResponse] = 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._run_target_recommendation_job_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_run_target_recommendation_job_request=sql_server_instance_run_target_recommendation_job_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceRunTargetRecommendationJobResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _get_target_recommendation_reports_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_target_recommendation_reports_request else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = ( + content_type or "application/json" if sql_server_instance_target_recommendation_reports_request else None + ) + _content = None + if isinstance(sql_server_instance_target_recommendation_reports_request, (IOBase, bytes)): + _content = sql_server_instance_target_recommendation_reports_request + else: + if sql_server_instance_target_recommendation_reports_request is not None: + _content = json.dumps(sql_server_instance_target_recommendation_reports_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_sql_server_instances_get_target_recommendation_reports_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + _models.SqlServerInstanceTargetRecommendationReportsRequest + ] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Default value is None. + :type sql_server_instance_target_recommendation_reports_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceTargetRecommendationReportsResponse. The + SqlServerInstanceTargetRecommendationReportsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[JSON] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Default value is None. + :type sql_server_instance_target_recommendation_reports_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceTargetRecommendationReportsResponse. The + SqlServerInstanceTargetRecommendationReportsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Default value is None. + :type sql_server_instance_target_recommendation_reports_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceTargetRecommendationReportsResponse. The + SqlServerInstanceTargetRecommendationReportsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Is one of the following types: + SqlServerInstanceTargetRecommendationReportsRequest, JSON, IO[bytes] Default value is None. + :type sql_server_instance_target_recommendation_reports_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest or JSON or + IO[bytes] + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceTargetRecommendationReportsResponse. The + SqlServerInstanceTargetRecommendationReportsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_target_recommendation_reports_request else None + cls: ClsType[_models.SqlServerInstanceTargetRecommendationReportsResponse] = 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._get_target_recommendation_reports_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_target_recommendation_reports_request=sql_server_instance_target_recommendation_reports_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceTargetRecommendationReportsResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _get_migration_readiness_report_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_get_migration_readiness_report_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_get_migration_readiness_report( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]: + """Retrieves the migration readiness report for the SQL Server instance. The report contains an + assessment of the instance's readiness for migration to Azure SQL targets. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceMigrationReadinessReportResponse. The + SqlServerInstanceMigrationReadinessReportResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceMigrationReadinessReportResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstanceMigrationReadinessReportResponse] = 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._get_migration_readiness_report_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceMigrationReadinessReportResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace_async + async def run_best_practices_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstanceRunBestPracticesAssessmentResponse: + """The request to run SQL best practices assessment. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstanceRunBestPracticesAssessmentResponse. The + SqlServerInstanceRunBestPracticesAssessmentResponse is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_run_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstanceRunBestPracticesAssessmentResponse, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _run_best_practice_assessment_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_run_best_practice_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_run_best_practice_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]: + """The request to run SQL best practices assessment asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceRunBestPracticesAssessmentResponse. The + SqlServerInstanceRunBestPracticesAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = 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._run_best_practice_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceRunBestPracticesAssessmentResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _run_migration_readiness_assessment_initial( # pylint: disable=name-too-long + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_run_migration_readiness_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_run_migration_readiness_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]: + """The request to run migration readiness assessment asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceRunMigrationReadinessAssessmentResponse. The + SqlServerInstanceRunMigrationReadinessAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] = 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._run_migration_readiness_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize( + _models.SqlServerInstanceRunMigrationReadinessAssessmentResponse, response.json() + ) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[ + _models.SqlServerInstanceRunMigrationReadinessAssessmentResponse + ].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + async def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[_models.SqlServerInstanceJobsStatusRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Default value is None. + :type sql_server_instance_jobs_status_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerInstanceJobsStatusResponse. The SqlServerInstanceJobsStatusResponse is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[JSON] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Default value is None. + :type sql_server_instance_jobs_status_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerInstanceJobsStatusResponse. The SqlServerInstanceJobsStatusResponse is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Default value is None. + :type sql_server_instance_jobs_status_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerInstanceJobsStatusResponse. The SqlServerInstanceJobsStatusResponse is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[ + Union[_models.SqlServerInstanceJobsStatusRequest, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Is one of the following types: SqlServerInstanceJobsStatusRequest, + JSON, IO[bytes] Default value is None. + :type sql_server_instance_jobs_status_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest or JSON or IO[bytes] + :return: SqlServerInstanceJobsStatusResponse. The SqlServerInstanceJobsStatusResponse is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_jobs_status_request else None + cls: ClsType[_models.SqlServerInstanceJobsStatusResponse] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if sql_server_instance_jobs_status_request else None + _content = None + if isinstance(sql_server_instance_jobs_status_request, (IOBase, bytes)): + _content = sql_server_instance_jobs_status_request + else: + if sql_server_instance_jobs_status_request is not None: + _content = json.dumps(sql_server_instance_jobs_status_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_sql_server_instances_get_jobs_status_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstanceJobsStatusResponse, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _get_jobs_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, JSON, IO[bytes]]] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_jobs_request else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if sql_server_instance_jobs_request else None + _content = None + if isinstance(sql_server_instance_jobs_request, (IOBase, bytes)): + _content = sql_server_instance_jobs_request + else: + if sql_server_instance_jobs_request is not None: + _content = json.dumps(sql_server_instance_jobs_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_sql_server_instances_get_jobs_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[_models.SqlServerInstanceJobsRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Default value is None. + :type sql_server_instance_jobs_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerInstanceJobsResponse. The + SqlServerInstanceJobsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[JSON] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Default value is None. + :type sql_server_instance_jobs_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerInstanceJobsResponse. The + SqlServerInstanceJobsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Default value is None. + :type sql_server_instance_jobs_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerInstanceJobsResponse. The + SqlServerInstanceJobsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, JSON, IO[bytes]]] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Is one of the following types: SqlServerInstanceJobsRequest, JSON, IO[bytes] + Default value is None. + :type sql_server_instance_jobs_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest or JSON or IO[bytes] + :return: An instance of AsyncLROPoller that returns SqlServerInstanceJobsResponse. The + SqlServerInstanceJobsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_jobs_request else None + cls: ClsType[_models.SqlServerInstanceJobsResponse] = 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._get_jobs_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_jobs_request=sql_server_instance_jobs_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceJobsResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerInstanceJobsResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceJobsResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace_async + async def pre_upgrade( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstance: + """Request Upgrade Permission before upgrading. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstance. The SqlServerInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_pre_upgrade_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def post_upgrade( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstance: + """Clean up after upgrading. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstance. The SqlServerInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_post_upgrade_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _run_managed_instance_link_assessment_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: Union[ + _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, JSON, IO[bytes] + ], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance_managed_instance_link_assessment_request, (IOBase, bytes)): + _content = sql_server_instance_managed_instance_link_assessment_request + else: + _content = json.dumps(sql_server_instance_managed_instance_link_assessment_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_instances_run_managed_instance_link_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Required. + :type sql_server_instance_managed_instance_link_assessment_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceManagedInstanceLinkAssessmentResponse. The + SqlServerInstanceManagedInstanceLinkAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Required. + :type sql_server_instance_managed_instance_link_assessment_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceManagedInstanceLinkAssessmentResponse. The + SqlServerInstanceManagedInstanceLinkAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Required. + :type sql_server_instance_managed_instance_link_assessment_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceManagedInstanceLinkAssessmentResponse. The + SqlServerInstanceManagedInstanceLinkAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: Union[ + _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, JSON, IO[bytes] + ], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Is one of the following types: + SqlServerInstanceManagedInstanceLinkAssessmentRequest, JSON, IO[bytes] Required. + :type sql_server_instance_managed_instance_link_assessment_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest or JSON + or IO[bytes] + :return: An instance of AsyncLROPoller that returns + SqlServerInstanceManagedInstanceLinkAssessmentResponse. The + SqlServerInstanceManagedInstanceLinkAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] = 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._run_managed_instance_link_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_managed_instance_link_assessment_request=sql_server_instance_managed_instance_link_assessment_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[ + _models.SqlServerInstanceManagedInstanceLinkAssessmentResponse + ].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[_models.AvailabilityGroupRetrievalFilters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Default value is None. + :type availability_group_retrieval_filters: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An iterator like instance of SqlServerAvailabilityGroupResource + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[JSON] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Default value is None. + :type availability_group_retrieval_filters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An iterator like instance of SqlServerAvailabilityGroupResource + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Default value is None. + :type availability_group_retrieval_filters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An iterator like instance of SqlServerAvailabilityGroupResource + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[ + Union[_models.AvailabilityGroupRetrievalFilters, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Is one of the following types: + AvailabilityGroupRetrievalFilters, JSON, IO[bytes] Default value is None. + :type availability_group_retrieval_filters: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters or JSON or IO[bytes] + :return: An iterator like instance of SqlServerAvailabilityGroupResource + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if availability_group_retrieval_filters else None + cls: ClsType[List[_models.SqlServerAvailabilityGroupResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" if availability_group_retrieval_filters else None + _content = None + if isinstance(availability_group_retrieval_filters, (IOBase, bytes)): + _content = availability_group_retrieval_filters + else: + if availability_group_retrieval_filters is not None: + _content = json.dumps(availability_group_retrieval_filters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_instances_get_all_availability_groups_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerAvailabilityGroupResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + +class SqlServerLicensesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :attr:`sql_server_licenses` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any + ) -> _models.SqlServerLicense: + """Retrieves a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerLicense] = kwargs.pop("cls", None) + + _request = build_sql_server_licenses_get_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: _models.SqlServerLicense, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Required. + :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Required. + :type sql_server_license: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Required. + :type sql_server_license: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: Union[_models.SqlServerLicense, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Is one of the + following types: SqlServerLicense, JSON, IO[bytes] Required. + :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense or JSON or IO[bytes] + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_license, (IOBase, bytes)): + _content = sql_server_license + else: + _content = json.dumps(sql_server_license, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_licenses_create_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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, 201]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: _models.SqlServerLicenseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Required. + :type parameters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: Union[_models.SqlServerLicenseUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Is one of the following types: + SqlServerLicenseUpdate, JSON, IO[bytes] Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate or JSON or IO[bytes] + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_licenses_update_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def delete(self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any) -> None: + """Deletes a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_sql_server_licenses_delete_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerLicense"]: + """List sqlServerLicense resources in the resource group. + + Gets all sqlServerLicenses in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of SqlServerLicense + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerLicense]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_licenses_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerLicense], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlServerLicense"]: + """List sqlServerLicense resources in the subscription. + + List sqlServerLicense resources in the subscription. + + :return: An iterator like instance of SqlServerLicense + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerLicense]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_licenses_list_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerLicense], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + +class PostgresInstancesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :attr:`postgres_instances` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get( + self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any + ) -> _models.PostgresInstance: + """Retrieves a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :return: PostgresInstance. The PostgresInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.PostgresInstance] = kwargs.pop("cls", None) + + _request = build_postgres_instances_get_request( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.PostgresInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_initial( + self, + resource_group_name: str, + postgres_instance_name: str, + resource: Union[_models.PostgresInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(resource, (IOBase, bytes)): + _content = resource + else: + _content = json.dumps(resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_postgres_instances_create_request( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create( + self, + resource_group_name: str, + postgres_instance_name: str, + resource: _models.PostgresInstance, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.PostgresInstance]: + """Creates or replaces a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param resource: The postgres instance. Required. + :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns PostgresInstance. The PostgresInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + postgres_instance_name: str, + resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.PostgresInstance]: + """Creates or replaces a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param resource: The postgres instance. Required. + :type resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns PostgresInstance. The PostgresInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + postgres_instance_name: str, + resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.PostgresInstance]: + """Creates or replaces a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param resource: The postgres instance. Required. + :type resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns PostgresInstance. The PostgresInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + postgres_instance_name: str, + resource: Union[_models.PostgresInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.PostgresInstance]: + """Creates or replaces a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param resource: The postgres instance. Is one of the following types: PostgresInstance, JSON, + IO[bytes] Required. + :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance or JSON or IO[bytes] + :return: An instance of AsyncLROPoller that returns PostgresInstance. The PostgresInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.PostgresInstance] = 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._create_initial( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + resource=resource, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.PostgresInstance, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.PostgresInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.PostgresInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + async def update( + self, + resource_group_name: str, + postgres_instance_name: str, + parameters: _models.PostgresInstanceUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.PostgresInstance: + """Updates a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param parameters: The Postgres Instance. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: PostgresInstance. The PostgresInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + postgres_instance_name: str, + parameters: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.PostgresInstance: + """Updates a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param parameters: The Postgres Instance. Required. + :type parameters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: PostgresInstance. The PostgresInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + postgres_instance_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.PostgresInstance: + """Updates a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param parameters: The Postgres Instance. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: PostgresInstance. The PostgresInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def update( + self, + resource_group_name: str, + postgres_instance_name: str, + parameters: Union[_models.PostgresInstanceUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.PostgresInstance: + """Updates a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param parameters: The Postgres Instance. Is one of the following types: + PostgresInstanceUpdate, JSON, IO[bytes] Required. + :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate or JSON or IO[bytes] + :return: PostgresInstance. The PostgresInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.PostgresInstance] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_postgres_instances_update_request( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.PostgresInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _delete_initial( + self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_postgres_instances_delete_request( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.PostgresInstance"]: + """List postgres Instance resources in the resource group. + + Get a postgres Instances list by Resource group name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of PostgresInstance + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.PostgresInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_postgres_instances_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.PostgresInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.PostgresInstance"]: + """List postgres Instance resources in the subscription. + + List postgres Instance resources in the subscription. + + :return: An iterator like instance of PostgresInstance + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.PostgresInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_postgres_instances_list_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.PostgresInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + +class SqlServerEsuLicensesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :attr:`sql_server_esu_licenses` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Retrieves a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerEsuLicense] = kwargs.pop("cls", None) + + _request = build_sql_server_esu_licenses_get_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerEsuLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: _models.SqlServerEsuLicense, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. + :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. + :type sql_server_esu_license: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. + :type sql_server_esu_license: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: Union[_models.SqlServerEsuLicense, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Is one of + the following types: SqlServerEsuLicense, JSON, IO[bytes] Required. + :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense or JSON or + IO[bytes] + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerEsuLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_esu_license, (IOBase, bytes)): + _content = sql_server_esu_license + else: + _content = json.dumps(sql_server_esu_license, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_esu_licenses_create_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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, 201]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerEsuLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: _models.SqlServerEsuLicenseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Required. + :type parameters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: Union[_models.SqlServerEsuLicenseUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Is one of the following types: + SqlServerEsuLicenseUpdate, JSON, IO[bytes] Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate or JSON or + IO[bytes] + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerEsuLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_esu_licenses_update_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerEsuLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def delete(self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any) -> None: + """Deletes a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_sql_server_esu_licenses_delete_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerEsuLicense"]: + """List sqlServerEsuLicense resources in the resource group. + + Gets all sqlServerEsuLicenses in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of SqlServerEsuLicense + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerEsuLicense]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_esu_licenses_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerEsuLicense], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlServerEsuLicense"]: + """List sqlServerEsuLicense resources in the subscription. + + List sqlServerEsuLicense resources in the subscription. + + :return: An iterator like instance of SqlServerEsuLicense + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerEsuLicense]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_esu_licenses_list_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerEsuLicense], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + +class FailoverGroupsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :attr:`failover_groups` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> _models.FailoverGroupResource: + """Retrieves a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :return: FailoverGroupResource. The FailoverGroupResource is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.FailoverGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.FailoverGroupResource] = kwargs.pop("cls", None) + + _request = build_failover_groups_get_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.FailoverGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_initial( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: Union[_models.FailoverGroupResource, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(failover_group_resource, (IOBase, bytes)): + _content = failover_group_resource + else: + _content = json.dumps(failover_group_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_failover_groups_create_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: _models.FailoverGroupResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Required. + :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns FailoverGroupResource. The + FailoverGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Required. + :type failover_group_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns FailoverGroupResource. The + FailoverGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Required. + :type failover_group_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns FailoverGroupResource. The + FailoverGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: Union[_models.FailoverGroupResource, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Is one of the following types: FailoverGroupResource, + JSON, IO[bytes] Required. + :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource or JSON or + IO[bytes] + :return: An instance of AsyncLROPoller that returns FailoverGroupResource. The + FailoverGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.FailoverGroupResource] = 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._create_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + failover_group_resource=failover_group_resource, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.FailoverGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.FailoverGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.FailoverGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_initial( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_failover_groups_delete_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list( + self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.FailoverGroupResource"]: + """List the failover groups associated with the given sql managed instance. + + List the failover groups associated with the given sql managed instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :return: An iterator like instance of FailoverGroupResource + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.FailoverGroupResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_failover_groups_list_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.FailoverGroupResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + +class SqlServerAvailabilityGroupsOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :attr:`sql_server_availability_groups` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + async def _create_availability_group_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(create_ag_configuration, (IOBase, bytes)): + _content = create_ag_configuration + else: + _content = json.dumps(create_ag_configuration, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_create_availability_group_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: _models.AvailabilityGroupCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_ag_configuration: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_ag_configuration: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_ag_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Is one of the following types: AvailabilityGroupCreateUpdateConfiguration, JSON, + IO[bytes] Required. + :type create_ag_configuration: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration or JSON or IO[bytes] + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = 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._create_availability_group_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_ag_configuration=create_ag_configuration, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _create_distributed_availability_group_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(create_dag_configuration, (IOBase, bytes)): + _content = create_dag_configuration + else: + _content = json.dumps(create_dag_configuration, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_create_distributed_availability_group_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: _models.DistributedAvailabilityGroupCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_dag_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_dag_configuration: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_dag_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Is one of the following types: DistributedAvailabilityGroupCreateUpdateConfiguration, + JSON, IO[bytes] Required. + :type create_dag_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration or JSON + or IO[bytes] + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = 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._create_distributed_availability_group_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_dag_configuration=create_dag_configuration, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _create_managed_instance_link_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: Union[ + _models.ManagedInstanceLinkCreateUpdateConfiguration, JSON, IO[bytes] + ], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(create_managed_instance_link_configuration, (IOBase, bytes)): + _content = create_managed_instance_link_configuration + else: + _content = json.dumps(create_managed_instance_link_configuration, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_create_managed_instance_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: _models.ManagedInstanceLinkCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Required. + :type create_managed_instance_link_configuration: + ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Required. + :type create_managed_instance_link_configuration: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Required. + :type create_managed_instance_link_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: Union[ + _models.ManagedInstanceLinkCreateUpdateConfiguration, JSON, IO[bytes] + ], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Is one of the following types: + ManagedInstanceLinkCreateUpdateConfiguration, JSON, IO[bytes] Required. + :type create_managed_instance_link_configuration: + ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration or JSON or + IO[bytes] + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = 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._create_managed_instance_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_managed_instance_link_configuration=create_managed_instance_link_configuration, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Retrieves an Arc Sql Server availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: _models.SqlServerAvailabilityGroupResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Required. + :type sql_server_availability_group_resource: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Required. + :type sql_server_availability_group_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Required. + :type sql_server_availability_group_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: Union[_models.SqlServerAvailabilityGroupResource, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Is one of the following types: SqlServerAvailabilityGroupResource, JSON, IO[bytes] + Required. + :type sql_server_availability_group_resource: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource or JSON or IO[bytes] + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_availability_group_resource, (IOBase, bytes)): + _content = sql_server_availability_group_resource + else: + _content = json.dumps(sql_server_availability_group_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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, 201]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_availability_group_update, (IOBase, bytes)): + _content = sql_server_availability_group_update + else: + _content = json.dumps(sql_server_availability_group_update, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: _models.SqlServerAvailabilityGroupUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Required. + :type sql_server_availability_group_update: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Required. + :type sql_server_availability_group_update: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Required. + :type sql_server_availability_group_update: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Is one of the following types: SqlServerAvailabilityGroupUpdate, JSON, IO[bytes] + Required. + :type sql_server_availability_group_update: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate or JSON or IO[bytes] + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + sql_server_availability_group_update=sql_server_availability_group_update, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes an Arc Sql Server availability group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """List the availability group associated with the given Arc Sql Server. + + List the availability group associated with the given Arc Sql Server. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An iterator like instance of SqlServerAvailabilityGroupResource + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerAvailabilityGroupResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_availability_groups_list_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerAvailabilityGroupResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace_async + async def detail_view( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Retrieves detailed properties of the Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_detail_view_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def failover( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request manual failover of the availability group to this server. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_failover_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def force_failover_allow_data_loss( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request forced failover of the availability group to this server. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_force_failover_allow_data_loss_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: _models.Databases, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. + Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. + Required. + :type databases: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. + Required. + :type databases: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: Union[_models.Databases, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. Is + one of the following types: Databases, JSON, IO[bytes] Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases or JSON or IO[bytes] + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(databases, (IOBase, bytes)): + _content = databases + else: + _content = json.dumps(databases, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_add_databases_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _failover_mi_link_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(managed_instance_resource_id, (IOBase, bytes)): + _content = managed_instance_resource_id + else: + _content = json.dumps(managed_instance_resource_id, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_failover_mi_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: _models.FailoverMiLinkResourceId, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Required. + :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Required. + :type managed_instance_resource_id: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Required. + :type managed_instance_resource_id: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Is one of the following types: FailoverMiLinkResourceId, JSON, IO[bytes] Required. + :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId or + JSON or IO[bytes] + :return: An instance of AsyncLROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = 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._failover_mi_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + managed_instance_resource_id=managed_instance_resource_id, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_mi_link_initial( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_delete_mi_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete_mi_link( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes the MI Link between an Azure Arc-enabled SQL Server and an Azure SQL Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_mi_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @overload + async def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: _models.Databases, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Required. + :type databases: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Required. + :type databases: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: Union[_models.Databases, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Is one of the following types: Databases, JSON, IO[bytes] Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases or JSON or IO[bytes] + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(databases, (IOBase, bytes)): + _content = databases + else: + _content = json.dumps(databases, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_remove_databases_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + +class DataControllersOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :attr:`data_controllers` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get_data_controller( + self, resource_group_name: str, data_controller_name: str, **kwargs: Any + ) -> _models.DataControllerResource: + """Retrieves a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :return: DataControllerResource. The DataControllerResource is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.DataControllerResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.DataControllerResource] = kwargs.pop("cls", None) + + _request = build_data_controllers_get_data_controller_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.DataControllerResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _put_data_controller_initial( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: Union[_models.DataControllerResource, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(data_controller_resource, (IOBase, bytes)): + _content = data_controller_resource + else: + _content = json.dumps(data_controller_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_data_controllers_put_data_controller_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_put_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: _models.DataControllerResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.DataControllerResource]: + """Creates or replaces a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: desc. Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_put_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.DataControllerResource]: + """Creates or replaces a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: desc. Required. + :type data_controller_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_put_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.DataControllerResource]: + """Creates or replaces a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: desc. Required. + :type data_controller_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_put_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: Union[_models.DataControllerResource, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.DataControllerResource]: + """Creates or replaces a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: desc. Is one of the following types: DataControllerResource, + JSON, IO[bytes] Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource or JSON + or IO[bytes] + :return: An instance of AsyncLROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.DataControllerResource] = 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._put_data_controller_initial( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + data_controller_resource=data_controller_resource, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.DataControllerResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.DataControllerResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.DataControllerResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _patch_data_controller_initial( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: Union[_models.DataControllerUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(data_controller_resource, (IOBase, bytes)): + _content = data_controller_resource + else: + _content = json.dumps(data_controller_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_data_controllers_patch_data_controller_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_patch_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: _models.DataControllerUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.DataControllerResource]: + """Updates a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: The update data controller resource. Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_patch_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.DataControllerResource]: + """Updates a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: The update data controller resource. Required. + :type data_controller_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_patch_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.DataControllerResource]: + """Updates a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: The update data controller resource. Required. + :type data_controller_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_patch_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: Union[_models.DataControllerUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.DataControllerResource]: + """Updates a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: The update data controller resource. Is one of the following + types: DataControllerUpdate, JSON, IO[bytes] Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate or JSON or + IO[bytes] + :return: An instance of AsyncLROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.DataControllerResource] = 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._patch_data_controller_initial( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + data_controller_resource=data_controller_resource, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.DataControllerResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.DataControllerResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.DataControllerResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_data_controller_initial( + self, resource_group_name: str, data_controller_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_data_controllers_delete_data_controller_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete_data_controller( + self, resource_group_name: str, data_controller_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_data_controller_initial( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list_in_group( + self, resource_group_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.DataControllerResource"]: + """List dataController resources in the resource group. + + List dataController resources in the resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of DataControllerResource + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.DataControllerResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_data_controllers_list_in_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.DataControllerResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list_in_subscription(self, **kwargs: Any) -> AsyncItemPaged["_models.DataControllerResource"]: + """List dataController resources in the subscription. + + List dataController resources in the subscription. + + :return: An iterator like instance of DataControllerResource + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.DataControllerResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_data_controllers_list_in_subscription_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.DataControllerResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + +class ActiveDirectoryConnectorsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :attr:`active_directory_connectors` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get( + self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any + ) -> _models.ActiveDirectoryConnectorResource: + """Retrieves an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :return: ActiveDirectoryConnectorResource. The ActiveDirectoryConnectorResource is compatible + with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.ActiveDirectoryConnectorResource] = kwargs.pop("cls", None) + + _request = build_active_directory_connectors_get_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + active_directory_connector_name=active_directory_connector_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.ActiveDirectoryConnectorResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_initial( + self, + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(active_directory_connector_resource, (IOBase, bytes)): + _content = active_directory_connector_resource + else: + _content = json.dumps(active_directory_connector_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_active_directory_connectors_create_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + active_directory_connector_name=active_directory_connector_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create( + self, + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + active_directory_connector_resource: _models.ActiveDirectoryConnectorResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.ActiveDirectoryConnectorResource]: + """Creates or replaces an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :param active_directory_connector_resource: desc. Required. + :type active_directory_connector_resource: + ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns ActiveDirectoryConnectorResource. The + ActiveDirectoryConnectorResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + active_directory_connector_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.ActiveDirectoryConnectorResource]: + """Creates or replaces an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :param active_directory_connector_resource: desc. Required. + :type active_directory_connector_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns ActiveDirectoryConnectorResource. The + ActiveDirectoryConnectorResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create( + self, + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + active_directory_connector_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.ActiveDirectoryConnectorResource]: + """Creates or replaces an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :param active_directory_connector_resource: desc. Required. + :type active_directory_connector_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns ActiveDirectoryConnectorResource. The + ActiveDirectoryConnectorResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.ActiveDirectoryConnectorResource]: + """Creates or replaces an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :param active_directory_connector_resource: desc. Is one of the following types: + ActiveDirectoryConnectorResource, JSON, IO[bytes] Required. + :type active_directory_connector_resource: + ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource or JSON or IO[bytes] + :return: An instance of AsyncLROPoller that returns ActiveDirectoryConnectorResource. The + ActiveDirectoryConnectorResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.ActiveDirectoryConnectorResource] = 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._create_initial( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + active_directory_connector_name=active_directory_connector_name, + active_directory_connector_resource=active_directory_connector_resource, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.ActiveDirectoryConnectorResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.ActiveDirectoryConnectorResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.ActiveDirectoryConnectorResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_initial( + self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_active_directory_connectors_delete_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + active_directory_connector_name=active_directory_connector_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + active_directory_connector_name=active_directory_connector_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list( + self, resource_group_name: str, data_controller_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.ActiveDirectoryConnectorResource"]: + """List the active directory connectors associated with the given data controller. + + List the active directory connectors associated with the given data controller. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :return: An iterator like instance of ActiveDirectoryConnectorResource + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.ActiveDirectoryConnectorResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_active_directory_connectors_list_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.ActiveDirectoryConnectorResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + +class SqlServerDatabasesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :attr:`sql_server_databases` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Retrieves an Arc Sql Server database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :return: SqlServerDatabaseResource. The SqlServerDatabaseResource is compatible with + MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerDatabaseResource] = kwargs.pop("cls", None) + + _request = build_sql_server_databases_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerDatabaseResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: _models.SqlServerDatabaseResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Required. + :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerDatabaseResource. The SqlServerDatabaseResource is compatible with + MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Required. + :type sql_server_database_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerDatabaseResource. The SqlServerDatabaseResource is compatible with + MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Required. + :type sql_server_database_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerDatabaseResource. The SqlServerDatabaseResource is compatible with + MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: Union[_models.SqlServerDatabaseResource, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Is one of the + following types: SqlServerDatabaseResource, JSON, IO[bytes] Required. + :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + or JSON or IO[bytes] + :return: SqlServerDatabaseResource. The SqlServerDatabaseResource is compatible with + MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerDatabaseResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_database_resource, (IOBase, bytes)): + _content = sql_server_database_resource + else: + _content = json.dumps(sql_server_database_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_databases_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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, 201]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerDatabaseResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_database_update, (IOBase, bytes)): + _content = sql_server_database_update + else: + _content = json.dumps(sql_server_database_update, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_databases_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: _models.SqlServerDatabaseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Required. + :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerDatabaseResource. The + SqlServerDatabaseResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Required. + :type sql_server_database_update: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerDatabaseResource. The + SqlServerDatabaseResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Required. + :type sql_server_database_update: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns SqlServerDatabaseResource. The + SqlServerDatabaseResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Is one of the + following types: SqlServerDatabaseUpdate, JSON, IO[bytes] Required. + :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate or + JSON or IO[bytes] + :return: An instance of AsyncLROPoller that returns SqlServerDatabaseResource. The + SqlServerDatabaseResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerDatabaseResource] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + sql_server_database_update=sql_server_database_update, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.SqlServerDatabaseResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.SqlServerDatabaseResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.SqlServerDatabaseResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_databases_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes an Arc Sql Server database resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> AsyncItemPaged["_models.SqlServerDatabaseResource"]: + """List the databases associated with the given Arc Sql Server. + + List the databases associated with the given Arc Sql Server. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An iterator like instance of SqlServerDatabaseResource + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerDatabaseResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_databases_list_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerDatabaseResource], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.next_link or None, AsyncList(list_of_elem) + return deserialized.get("nextLink") or None, AsyncList(list_of_elem) async def get_next(next_link=None): _request = prepare_request(next_link) @@ -123,9 +12301,9 @@ async def get_next(next_link=None): 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( + error = _failsafe_deserialize( _models.ErrorResponse, - pipeline_response, + response, ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_patch.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_patch.py index f7dd32510333..837c125a81c5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_patch.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_patch.py @@ -1,14 +1,16 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ +# 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. +# -------------------------------------------------------------------------- +from __future__ import annotations """Customize generated code here. Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ -from typing import List -__all__: List[str] = [] # Add all objects you want publicly available to users at this package level + +__all__: list[str] = [] # Add all objects you want publicly available to users at this package level def patch_sdk(): diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_postgres_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_postgres_instances_operations.py deleted file mode 100644 index ec45bea74e64..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_postgres_instances_operations.py +++ /dev/null @@ -1,732 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from collections.abc import MutableMapping -from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import AsyncPipelineClient -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.pipeline import PipelineResponse -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.tracing.decorator import distributed_trace -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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer -from ...operations._postgres_instances_operations import ( - build_create_request, - build_delete_request, - build_get_request, - build_list_by_resource_group_request, - build_list_request, - build_update_request, -) -from .._configuration import AzureArcDataManagementClientConfiguration - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list - - -class PostgresInstancesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s - :attr:`postgres_instances` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged["_models.PostgresInstance"]: - """List postgres Instance resources in the subscription. - - List postgres Instance resources in the subscription. - - :return: An iterator like instance of either PostgresInstance or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.PostgresInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("PostgresInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.PostgresInstance"]: - """List postgres Instance resources in the resource group. - - Get a postgres Instances list by Resource group name. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :return: An iterator like instance of either PostgresInstance or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.PostgresInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("PostgresInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace_async - async def get( - self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any - ) -> _models.PostgresInstance: - """Retrieves a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :return: PostgresInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.PostgresInstance] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("PostgresInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _create_initial( - self, - resource_group_name: str, - postgres_instance_name: str, - resource: Union[_models.PostgresInstance, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(resource, (IOBase, bytes)): - _content = resource - else: - _json = self._serialize.body(resource, "PostgresInstance") - - _request = build_create_request( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create( - self, - resource_group_name: str, - postgres_instance_name: str, - resource: _models.PostgresInstance, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.PostgresInstance]: - """Creates or replaces a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param resource: The postgres instance. Required. - :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either PostgresInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create( - self, - resource_group_name: str, - postgres_instance_name: str, - resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.PostgresInstance]: - """Creates or replaces a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param resource: The postgres instance. Required. - :type resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either PostgresInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_create( - self, - resource_group_name: str, - postgres_instance_name: str, - resource: Union[_models.PostgresInstance, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.PostgresInstance]: - """Creates or replaces a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param resource: The postgres instance. Is either a PostgresInstance type or a IO[bytes] type. - Required. - :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance or IO[bytes] - :return: An instance of AsyncLROPoller that returns either PostgresInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] - :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[_models.PostgresInstance] = 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._create_initial( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - resource=resource, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("PostgresInstance", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.PostgresInstance].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.PostgresInstance]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _delete_initial( - self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete( - self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @overload - async def update( - self, - resource_group_name: str, - postgres_instance_name: str, - parameters: _models.PostgresInstanceUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PostgresInstance: - """Updates a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param parameters: The Postgres Instance. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: PostgresInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update( - self, - resource_group_name: str, - postgres_instance_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PostgresInstance: - """Updates a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param parameters: The Postgres Instance. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: PostgresInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def update( - self, - resource_group_name: str, - postgres_instance_name: str, - parameters: Union[_models.PostgresInstanceUpdate, IO[bytes]], - **kwargs: Any - ) -> _models.PostgresInstance: - """Updates a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param parameters: The Postgres Instance. Is either a PostgresInstanceUpdate type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate or IO[bytes] - :return: PostgresInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.PostgresInstance] = 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, "PostgresInstanceUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("PostgresInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_managed_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_managed_instances_operations.py deleted file mode 100644 index 41826420bdfc..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_managed_instances_operations.py +++ /dev/null @@ -1,732 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from collections.abc import MutableMapping -from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import AsyncPipelineClient -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.pipeline import PipelineResponse -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.tracing.decorator import distributed_trace -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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer -from ...operations._sql_managed_instances_operations import ( - build_create_request, - build_delete_request, - build_get_request, - build_list_by_resource_group_request, - build_list_request, - build_update_request, -) -from .._configuration import AzureArcDataManagementClientConfiguration - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list - - -class SqlManagedInstancesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s - :attr:`sql_managed_instances` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlManagedInstance"]: - """List sqlManagedInstance resources in the subscription. - - List sqlManagedInstance resources in the subscription. - - :return: An iterator like instance of either SqlManagedInstance or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlManagedInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("SqlManagedInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.SqlManagedInstance"]: - """List sqlManagedInstance resources in the resource group. - - Gets all sqlManagedInstances in a resource group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :return: An iterator like instance of either SqlManagedInstance or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlManagedInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("SqlManagedInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace_async - async def get( - self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any - ) -> _models.SqlManagedInstance: - """Retrieves a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :return: SqlManagedInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlManagedInstance] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlManagedInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _create_initial( - self, - resource_group_name: str, - sql_managed_instance_name: str, - sql_managed_instance: Union[_models.SqlManagedInstance, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_managed_instance, (IOBase, bytes)): - _content = sql_managed_instance - else: - _json = self._serialize.body(sql_managed_instance, "SqlManagedInstance") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - sql_managed_instance: _models.SqlManagedInstance, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlManagedInstance]: - """Creates or replaces a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. - :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlManagedInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - sql_managed_instance: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlManagedInstance]: - """Creates or replaces a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. - :type sql_managed_instance: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlManagedInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - sql_managed_instance: Union[_models.SqlManagedInstance, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlManagedInstance]: - """Creates or replaces a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param sql_managed_instance: The SQL Managed Instance to be created or updated. Is either a - SqlManagedInstance type or a IO[bytes] type. Required. - :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance or IO[bytes] - :return: An instance of AsyncLROPoller that returns either SqlManagedInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :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[_models.SqlManagedInstance] = 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._create_initial( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - sql_managed_instance=sql_managed_instance, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlManagedInstance", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlManagedInstance].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlManagedInstance]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _delete_initial( - self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete( - self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @overload - async def update( - self, - resource_group_name: str, - sql_managed_instance_name: str, - parameters: _models.SqlManagedInstanceUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlManagedInstance: - """Updates a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param parameters: The SQL Managed Instance. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlManagedInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update( - self, - resource_group_name: str, - sql_managed_instance_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlManagedInstance: - """Updates a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param parameters: The SQL Managed Instance. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlManagedInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def update( - self, - resource_group_name: str, - sql_managed_instance_name: str, - parameters: Union[_models.SqlManagedInstanceUpdate, IO[bytes]], - **kwargs: Any - ) -> _models.SqlManagedInstance: - """Updates a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param parameters: The SQL Managed Instance. Is either a SqlManagedInstanceUpdate type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate or IO[bytes] - :return: SqlManagedInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlManagedInstance] = 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, "SqlManagedInstanceUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlManagedInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_availability_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_availability_groups_operations.py deleted file mode 100644 index 3fa84cd732f1..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_availability_groups_operations.py +++ /dev/null @@ -1,2176 +0,0 @@ -# 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 collections.abc import MutableMapping -from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import AsyncPipelineClient -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.pipeline import PipelineResponse -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.tracing.decorator import distributed_trace -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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer -from ...operations._sql_server_availability_groups_operations import ( - build_add_databases_request, - build_create_availability_group_request, - build_create_distributed_availability_group_request, - build_create_managed_instance_link_request, - build_create_request, - build_delete_mi_link_request, - build_delete_request, - build_detail_view_request, - build_failover_mi_link_request, - build_failover_request, - build_force_failover_allow_data_loss_request, - build_get_request, - build_list_request, - build_remove_databases_request, - build_update_request, -) -from .._configuration import AzureArcDataManagementClientConfiguration - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list - - -class SqlServerAvailabilityGroupsOperations: # pylint: disable=too-many-public-methods - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s - :attr:`sql_server_availability_groups` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @overload - async def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_resource: _models.SqlServerAvailabilityGroupResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Creates or replaces an Arc Sql Server Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_resource: The request body for availability group - resource. Required. - :type sql_server_availability_group_resource: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Creates or replaces an Arc Sql Server Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_resource: The request body for availability group - resource. Required. - :type sql_server_availability_group_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_resource: Union[_models.SqlServerAvailabilityGroupResource, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Creates or replaces an Arc Sql Server Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_resource: The request body for availability group - resource. Is either a SqlServerAvailabilityGroupResource type or a IO[bytes] type. Required. - :type sql_server_availability_group_resource: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource or IO[bytes] - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_availability_group_resource, (IOBase, bytes)): - _content = sql_server_availability_group_resource - else: - _json = self._serialize.body(sql_server_availability_group_resource, "SqlServerAvailabilityGroupResource") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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, 201]: - 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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _delete_initial( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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 [202, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes an Arc Sql Server availability group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace_async - async def get( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Retrieves an Arc Sql Server availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _update_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_availability_group_update, (IOBase, bytes)): - _content = sql_server_availability_group_update - else: - _json = self._serialize.body(sql_server_availability_group_update, "SqlServerAvailabilityGroupUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_update: _models.SqlServerAvailabilityGroupUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Updates an existing Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_update: The requested server availability group resource - state. Required. - :type sql_server_availability_group_update: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_update: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Updates an existing Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_update: The requested server availability group resource - state. Required. - :type sql_server_availability_group_update: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Updates an existing Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_update: The requested server availability group resource - state. Is either a SqlServerAvailabilityGroupUpdate type or a IO[bytes] type. Required. - :type sql_server_availability_group_update: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate or IO[bytes] - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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[_models.SqlServerAvailabilityGroupResource] = 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._update_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - sql_server_availability_group_update=sql_server_availability_group_update, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace_async - async def detail_view( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Retrieves detailed properties of the Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - _request = build_detail_view_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def failover( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request manual failover of the availability group to this server. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - _request = build_failover_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def force_failover_allow_data_loss( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request forced failover of the availability group to this server. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - _request = build_force_failover_allow_data_loss_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _create_availability_group_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(create_ag_configuration, (IOBase, bytes)): - _content = create_ag_configuration - else: - _json = self._serialize.body(create_ag_configuration, "AvailabilityGroupCreateUpdateConfiguration") - - _request = build_create_availability_group_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create_availability_group( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_ag_configuration: _models.AvailabilityGroupCreateUpdateConfiguration, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_ag_configuration: The configuration for the new SQL Server availability group - resource. Required. - :type create_ag_configuration: - ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_availability_group( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_ag_configuration: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_ag_configuration: The configuration for the new SQL Server availability group - resource. Required. - :type create_ag_configuration: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_create_availability_group( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_ag_configuration: The configuration for the new SQL Server availability group - resource. Is either a AvailabilityGroupCreateUpdateConfiguration type or a IO[bytes] type. - Required. - :type create_ag_configuration: - ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration or IO[bytes] - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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[_models.SqlServerAvailabilityGroupResource] = 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._create_availability_group_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - create_ag_configuration=create_ag_configuration, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _create_distributed_availability_group_initial( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(create_dag_configuration, (IOBase, bytes)): - _content = create_dag_configuration - else: - _json = self._serialize.body( - create_dag_configuration, "DistributedAvailabilityGroupCreateUpdateConfiguration" - ) - - _request = build_create_distributed_availability_group_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create_distributed_availability_group( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - create_dag_configuration: _models.DistributedAvailabilityGroupCreateUpdateConfiguration, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server distributed availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_dag_configuration: The configuration for the new SQL Server availability group - resource. Required. - :type create_dag_configuration: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_distributed_availability_group( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - create_dag_configuration: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server distributed availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_dag_configuration: The configuration for the new SQL Server availability group - resource. Required. - :type create_dag_configuration: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_create_distributed_availability_group( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server distributed availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_dag_configuration: The configuration for the new SQL Server availability group - resource. Is either a DistributedAvailabilityGroupCreateUpdateConfiguration type or a IO[bytes] - type. Required. - :type create_dag_configuration: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration or - IO[bytes] - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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[_models.SqlServerAvailabilityGroupResource] = 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._create_distributed_availability_group_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - create_dag_configuration=create_dag_configuration, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _create_managed_instance_link_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_managed_instance_link_configuration: Union[ - _models.ManagedInstanceLinkCreateUpdateConfiguration, IO[bytes] - ], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(create_managed_instance_link_configuration, (IOBase, bytes)): - _content = create_managed_instance_link_configuration - else: - _json = self._serialize.body( - create_managed_instance_link_configuration, "ManagedInstanceLinkCreateUpdateConfiguration" - ) - - _request = build_create_managed_instance_link_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create_managed_instance_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_managed_instance_link_configuration: _models.ManagedInstanceLinkCreateUpdateConfiguration, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create an Managed Instance Link. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_managed_instance_link_configuration: The configuration for the new Managed - Instance Link resource. Required. - :type create_managed_instance_link_configuration: - ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_managed_instance_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_managed_instance_link_configuration: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create an Managed Instance Link. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_managed_instance_link_configuration: The configuration for the new Managed - Instance Link resource. Required. - :type create_managed_instance_link_configuration: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_create_managed_instance_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_managed_instance_link_configuration: Union[ - _models.ManagedInstanceLinkCreateUpdateConfiguration, IO[bytes] - ], - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create an Managed Instance Link. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_managed_instance_link_configuration: The configuration for the new Managed - Instance Link resource. Is either a ManagedInstanceLinkCreateUpdateConfiguration type or a - IO[bytes] type. Required. - :type create_managed_instance_link_configuration: - ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration or IO[bytes] - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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[_models.SqlServerAvailabilityGroupResource] = 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._create_managed_instance_link_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - create_managed_instance_link_configuration=create_managed_instance_link_configuration, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @overload - async def add_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: _models.Databases, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request adding database(s) to an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to add to the SQL Server availability group resource. - Required. - :type databases: ~azure.mgmt.azurearcdata.models.Databases - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def add_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request adding database(s) to an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to add to the SQL Server availability group resource. - Required. - :type databases: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def add_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: Union[_models.Databases, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request adding database(s) to an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to add to the SQL Server availability group resource. Is - either a Databases type or a IO[bytes] type. Required. - :type databases: ~azure.mgmt.azurearcdata.models.Databases or IO[bytes] - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(databases, (IOBase, bytes)): - _content = databases - else: - _json = self._serialize.body(databases, "Databases") - - _request = build_add_databases_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _failover_mi_link_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(managed_instance_resource_id, (IOBase, bytes)): - _content = managed_instance_resource_id - else: - _json = self._serialize.body(managed_instance_resource_id, "FailoverMiLinkResourceId") - - _request = build_failover_mi_link_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_failover_mi_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - managed_instance_resource_id: _models.FailoverMiLinkResourceId, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Request failover of Arc Sql Server to Azure Managed Instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param managed_instance_resource_id: The azure resource identifier for the Sql Managed - Instance. Required. - :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_failover_mi_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - managed_instance_resource_id: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Request failover of Arc Sql Server to Azure Managed Instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param managed_instance_resource_id: The azure resource identifier for the Sql Managed - Instance. Required. - :type managed_instance_resource_id: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_failover_mi_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]: - """Request failover of Arc Sql Server to Azure Managed Instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param managed_instance_resource_id: The azure resource identifier for the Sql Managed - Instance. Is either a FailoverMiLinkResourceId type or a IO[bytes] type. Required. - :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId or - IO[bytes] - :return: An instance of AsyncLROPoller that returns either SqlServerAvailabilityGroupResource - or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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[_models.SqlServerAvailabilityGroupResource] = 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._failover_mi_link_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - managed_instance_resource_id=managed_instance_resource_id, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerAvailabilityGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _delete_mi_link_initial( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_mi_link_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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 [202]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = {} - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete_mi_link( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes the MI Link between an Azure Arc-enabled SQL Server and an Azure SQL Managed Instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :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 = 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)) - 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._delete_mi_link_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @overload - async def remove_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: _models.Databases, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request removing database(s) from an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to remove from the SQL Server availability group resource. - Required. - :type databases: ~azure.mgmt.azurearcdata.models.Databases - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def remove_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request removing database(s) from an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to remove from the SQL Server availability group resource. - Required. - :type databases: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def remove_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: Union[_models.Databases, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request removing database(s) from an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to remove from the SQL Server availability group resource. - Is either a Databases type or a IO[bytes] type. Required. - :type databases: ~azure.mgmt.azurearcdata.models.Databases or IO[bytes] - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(databases, (IOBase, bytes)): - _content = databases - else: - _json = self._serialize.body(databases, "Databases") - - _request = build_remove_databases_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def list( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: - """List the availability group associated with the given Arc Sql Server. - - List the availability group associated with the given Arc Sql Server. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result - of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.ArcSqlServerAvailabilityGroupListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("ArcSqlServerAvailabilityGroupListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_databases_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_databases_operations.py deleted file mode 100644 index 43f331c32e21..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_databases_operations.py +++ /dev/null @@ -1,696 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from collections.abc import MutableMapping -from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import AsyncPipelineClient -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.pipeline import PipelineResponse -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.tracing.decorator import distributed_trace -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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer -from ...operations._sql_server_databases_operations import ( - build_create_request, - build_delete_request, - build_get_request, - build_list_request, - build_update_request, -) -from .._configuration import AzureArcDataManagementClientConfiguration - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list - - -class SqlServerDatabasesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s - :attr:`sql_server_databases` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @overload - async def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_resource: _models.SqlServerDatabaseResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerDatabaseResource: - """Creates or replaces an Arc Sql Server Database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_resource: The request body for database resource. Required. - :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerDatabaseResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerDatabaseResource: - """Creates or replaces an Arc Sql Server Database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_resource: The request body for database resource. Required. - :type sql_server_database_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerDatabaseResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_resource: Union[_models.SqlServerDatabaseResource, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerDatabaseResource: - """Creates or replaces an Arc Sql Server Database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_resource: The request body for database resource. Is either a - SqlServerDatabaseResource type or a IO[bytes] type. Required. - :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - or IO[bytes] - :return: SqlServerDatabaseResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerDatabaseResource] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_database_resource, (IOBase, bytes)): - _content = sql_server_database_resource - else: - _json = self._serialize.body(sql_server_database_resource, "SqlServerDatabaseResource") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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, 201]: - 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("SqlServerDatabaseResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _delete_initial( - self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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 [202, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete( - self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes an Arc Sql Server database resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace_async - async def get( - self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any - ) -> _models.SqlServerDatabaseResource: - """Retrieves an Arc Sql Server database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :return: SqlServerDatabaseResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerDatabaseResource] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerDatabaseResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _update_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_database_update, (IOBase, bytes)): - _content = sql_server_database_update - else: - _json = self._serialize.body(sql_server_database_update, "SqlServerDatabaseUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_update: _models.SqlServerDatabaseUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerDatabaseResource]: - """Updates an existing database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_update: The requested database resource state. Required. - :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerDatabaseResource or the - result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_update: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerDatabaseResource]: - """Updates an existing database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_update: The requested database resource state. Required. - :type sql_server_database_update: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerDatabaseResource or the - result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerDatabaseResource]: - """Updates an existing database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_update: The requested database resource state. Is either a - SqlServerDatabaseUpdate type or a IO[bytes] type. Required. - :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate or - IO[bytes] - :return: An instance of AsyncLROPoller that returns either SqlServerDatabaseResource or the - result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] - :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[_models.SqlServerDatabaseResource] = 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._update_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - sql_server_database_update=sql_server_database_update, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerDatabaseResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerDatabaseResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerDatabaseResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def list( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.SqlServerDatabaseResource"]: - """List the databases associated with the given Arc Sql Server. - - List the databases associated with the given Arc Sql Server. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: An iterator like instance of either SqlServerDatabaseResource or the result of - cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.ArcSqlServerDatabaseListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("ArcSqlServerDatabaseListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_esu_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_esu_licenses_operations.py deleted file mode 100644 index d1cbbd69e7db..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_esu_licenses_operations.py +++ /dev/null @@ -1,618 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Optional, TypeVar, Union, overload -import urllib.parse - -from azure.core import AsyncPipelineClient -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - map_error, -) -from azure.core.pipeline import PipelineResponse -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.tracing.decorator import distributed_trace -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 ..._utils.serialization import Deserializer, Serializer -from ...operations._sql_server_esu_licenses_operations import ( - build_create_request, - build_delete_request, - build_get_request, - build_list_by_resource_group_request, - build_list_request, - build_update_request, -) -from .._configuration import AzureArcDataManagementClientConfiguration - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list - - -class SqlServerEsuLicensesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s - :attr:`sql_server_esu_licenses` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlServerEsuLicense"]: - """List sqlServerEsuLicense resources in the subscription. - - List sqlServerEsuLicense resources in the subscription. - - :return: An iterator like instance of either SqlServerEsuLicense or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerEsuLicenseListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerEsuLicenseListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.SqlServerEsuLicense"]: - """List sqlServerEsuLicense resources in the resource group. - - Gets all sqlServerEsuLicenses in a resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :return: An iterator like instance of either SqlServerEsuLicense or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerEsuLicenseListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerEsuLicenseListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace_async - async def get( - self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Retrieves a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerEsuLicense] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_server_esu_license_name=sql_server_esu_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerEsuLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def create( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - sql_server_esu_license: _models.SqlServerEsuLicense, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Creates or replaces a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. - :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def create( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - sql_server_esu_license: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Creates or replaces a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. - :type sql_server_esu_license: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def create( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - sql_server_esu_license: Union[_models.SqlServerEsuLicense, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Creates or replaces a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Is either a - SqlServerEsuLicense type or a IO[bytes] type. Required. - :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense or IO[bytes] - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerEsuLicense] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_esu_license, (IOBase, bytes)): - _content = sql_server_esu_license - else: - _json = self._serialize.body(sql_server_esu_license, "SqlServerEsuLicense") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_server_esu_license_name=sql_server_esu_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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, 201]: - 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("SqlServerEsuLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def delete(self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any) -> None: - """Deletes a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :return: None or the result of cls(response) - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[None] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_esu_license_name=sql_server_esu_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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, 204]: - 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) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - async def update( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - parameters: _models.SqlServerEsuLicenseUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Updates a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param parameters: The SQL Server ESU license. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Updates a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param parameters: The SQL Server ESU license. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def update( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - parameters: Union[_models.SqlServerEsuLicenseUpdate, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Updates a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param parameters: The SQL Server ESU license. Is either a SqlServerEsuLicenseUpdate type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate or IO[bytes] - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerEsuLicense] = 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, "SqlServerEsuLicenseUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_server_esu_license_name=sql_server_esu_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlServerEsuLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_instances_operations.py deleted file mode 100644 index 3e95d4fe6e5c..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_instances_operations.py +++ /dev/null @@ -1,3274 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression,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 __future__ import annotations -from collections.abc import MutableMapping -from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import AsyncPipelineClient -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.pipeline import PipelineResponse -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.tracing.decorator import distributed_trace -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 azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer -from ...operations._sql_server_instances_operations import ( - build_create_request, - build_delete_request, - build_get_all_availability_groups_request, - build_get_best_practices_assessment_request, - build_get_jobs_request, - build_get_jobs_status_request, - build_get_migration_readiness_report_request, - build_get_request, - build_get_target_recommendation_reports_request, - build_get_telemetry_request, - build_list_by_resource_group_request, - build_list_request, - build_post_upgrade_request, - build_pre_upgrade_request, - build_run_best_practice_assessment_request, - build_run_best_practices_assessment_request, - build_run_managed_instance_link_assessment_request, - build_run_migration_assessment_request, - build_run_migration_readiness_assessment_request, - build_run_target_recommendation_job_request, - build_update_request, -) -from .._configuration import AzureArcDataManagementClientConfiguration - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list - - -class SqlServerInstancesOperations: # pylint: disable=too-many-public-methods - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s - :attr:`sql_server_instances` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlServerInstance"]: - """List sqlServerInstance resources in the subscription. - - List sqlServerInstance resources in the subscription. - - :return: An iterator like instance of either SqlServerInstance or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.SqlServerInstance"]: - """List sqlServerInstance resources in the resource group. - - Gets all sqlServerInstances in a resource group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :return: An iterator like instance of either SqlServerInstance or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace_async - async def get( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> _models.SqlServerInstance: - """Retrieves a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _create_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance: Union[_models.SqlServerInstance, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance, (IOBase, bytes)): - _content = sql_server_instance - else: - _json = self._serialize.body(sql_server_instance, "SqlServerInstance") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_create( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance: _models.SqlServerInstance, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstance]: - """Creates or replaces a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance: The SQL Server Instance to be created or updated. Required. - :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstance]: - """Creates or replaces a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance: The SQL Server Instance to be created or updated. Required. - :type sql_server_instance: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_create( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance: Union[_models.SqlServerInstance, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstance]: - """Creates or replaces a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance: The SQL Server Instance to be created or updated. Is either a - SqlServerInstance type or a IO[bytes] type. Required. - :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance or IO[bytes] - :return: An instance of AsyncLROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :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[_models.SqlServerInstance] = 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._create_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance=sql_server_instance, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerInstance].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerInstance]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _delete_initial( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_delete( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - async def _update_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - parameters: Union[_models.SqlServerInstanceUpdate, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = 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, "SqlServerInstanceUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - parameters: _models.SqlServerInstanceUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstance]: - """Updates a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param parameters: The SQL Server Instance. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstance]: - """Updates a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param parameters: The SQL Server Instance. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - parameters: Union[_models.SqlServerInstanceUpdate, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstance]: - """Updates a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param parameters: The SQL Server Instance. Is either a SqlServerInstanceUpdate type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate or IO[bytes] - :return: An instance of AsyncLROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :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[_models.SqlServerInstance] = 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._update_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - parameters=parameters, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerInstance].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerInstance]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _get_telemetry_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): - _content = sql_server_instance_telemetry_request - else: - _json = self._serialize.body(sql_server_instance_telemetry_request, "SqlServerInstanceTelemetryRequest") - - _request = build_get_telemetry_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_get_telemetry( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_telemetry_request: _models.SqlServerInstanceTelemetryRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: - """Retrieves SQL Server instance telemetry. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server - instance telemetry. Required. - :type sql_server_instance_telemetry_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceTelemetryResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_get_telemetry( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_telemetry_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: - """Retrieves SQL Server instance telemetry. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server - instance telemetry. Required. - :type sql_server_instance_telemetry_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceTelemetryResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_get_telemetry( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: - """Retrieves SQL Server instance telemetry. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server - instance telemetry. Is either a SqlServerInstanceTelemetryRequest type or a IO[bytes] type. - Required. - :type sql_server_instance_telemetry_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest or IO[bytes] - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceTelemetryResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] - :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[_models.SqlServerInstanceTelemetryResponse] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): - _content = sql_server_instance_telemetry_request - else: - _json = self._serialize.body(sql_server_instance_telemetry_request, "SqlServerInstanceTelemetryRequest") - - def prepare_request(next_link=None): - if not next_link: - - _request = build_get_telemetry_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceTelemetryResponse", pipeline_response.http_response) - list_of_elem = deserialized.rows - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - 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._get_telemetry_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_telemetry_request=sql_server_instance_telemetry_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - async def internal_get_next(next_link=None): - if next_link is None: - return pipeline_response - return await get_next(next_link) - - return AsyncItemPaged(internal_get_next, extract_data) - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[AsyncItemPaged[list[str]]].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[AsyncItemPaged[list[str]]]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _get_best_practices_assessment_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, IO[bytes]], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): - _content = sql_server_instance_bpa_request - else: - _json = self._serialize.body(sql_server_instance_bpa_request, "SqlServerInstanceBpaRequest") - - _request = build_get_best_practices_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_get_best_practices_assessment( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_bpa_request: _models.SqlServerInstanceBpaRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: - """Retrieves SQL best practices assessment results for the SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment - results. Required. - :type sql_server_instance_bpa_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceBpaResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_get_best_practices_assessment( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_bpa_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: - """Retrieves SQL best practices assessment results for the SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment - results. Required. - :type sql_server_instance_bpa_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceBpaResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_get_best_practices_assessment( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, IO[bytes]], - **kwargs: Any - ) -> AsyncLROPoller[AsyncItemPaged[list[str]]]: - """Retrieves SQL best practices assessment results for the SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment - results. Is either a SqlServerInstanceBpaRequest type or a IO[bytes] type. Required. - :type sql_server_instance_bpa_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest or IO[bytes] - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceBpaResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[list[str]]] - :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[_models.SqlServerInstanceBpaResponse] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): - _content = sql_server_instance_bpa_request - else: - _json = self._serialize.body(sql_server_instance_bpa_request, "SqlServerInstanceBpaRequest") - - def prepare_request(next_link=None): - if not next_link: - - _request = build_get_best_practices_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceBpaResponse", pipeline_response.http_response) - list_of_elem = deserialized.rows - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - 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._get_best_practices_assessment_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_bpa_request=sql_server_instance_bpa_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - async def internal_get_next(next_link=None): - if next_link is None: - return pipeline_response - return await get_next(next_link) - - return AsyncItemPaged(internal_get_next, extract_data) - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[AsyncItemPaged[list[str]]].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[AsyncItemPaged[list[str]]]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace_async - async def run_migration_assessment( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> _models.SqlServerInstanceRunMigrationAssessmentResponse: - """Runs migration assessment for SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: SqlServerInstanceRunMigrationAssessmentResponse or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationAssessmentResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceRunMigrationAssessmentResponse] = kwargs.pop("cls", None) - - _request = build_run_migration_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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( - "SqlServerInstanceRunMigrationAssessmentResponse", pipeline_response.http_response - ) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _run_target_recommendation_job_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_run_target_recommendation_job_request: Optional[ - Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, IO[bytes]] - ] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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)) - content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = ( - content_type or "application/json" if sql_server_instance_run_target_recommendation_job_request else None - ) - _json = None - _content = None - if isinstance(sql_server_instance_run_target_recommendation_job_request, (IOBase, bytes)): - _content = sql_server_instance_run_target_recommendation_job_request - else: - if sql_server_instance_run_target_recommendation_job_request is not None: - _json = self._serialize.body( - sql_server_instance_run_target_recommendation_job_request, - "SqlServerInstanceRunTargetRecommendationJobRequest", - ) - else: - _json = None - - _request = build_run_target_recommendation_job_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_run_target_recommendation_job( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_run_target_recommendation_job_request: Optional[ - _models.SqlServerInstanceRunTargetRecommendationJobRequest - ] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: - """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. - If the previous job is in a non-terminal state (NotStarted or InProgress), calling this - operation again returns the existing job status without creating a new job. A new job is - created only when the previous job has reached a terminal state (Succeeded or Failed). This - operation does not return recommendations directly. Use the GetTargetRecommendationReports API - to check the job status and retrieve the target recommendation report if the jobStatus is - Succeeded. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to - run SQL Server instance target recommendation job. Default value is None. - :type sql_server_instance_run_target_recommendation_job_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_run_target_recommendation_job( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_run_target_recommendation_job_request: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: - """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. - If the previous job is in a non-terminal state (NotStarted or InProgress), calling this - operation again returns the existing job status without creating a new job. A new job is - created only when the previous job has reached a terminal state (Succeeded or Failed). This - operation does not return recommendations directly. Use the GetTargetRecommendationReports API - to check the job status and retrieve the target recommendation report if the jobStatus is - Succeeded. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to - run SQL Server instance target recommendation job. Default value is None. - :type sql_server_instance_run_target_recommendation_job_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_run_target_recommendation_job( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_run_target_recommendation_job_request: Optional[ - Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, IO[bytes]] - ] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: - """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. - If the previous job is in a non-terminal state (NotStarted or InProgress), calling this - operation again returns the existing job status without creating a new job. A new job is - created only when the previous job has reached a terminal state (Succeeded or Failed). This - operation does not return recommendations directly. Use the GetTargetRecommendationReports API - to check the job status and retrieve the target recommendation report if the jobStatus is - Succeeded. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to - run SQL Server instance target recommendation job. Is either a - SqlServerInstanceRunTargetRecommendationJobRequest type or a IO[bytes] type. Default value is - None. - :type sql_server_instance_run_target_recommendation_job_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest or IO[bytes] - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] - :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)) - content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None - cls: ClsType[_models.SqlServerInstanceRunTargetRecommendationJobResponse] = 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._run_target_recommendation_job_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_run_target_recommendation_job_request=sql_server_instance_run_target_recommendation_job_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceRunTargetRecommendationJobResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _get_target_recommendation_reports_initial( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_target_recommendation_reports_request: Optional[ - Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, IO[bytes]] - ] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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)) - content_type = content_type if sql_server_instance_target_recommendation_reports_request else None - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = ( - content_type or "application/json" if sql_server_instance_target_recommendation_reports_request else None - ) - _json = None - _content = None - if isinstance(sql_server_instance_target_recommendation_reports_request, (IOBase, bytes)): - _content = sql_server_instance_target_recommendation_reports_request - else: - if sql_server_instance_target_recommendation_reports_request is not None: - _json = self._serialize.body( - sql_server_instance_target_recommendation_reports_request, - "SqlServerInstanceTargetRecommendationReportsRequest", - ) - else: - _json = None - - _request = build_get_target_recommendation_reports_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_get_target_recommendation_reports( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_target_recommendation_reports_request: Optional[ - _models.SqlServerInstanceTargetRecommendationReportsRequest - ] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: - """Retrieves the current job status and the latest target recommendation report for the SQL Server - instance. The response always includes the jobStatus field, which indicates the state of the - most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The - report data is included in the response only when the jobStatus is Succeeded. A target - recommendation job must be started using the RunTargetRecommendationJob API before calling this - API. Only the most recent report is returned. If the report contains more sections than can be - returned in a single response, use the nextReportOffset and nextSectionOffset values from the - response to retrieve the remaining data. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to - get SQL Server instance target recommendation reports. Default value is None. - :type sql_server_instance_target_recommendation_reports_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_get_target_recommendation_reports( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_target_recommendation_reports_request: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: - """Retrieves the current job status and the latest target recommendation report for the SQL Server - instance. The response always includes the jobStatus field, which indicates the state of the - most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The - report data is included in the response only when the jobStatus is Succeeded. A target - recommendation job must be started using the RunTargetRecommendationJob API before calling this - API. Only the most recent report is returned. If the report contains more sections than can be - returned in a single response, use the nextReportOffset and nextSectionOffset values from the - response to retrieve the remaining data. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to - get SQL Server instance target recommendation reports. Default value is None. - :type sql_server_instance_target_recommendation_reports_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_get_target_recommendation_reports( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_target_recommendation_reports_request: Optional[ - Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, IO[bytes]] - ] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: - """Retrieves the current job status and the latest target recommendation report for the SQL Server - instance. The response always includes the jobStatus field, which indicates the state of the - most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The - report data is included in the response only when the jobStatus is Succeeded. A target - recommendation job must be started using the RunTargetRecommendationJob API before calling this - API. Only the most recent report is returned. If the report contains more sections than can be - returned in a single response, use the nextReportOffset and nextSectionOffset values from the - response to retrieve the remaining data. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to - get SQL Server instance target recommendation reports. Is either a - SqlServerInstanceTargetRecommendationReportsRequest type or a IO[bytes] type. Default value is - None. - :type sql_server_instance_target_recommendation_reports_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest or - IO[bytes] - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] - :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)) - content_type = content_type if sql_server_instance_target_recommendation_reports_request else None - cls: ClsType[_models.SqlServerInstanceTargetRecommendationReportsResponse] = 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._get_target_recommendation_reports_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_target_recommendation_reports_request=sql_server_instance_target_recommendation_reports_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceTargetRecommendationReportsResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _get_migration_readiness_report_initial( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_get_migration_readiness_report_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_get_migration_readiness_report( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]: - """Retrieves the migration readiness report for the SQL Server instance. The report contains an - assessment of the instance's readiness for migration to Azure SQL targets. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceMigrationReadinessReportResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceMigrationReadinessReportResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceMigrationReadinessReportResponse] = 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._get_migration_readiness_report_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceMigrationReadinessReportResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace_async - async def run_best_practices_assessment( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> _models.SqlServerInstanceRunBestPracticesAssessmentResponse: - """The request to run SQL best practices assessment. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: SqlServerInstanceRunBestPracticesAssessmentResponse or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = kwargs.pop("cls", None) - - _request = build_run_best_practices_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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( - "SqlServerInstanceRunBestPracticesAssessmentResponse", pipeline_response.http_response - ) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _run_best_practice_assessment_initial( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_run_best_practice_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_run_best_practice_assessment( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]: - """The request to run SQL best practices assessment asynchronously. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceRunBestPracticesAssessmentResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = 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._run_best_practice_assessment_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceRunBestPracticesAssessmentResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _run_migration_readiness_assessment_initial( # pylint: disable=name-too-long - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_run_migration_readiness_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_run_migration_readiness_assessment( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]: - """The request to run migration readiness assessment asynchronously. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceRunMigrationReadinessAssessmentResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] = 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._run_migration_readiness_assessment_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceRunMigrationReadinessAssessmentResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[ - _models.SqlServerInstanceRunMigrationReadinessAssessmentResponse - ].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @overload - async def get_jobs_status( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_status_request: Optional[_models.SqlServerInstanceJobsStatusRequest] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerInstanceJobsStatusResponse: - """Gets jobs status details for sql arc resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server - instance agent jobs status. Default value is None. - :type sql_server_instance_jobs_status_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def get_jobs_status( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_status_request: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerInstanceJobsStatusResponse: - """Gets jobs status details for sql arc resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server - instance agent jobs status. Default value is None. - :type sql_server_instance_jobs_status_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def get_jobs_status( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_status_request: Optional[ - Union[_models.SqlServerInstanceJobsStatusRequest, IO[bytes]] - ] = None, - **kwargs: Any - ) -> _models.SqlServerInstanceJobsStatusResponse: - """Gets jobs status details for sql arc resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server - instance agent jobs status. Is either a SqlServerInstanceJobsStatusRequest type or a IO[bytes] - type. Default value is None. - :type sql_server_instance_jobs_status_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest or IO[bytes] - :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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)) - content_type = content_type if sql_server_instance_jobs_status_request else None - cls: ClsType[_models.SqlServerInstanceJobsStatusResponse] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" if sql_server_instance_jobs_status_request else None - _json = None - _content = None - if isinstance(sql_server_instance_jobs_status_request, (IOBase, bytes)): - _content = sql_server_instance_jobs_status_request - else: - if sql_server_instance_jobs_status_request is not None: - _json = self._serialize.body( - sql_server_instance_jobs_status_request, "SqlServerInstanceJobsStatusRequest" - ) - else: - _json = None - - _request = build_get_jobs_status_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlServerInstanceJobsStatusResponse", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _get_jobs_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, IO[bytes]]] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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)) - content_type = content_type if sql_server_instance_jobs_request else None - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" if sql_server_instance_jobs_request else None - _json = None - _content = None - if isinstance(sql_server_instance_jobs_request, (IOBase, bytes)): - _content = sql_server_instance_jobs_request - else: - if sql_server_instance_jobs_request is not None: - _json = self._serialize.body(sql_server_instance_jobs_request, "SqlServerInstanceJobsRequest") - else: - _json = None - - _request = build_get_jobs_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_get_jobs( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_request: Optional[_models.SqlServerInstanceJobsRequest] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceJobsResponse]: - """Gets job details for sql arc resource asynchronously. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance - agent jobs status. Default value is None. - :type sql_server_instance_jobs_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerInstanceJobsResponse or the - result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_get_jobs( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_request: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceJobsResponse]: - """Gets job details for sql arc resource asynchronously. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance - agent jobs status. Default value is None. - :type sql_server_instance_jobs_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either SqlServerInstanceJobsResponse or the - result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_get_jobs( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, IO[bytes]]] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceJobsResponse]: - """Gets job details for sql arc resource asynchronously. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance - agent jobs status. Is either a SqlServerInstanceJobsRequest type or a IO[bytes] type. Default - value is None. - :type sql_server_instance_jobs_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest or IO[bytes] - :return: An instance of AsyncLROPoller that returns either SqlServerInstanceJobsResponse or the - result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] - :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)) - content_type = content_type if sql_server_instance_jobs_request else None - cls: ClsType[_models.SqlServerInstanceJobsResponse] = 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._get_jobs_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_jobs_request=sql_server_instance_jobs_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceJobsResponse", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.SqlServerInstanceJobsResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerInstanceJobsResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace_async - async def pre_upgrade( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> _models.SqlServerInstance: - """Request Upgrade Permission before upgrading. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) - - _request = build_pre_upgrade_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def post_upgrade( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> _models.SqlServerInstance: - """Clean up after upgrading. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) - - _request = build_post_upgrade_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _run_managed_instance_link_assessment_initial( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_managed_instance_link_assessment_request: Union[ - _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, IO[bytes] - ], - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 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[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance_managed_instance_link_assessment_request, (IOBase, bytes)): - _content = sql_server_instance_managed_instance_link_assessment_request - else: - _json = self._serialize.body( - sql_server_instance_managed_instance_link_assessment_request, - "SqlServerInstanceManagedInstanceLinkAssessmentRequest", - ) - - _request = build_run_managed_instance_link_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_managed_instance_link_assessment_request: _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: - """Runs Managed Instance Link assessment for SQL Server instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to - run SQL Server instance MI link assessment. Required. - :type sql_server_instance_managed_instance_link_assessment_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_managed_instance_link_assessment_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: - """Runs Managed Instance Link assessment for SQL Server instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to - run SQL Server instance MI link assessment. Required. - :type sql_server_instance_managed_instance_link_assessment_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_managed_instance_link_assessment_request: Union[ - _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, IO[bytes] - ], - **kwargs: Any - ) -> AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: - """Runs Managed Instance Link assessment for SQL Server instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to - run SQL Server instance MI link assessment. Is either a - SqlServerInstanceManagedInstanceLinkAssessmentRequest type or a IO[bytes] type. Required. - :type sql_server_instance_managed_instance_link_assessment_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest or - IO[bytes] - :return: An instance of AsyncLROPoller that returns either - SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] - :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[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] = 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._run_managed_instance_link_assessment_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_managed_instance_link_assessment_request=sql_server_instance_managed_instance_link_assessment_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceManagedInstanceLinkAssessmentResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, - AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs), - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[ - _models.SqlServerInstanceManagedInstanceLinkAssessmentResponse - ].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @overload - def get_all_availability_groups( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_retrieval_filters: Optional[_models.AvailabilityGroupRetrievalFilters] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: - """Retrieves full properties of all the Availability Groups in a SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_retrieval_filters: Default value is None. - :type availability_group_retrieval_filters: - ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result - of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def get_all_availability_groups( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_retrieval_filters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: - """Retrieves full properties of all the Availability Groups in a SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_retrieval_filters: Default value is None. - :type availability_group_retrieval_filters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result - of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def get_all_availability_groups( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_retrieval_filters: Optional[ - Union[_models.AvailabilityGroupRetrievalFilters, IO[bytes]] - ] = None, - **kwargs: Any - ) -> AsyncItemPaged["_models.SqlServerAvailabilityGroupResource"]: - """Retrieves full properties of all the Availability Groups in a SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_retrieval_filters: Is either a AvailabilityGroupRetrievalFilters type - or a IO[bytes] type. Default value is None. - :type availability_group_retrieval_filters: - ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters or IO[bytes] - :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result - of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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)) - content_type = content_type if availability_group_retrieval_filters else None - cls: ClsType[_models.ArcSqlServerAvailabilityGroupListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - content_type = content_type or "application/json" if availability_group_retrieval_filters else None - _json = None - _content = None - if isinstance(availability_group_retrieval_filters, (IOBase, bytes)): - _content = availability_group_retrieval_filters - else: - if availability_group_retrieval_filters is not None: - _json = self._serialize.body(availability_group_retrieval_filters, "AvailabilityGroupRetrievalFilters") - else: - _json = None - - def prepare_request(next_link=None): - if not next_link: - - _request = build_get_all_availability_groups_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("ArcSqlServerAvailabilityGroupListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_licenses_operations.py deleted file mode 100644 index fb9a9a5ecab5..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_sql_server_licenses_operations.py +++ /dev/null @@ -1,609 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Optional, TypeVar, Union, overload -import urllib.parse - -from azure.core import AsyncPipelineClient -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - map_error, -) -from azure.core.pipeline import PipelineResponse -from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.tracing.decorator import distributed_trace -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 ..._utils.serialization import Deserializer, Serializer -from ...operations._sql_server_licenses_operations import ( - build_create_request, - build_delete_request, - build_get_request, - build_list_by_resource_group_request, - build_list_request, - build_update_request, -) -from .._configuration import AzureArcDataManagementClientConfiguration - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list - - -class SqlServerLicensesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s - :attr:`sql_server_licenses` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged["_models.SqlServerLicense"]: - """List sqlServerLicense resources in the subscription. - - List sqlServerLicense resources in the subscription. - - :return: An iterator like instance of either SqlServerLicense or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerLicenseListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerLicenseListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.SqlServerLicense"]: - """List sqlServerLicense resources in the resource group. - - Gets all sqlServerLicenses in a resource group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :return: An iterator like instance of either SqlServerLicense or the result of cls(response) - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerLicenseListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - async def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerLicenseListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace_async - async def get( - self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any - ) -> _models.SqlServerLicense: - """Retrieves a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerLicense] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_server_license_name=sql_server_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - async def create( - self, - resource_group_name: str, - sql_server_license_name: str, - sql_server_license: _models.SqlServerLicense, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerLicense: - """Creates or replaces a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param sql_server_license: The SQL Server license to be created or updated. Required. - :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def create( - self, - resource_group_name: str, - sql_server_license_name: str, - sql_server_license: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerLicense: - """Creates or replaces a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param sql_server_license: The SQL Server license to be created or updated. Required. - :type sql_server_license: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def create( - self, - resource_group_name: str, - sql_server_license_name: str, - sql_server_license: Union[_models.SqlServerLicense, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerLicense: - """Creates or replaces a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param sql_server_license: The SQL Server license to be created or updated. Is either a - SqlServerLicense type or a IO[bytes] type. Required. - :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense or IO[bytes] - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerLicense] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_license, (IOBase, bytes)): - _content = sql_server_license - else: - _json = self._serialize.body(sql_server_license, "SqlServerLicense") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_server_license_name=sql_server_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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, 201]: - 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("SqlServerLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def delete(self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any) -> None: - """Deletes a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :return: None or the result of cls(response) - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[None] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_license_name=sql_server_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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, 204]: - 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) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - async def update( - self, - resource_group_name: str, - sql_server_license_name: str, - parameters: _models.SqlServerLicenseUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerLicense: - """Updates a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param parameters: The SQL Server license. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def update( - self, - resource_group_name: str, - sql_server_license_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerLicense: - """Updates a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param parameters: The SQL Server license. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def update( - self, - resource_group_name: str, - sql_server_license_name: str, - parameters: Union[_models.SqlServerLicenseUpdate, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerLicense: - """Updates a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param parameters: The SQL Server license. Is either a SqlServerLicenseUpdate type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate or IO[bytes] - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerLicense] = 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, "SqlServerLicenseUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_server_license_name=sql_server_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlServerLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py index e57114e931a6..484e1ee11acd 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- # pylint: disable=wrong-import-position @@ -13,10 +13,9 @@ from ._patch import * # pylint: disable=unused-wildcard-import -from ._models_py3 import ( # type: ignore +from ._models import ( # type: ignore ActiveDirectoryConnectorDNSDetails, ActiveDirectoryConnectorDomainDetails, - ActiveDirectoryConnectorListResult, ActiveDirectoryConnectorProperties, ActiveDirectoryConnectorResource, ActiveDirectoryConnectorSpec, @@ -25,8 +24,6 @@ ActiveDirectoryDomainControllers, ActiveDirectoryInformation, AdditionalMigrationJobAttributes, - ArcSqlServerAvailabilityGroupListResult, - ArcSqlServerDatabaseListResult, Authentication, AvailabilityGroupConfigure, AvailabilityGroupCreateUpdateConfiguration, @@ -62,7 +59,6 @@ ErrorResponse, ExtendedLocation, FailoverCluster, - FailoverGroupListResult, FailoverGroupProperties, FailoverGroupResource, FailoverGroupSpec, @@ -70,15 +66,15 @@ HostIPAddressInformation, ImpactedObjectsInfo, ImpactedObjectsSuitabilitySummary, - K8SActiveDirectory, - K8SActiveDirectoryConnector, - K8SNetworkSettings, - K8SResourceRequirements, - K8SScheduling, - K8SSchedulingOptions, - K8SSecurity, - K8SSettings, - K8StransparentDataEncryption, + K8sActiveDirectory, + K8sActiveDirectoryConnector, + K8sNetworkSettings, + K8sResourceRequirements, + K8sScheduling, + K8sSchedulingOptions, + K8sSecurity, + K8sSettings, + K8stransparentDataEncryption, KeytabInformation, LogAnalyticsWorkspaceConfig, ManagedInstanceLinkCreateUpdateConfiguration, @@ -90,16 +86,12 @@ OnPremiseProperty, Operation, OperationDisplay, - OperationListResult, - PageOfDataControllerResource, PostgresInstance, - PostgresInstanceListResult, PostgresInstanceProperties, PostgresInstanceSku, PostgresInstanceUpdate, ProxyResource, Resource, - ResourceAutoGenerated, Schedule, SequencerAction, ServerAssessmentsItem, @@ -121,14 +113,12 @@ SkuRecommendationSummaryTargetSku, SkuRecommendationSummaryTargetSkuCategory, SqlAvailabilityGroupDatabaseReplicaResourceProperties, - SqlAvailabilityGroupDhcpListenerProperties, SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem, SqlAvailabilityGroupReplicaResourceProperties, SqlAvailabilityGroupStaticIPListenerProperties, SqlManagedInstance, - SqlManagedInstanceK8SRaw, - SqlManagedInstanceK8SSpec, - SqlManagedInstanceListResult, + SqlManagedInstanceK8sRaw, + SqlManagedInstanceK8sSpec, SqlManagedInstanceProperties, SqlManagedInstanceSku, SqlManagedInstanceUpdate, @@ -143,21 +133,18 @@ SqlServerDatabaseResourcePropertiesDatabaseOptions, SqlServerDatabaseUpdate, SqlServerEsuLicense, - SqlServerEsuLicenseListResult, SqlServerEsuLicenseProperties, SqlServerEsuLicenseUpdate, SqlServerEsuLicenseUpdateProperties, SqlServerInstance, SqlServerInstanceBpaColumn, SqlServerInstanceBpaRequest, - SqlServerInstanceBpaResponse, SqlServerInstanceJob, SqlServerInstanceJobStatus, SqlServerInstanceJobsRequest, SqlServerInstanceJobsResponse, SqlServerInstanceJobsStatusRequest, SqlServerInstanceJobsStatusResponse, - SqlServerInstanceListResult, SqlServerInstanceManagedInstanceLinkAssessment, SqlServerInstanceManagedInstanceLinkAssessmentRequest, SqlServerInstanceManagedInstanceLinkAssessmentResponse, @@ -174,24 +161,22 @@ SqlServerInstanceTargetRecommendationReportsResponse, SqlServerInstanceTelemetryColumn, SqlServerInstanceTelemetryRequest, - SqlServerInstanceTelemetryResponse, SqlServerInstanceUpdate, SqlServerInstanceUpdateProperties, SqlServerLicense, - SqlServerLicenseListResult, SqlServerLicenseProperties, SqlServerLicenseUpdate, SqlServerLicenseUpdateProperties, SystemData, TargetReadiness, TrackedResource, - TrackedResourceAutoGenerated, UploadServicePrincipal, UploadWatermark, ) -from ._azure_arc_data_management_client_enums import ( # type: ignore +from ._enums import ( # type: ignore AccountProvisioningMode, + ActionType, ActivationState, AggregationType, AlwaysOnRole, @@ -233,7 +218,7 @@ MigrationMode, MigrationStatus, Mode, - OperationOrigin, + Origin, PrimaryAllowConnections, ProvisioningState, RecommendationStatus, @@ -265,7 +250,6 @@ __all__ = [ "ActiveDirectoryConnectorDNSDetails", "ActiveDirectoryConnectorDomainDetails", - "ActiveDirectoryConnectorListResult", "ActiveDirectoryConnectorProperties", "ActiveDirectoryConnectorResource", "ActiveDirectoryConnectorSpec", @@ -274,8 +258,6 @@ "ActiveDirectoryDomainControllers", "ActiveDirectoryInformation", "AdditionalMigrationJobAttributes", - "ArcSqlServerAvailabilityGroupListResult", - "ArcSqlServerDatabaseListResult", "Authentication", "AvailabilityGroupConfigure", "AvailabilityGroupCreateUpdateConfiguration", @@ -311,7 +293,6 @@ "ErrorResponse", "ExtendedLocation", "FailoverCluster", - "FailoverGroupListResult", "FailoverGroupProperties", "FailoverGroupResource", "FailoverGroupSpec", @@ -319,15 +300,15 @@ "HostIPAddressInformation", "ImpactedObjectsInfo", "ImpactedObjectsSuitabilitySummary", - "K8SActiveDirectory", - "K8SActiveDirectoryConnector", - "K8SNetworkSettings", - "K8SResourceRequirements", - "K8SScheduling", - "K8SSchedulingOptions", - "K8SSecurity", - "K8SSettings", - "K8StransparentDataEncryption", + "K8sActiveDirectory", + "K8sActiveDirectoryConnector", + "K8sNetworkSettings", + "K8sResourceRequirements", + "K8sScheduling", + "K8sSchedulingOptions", + "K8sSecurity", + "K8sSettings", + "K8stransparentDataEncryption", "KeytabInformation", "LogAnalyticsWorkspaceConfig", "ManagedInstanceLinkCreateUpdateConfiguration", @@ -339,16 +320,12 @@ "OnPremiseProperty", "Operation", "OperationDisplay", - "OperationListResult", - "PageOfDataControllerResource", "PostgresInstance", - "PostgresInstanceListResult", "PostgresInstanceProperties", "PostgresInstanceSku", "PostgresInstanceUpdate", "ProxyResource", "Resource", - "ResourceAutoGenerated", "Schedule", "SequencerAction", "ServerAssessmentsItem", @@ -370,14 +347,12 @@ "SkuRecommendationSummaryTargetSku", "SkuRecommendationSummaryTargetSkuCategory", "SqlAvailabilityGroupDatabaseReplicaResourceProperties", - "SqlAvailabilityGroupDhcpListenerProperties", "SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem", "SqlAvailabilityGroupReplicaResourceProperties", "SqlAvailabilityGroupStaticIPListenerProperties", "SqlManagedInstance", - "SqlManagedInstanceK8SRaw", - "SqlManagedInstanceK8SSpec", - "SqlManagedInstanceListResult", + "SqlManagedInstanceK8sRaw", + "SqlManagedInstanceK8sSpec", "SqlManagedInstanceProperties", "SqlManagedInstanceSku", "SqlManagedInstanceUpdate", @@ -392,21 +367,18 @@ "SqlServerDatabaseResourcePropertiesDatabaseOptions", "SqlServerDatabaseUpdate", "SqlServerEsuLicense", - "SqlServerEsuLicenseListResult", "SqlServerEsuLicenseProperties", "SqlServerEsuLicenseUpdate", "SqlServerEsuLicenseUpdateProperties", "SqlServerInstance", "SqlServerInstanceBpaColumn", "SqlServerInstanceBpaRequest", - "SqlServerInstanceBpaResponse", "SqlServerInstanceJob", "SqlServerInstanceJobStatus", "SqlServerInstanceJobsRequest", "SqlServerInstanceJobsResponse", "SqlServerInstanceJobsStatusRequest", "SqlServerInstanceJobsStatusResponse", - "SqlServerInstanceListResult", "SqlServerInstanceManagedInstanceLinkAssessment", "SqlServerInstanceManagedInstanceLinkAssessmentRequest", "SqlServerInstanceManagedInstanceLinkAssessmentResponse", @@ -423,21 +395,19 @@ "SqlServerInstanceTargetRecommendationReportsResponse", "SqlServerInstanceTelemetryColumn", "SqlServerInstanceTelemetryRequest", - "SqlServerInstanceTelemetryResponse", "SqlServerInstanceUpdate", "SqlServerInstanceUpdateProperties", "SqlServerLicense", - "SqlServerLicenseListResult", "SqlServerLicenseProperties", "SqlServerLicenseUpdate", "SqlServerLicenseUpdateProperties", "SystemData", "TargetReadiness", "TrackedResource", - "TrackedResourceAutoGenerated", "UploadServicePrincipal", "UploadWatermark", "AccountProvisioningMode", + "ActionType", "ActivationState", "AggregationType", "AlwaysOnRole", @@ -479,7 +449,7 @@ "MigrationMode", "MigrationStatus", "Mode", - "OperationOrigin", + "Origin", "PrimaryAllowConnections", "ProvisioningState", "RecommendationStatus", diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_azure_arc_data_management_client_enums.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py similarity index 78% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_azure_arc_data_management_client_enums.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py index 16dfeeeb8081..4d1f102bf444 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_azure_arc_data_management_client_enums.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- @@ -14,41 +14,66 @@ class AccountProvisioningMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The service account provisioning mode for this Active Directory connector.""" AUTOMATIC = "automatic" + """automatic.""" MANUAL = "manual" + """manual.""" + + +class ActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal + only APIs. + """ + + INTERNAL = "Internal" + """Actions are for internal-only APIs.""" class ActivationState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The activation state of the license.""" ACTIVATED = "Activated" + """Activated.""" DEACTIVATED = "Deactivated" + """Deactivated.""" class AggregationType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The aggregation type to use for the numerical columns in the dataset.""" AVERAGE = "Average" + """Average.""" MINIMUM = "Minimum" + """Minimum.""" MAXIMUM = "Maximum" + """Maximum.""" SUM = "Sum" + """Sum.""" COUNT = "Count" + """Count.""" class AlwaysOnRole(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The role of the SQL Server, based on availability.""" NONE = "None" + """None.""" FAILOVER_CLUSTER_INSTANCE = "FailoverClusterInstance" + """FailoverClusterInstance.""" FAILOVER_CLUSTER_NODE = "FailoverClusterNode" + """FailoverClusterNode.""" AVAILABILITY_GROUP_REPLICA = "AvailabilityGroupReplica" + """AvailabilityGroupReplica.""" class ArcSqlManagedInstanceLicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The license type to apply for this managed instance.""" BASE_PRICE = "BasePrice" + """BasePrice.""" LICENSE_INCLUDED = "LicenseIncluded" + """LicenseIncluded.""" DISASTER_RECOVERY = "DisasterRecovery" + """DisasterRecovery.""" class ArcSqlServerAvailabilityGroupTypeFilter(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -57,7 +82,7 @@ class ArcSqlServerAvailabilityGroupTypeFilter(str, Enum, metaclass=CaseInsensiti CONTAINED = "CONTAINED" """Contained Availability Group (CAG).""" DISTRIBUTED = "DISTRIBUTED" - """Distributed Availability Group (DAG)""" + """Distributed Availability Group (DAG).""" DEFAULT = "DEFAULT" """Default standard availability group that is not contained or distributed.""" @@ -68,60 +93,85 @@ class ArcSqlServerAvailabilityMode(str, Enum, metaclass=CaseInsensitiveEnumMeta) """ SYNCHRONOUS_COMMIT = "SYNCHRONOUS_COMMIT" + """SYNCHRONOUS_COMMIT.""" ASYNCHRONOUS_COMMIT = "ASYNCHRONOUS_COMMIT" + """ASYNCHRONOUS_COMMIT.""" class ArcSqlServerFailoverMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Property to set the failover mode of the availability group replica.""" AUTOMATIC = "AUTOMATIC" + """AUTOMATIC.""" MANUAL = "MANUAL" + """MANUAL.""" EXTERNAL = "EXTERNAL" + """EXTERNAL.""" NONE = "NONE" + """NONE.""" class ArcSqlServerLicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """SQL Server license type.""" UNDEFINED = "Undefined" + """Undefined.""" FREE = "Free" + """Free.""" HADR = "HADR" + """HADR.""" SERVER_CAL = "ServerCAL" + """ServerCAL.""" LICENSE_ONLY = "LicenseOnly" + """LicenseOnly.""" PAYG = "PAYG" + """PAYG.""" PAID = "Paid" + """Paid.""" FABRIC_CAPACITY = "FabricCapacity" + """FabricCapacity.""" class AssessmentStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The status of the requirement.""" SUCCESS = "Success" + """Success.""" WARNING = "Warning" + """Warning.""" FAILURE = "Failure" + """Failure.""" class AutomatedBackupPreference(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Preferred replica for running automated backups.""" PRIMARY = "PRIMARY" + """PRIMARY.""" SECONDARY_ONLY = "SECONDARY_ONLY" + """SECONDARY_ONLY.""" SECONDARY = "SECONDARY" + """SECONDARY.""" NONE = "NONE" + """NONE.""" class AzureManagedInstanceRole(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The role of managed instance in a distributed availability group, can be Primary or Secondary.""" PRIMARY = "Primary" + """Primary.""" SECONDARY = "Secondary" + """Secondary.""" class BillingPlan(str, Enum, metaclass=CaseInsensitiveEnumMeta): """SQL Server ESU license type.""" PAYG = "PAYG" + """PAYG.""" PAID = "Paid" + """Paid.""" class ClusterType(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -130,41 +180,62 @@ class ClusterType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """ WSFC = "WSFC" + """WSFC.""" NONE = "NONE" + """NONE.""" class ConnectionAuth(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The endpoint connection authentication type(s).""" WINDOWS_NTLM = "Windows_NTLM" + """Windows_NTLM.""" WINDOWS_KERBEROS = "Windows_Kerberos" + """Windows_Kerberos.""" WINDOWS_NEGOTIATE = "Windows_Negotiate" + """Windows_Negotiate.""" CERTIFICATE = "Certificate" + """Certificate.""" WINDOWS_NTLM_CERTIFICATE = "Windows_NTLM_Certificate" + """Windows_NTLM_Certificate.""" WINDOWS_KERBEROS_CERTIFICATE = "Windows_Kerberos_Certificate" + """Windows_Kerberos_Certificate.""" WINDOWS_NEGOTIATE_CERTIFICATE = "Windows_Negotiate_Certificate" + """Windows_Negotiate_Certificate.""" CERTIFICATE_WINDOWS_NTLM = "Certificate_Windows_NTLM" + """Certificate_Windows_NTLM.""" CERTIFICATE_WINDOWS_KERBEROS = "Certificate_Windows_Kerberos" + """Certificate_Windows_Kerberos.""" CERTIFICATE_WINDOWS_NEGOTIATE = "Certificate_Windows_Negotiate" + """Certificate_Windows_Negotiate.""" class ConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The cloud connectivity status.""" CONNECTED = "Connected" + """Connected.""" DISCONNECTED = "Disconnected" + """Disconnected.""" REGISTERED = "Registered" + """Registered.""" DISCOVERED = "Discovered" + """Discovered.""" UNKNOWN = "Unknown" + """Unknown.""" class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The type of identity that created the resource.""" + """The kind of entity that created the resource.""" USER = "User" + """The entity was created by a user.""" APPLICATION = "Application" + """The entity was created by an application.""" MANAGED_IDENTITY = "ManagedIdentity" + """The entity was created by a managed identity.""" KEY = "Key" + """The entity was created by a key.""" class DatabaseCreateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -173,43 +244,61 @@ class DatabaseCreateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """ DEFAULT = "Default" + """Default.""" POINT_IN_TIME_RESTORE = "PointInTimeRestore" + """PointInTimeRestore.""" class DatabaseState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """State of the database.""" ONLINE = "Online" + """Online.""" RESTORING = "Restoring" + """Restoring.""" RECOVERING = "Recovering" + """Recovering.""" RECOVERY_PENDING = "RecoveryPending" + """RecoveryPending.""" SUSPECT = "Suspect" + """Suspect.""" EMERGENCY = "Emergency" + """Emergency.""" OFFLINE = "Offline" + """Offline.""" COPYING = "Copying" + """Copying.""" OFFLINE_SECONDARY = "OfflineSecondary" + """OfflineSecondary.""" class DbFailover(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Specifies whether the availability group supports failover for database health conditions.""" ON = "ON" + """ON.""" OFF = "OFF" + """OFF.""" class DefenderStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Status of Azure Defender.""" PROTECTED = "Protected" + """Protected.""" UNPROTECTED = "Unprotected" + """Unprotected.""" UNKNOWN = "Unknown" + """Unknown.""" class DifferentialBackupHours(int, Enum, metaclass=CaseInsensitiveEnumMeta): """The differential backup interval in hours.""" TWELVE = 12 + """12.""" TWENTY_FOUR = 24 + """24.""" class DiscoverySource(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -229,12 +318,12 @@ class DiscoverySource(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Instance is registered via Import.""" DMS_PORTAL = "DMS-Portal" """Instance is discovered/registered from Azure Database Migration Service(DMS) Azure Portal.""" - DMS_PS = "DMS-PS" + DMSPS = "DMS-PS" """Instance is discovered/registered from DMS using PowerShell - Azure DataMigration Service Module.""" - DMS_CLI = "DMS-CLI" - """Instance is discovered/registered from DMS using datamigration extension for the Azure CLI""" - DMS_SDK = "DMS-SDK" + DMSCLI = "DMS-CLI" + """Instance is discovered/registered from DMS using datamigration extension for the Azure CLI.""" + DMSSDK = "DMS-SDK" """Instance is discovered/registered from Azure Database Migration Service SDK like Python or .NET SDKs.""" OTHER = "Other" @@ -244,105 +333,155 @@ class DiscoverySource(str, Enum, metaclass=CaseInsensitiveEnumMeta): class DtcSupport(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Specifies whether DTC support has been enabled for this availability group.""" - PER_DB = "PER_DB" + PERDB = "PER_DB" + """PER_DB.""" NONE = "NONE" + """NONE.""" class EditionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """SQL Server edition.""" EVALUATION = "Evaluation" + """Evaluation.""" ENTERPRISE = "Enterprise" + """Enterprise.""" STANDARD = "Standard" + """Standard.""" WEB = "Web" + """Web.""" DEVELOPER = "Developer" + """Developer.""" EXPRESS = "Express" + """Express.""" BUSINESS_INTELLIGENCE = "Business Intelligence" + """Business Intelligence.""" STANDARD_DEVELOPER = "Standard Developer" + """Standard Developer.""" UNKNOWN = "Unknown" + """Unknown.""" class EncryptionAlgorithm(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The encryption algorithm(s) used by the endpoint.""" NONE = "NONE" + """NONE.""" RC4 = "RC4" + """RC4.""" AES = "AES" + """AES.""" NONE_RC4 = "NONE, RC4" + """NONE, RC4.""" NONE_AES = "NONE, AES" - RC4_AES = "RC4, AES" - AES_RC4 = "AES, RC4" + """NONE, AES.""" + RC4AES = "RC4, AES" + """RC4, AES.""" + AESRC4 = "AES, RC4" + """AES, RC4.""" NONE_RC4_AES = "NONE, RC4, AES" - NONE_AES_RC4 = "NONE, AES, RC4" + """NONE, RC4, AES.""" + NONE_AESRC4 = "NONE, AES, RC4" + """NONE, AES, RC4.""" class ExecutionState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The execution state of the background job.""" WAITING = "Waiting" + """Waiting.""" RUNNING = "Running" + """Running.""" class ExtendedLocationTypes(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The type of extendedLocation.""" CUSTOM_LOCATION = "CustomLocation" + """CustomLocation.""" class FailoverGroupPartnerSyncMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The partner sync mode of the SQL managed instance.""" ASYNC = "async" + """async.""" SYNC = "sync" + """sync.""" class FailureConditionLevel(int, Enum, metaclass=CaseInsensitiveEnumMeta): """User-defined failure condition level under which an automatic failover must be triggered.""" ONE = 1 + """1.""" TWO = 2 + """2.""" THREE = 3 + """3.""" FOUR = 4 + """4.""" FIVE = 5 + """5.""" class HostType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Type of host for Azure Arc SQL Server.""" AZURE_VIRTUAL_MACHINE = "Azure Virtual Machine" + """Azure Virtual Machine.""" AZURE_VM_WARE_VIRTUAL_MACHINE = "Azure VMWare Virtual Machine" + """Azure VMWare Virtual Machine.""" AZURE_KUBERNETES_SERVICE = "Azure Kubernetes Service" - AWS_VM_WARE_VIRTUAL_MACHINE = "AWS VMWare Virtual Machine" + """Azure Kubernetes Service.""" + AWSVM_WARE_VIRTUAL_MACHINE = "AWS VMWare Virtual Machine" + """AWS VMWare Virtual Machine.""" AWS_KUBERNETES_SERVICE = "AWS Kubernetes Service" - GCP_VM_WARE_VIRTUAL_MACHINE = "GCP VMWare Virtual Machine" + """AWS Kubernetes Service.""" + GCPVM_WARE_VIRTUAL_MACHINE = "GCP VMWare Virtual Machine" + """GCP VMWare Virtual Machine.""" GCP_KUBERNETES_SERVICE = "GCP Kubernetes Service" + """GCP Kubernetes Service.""" CONTAINER = "Container" + """Container.""" VIRTUAL_MACHINE = "Virtual Machine" + """Virtual Machine.""" PHYSICAL_SERVER = "Physical Server" + """Physical Server.""" AWS_VIRTUAL_MACHINE = "AWS Virtual Machine" + """AWS Virtual Machine.""" GCP_VIRTUAL_MACHINE = "GCP Virtual Machine" + """GCP Virtual Machine.""" HYPER_V_VIRTUAL_MACHINE = "Hyper-V Virtual Machine" + """Hyper-V Virtual Machine.""" OTHER = "Other" + """Other.""" class IdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The method used for Entra authentication.""" SYSTEM_ASSIGNED_MANAGED_IDENTITY = "SystemAssignedManagedIdentity" - """System Assigned Managed Identity""" + """System Assigned Managed Identity.""" USER_ASSIGNED_MANAGED_IDENTITY = "UserAssignedManagedIdentity" - """User Assigned Managed Identity""" + """User Assigned Managed Identity.""" class Infrastructure(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The infrastructure the data controller is running on.""" AZURE = "azure" + """azure.""" GCP = "gcp" + """gcp.""" AWS = "aws" + """aws.""" ALIBABA = "alibaba" + """alibaba.""" ONPREMISES = "onpremises" + """onpremises.""" OTHER = "other" + """other.""" class InitiatedFrom(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -360,11 +499,11 @@ class InitiatedFrom(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Migration is initiated from SQL Server Migration Assistant (SSMA).""" DMS_PORTAL = "DMS-Portal" """Migration is initiated from Azure Database Migration Service(DMS) Azure Portal.""" - DMS_PS = "DMS-PS" + DMSPS = "DMS-PS" """Migration is initiated from DMS using PowerShell - Azure DataMigration Service Module.""" - DMS_CLI = "DMS-CLI" - """Migration is initiated from DMS using datamigration extension for the Azure CLI""" - DMS_SDK = "DMS-SDK" + DMSCLI = "DMS-CLI" + """Migration is initiated from DMS using datamigration extension for the Azure CLI.""" + DMSSDK = "DMS-SDK" """Migration is initiated from Azure Database Migration Service SDK like Python or .NET SDKs.""" OTHER = "Other" """Migration is initiated from any other client not listed above.""" @@ -374,35 +513,50 @@ class InstanceFailoverGroupRole(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The role of the SQL managed instance in this failover group.""" PRIMARY = "primary" + """primary.""" SECONDARY = "secondary" + """secondary.""" FORCE_PRIMARY_ALLOW_DATA_LOSS = "force-primary-allow-data-loss" + """force-primary-allow-data-loss.""" FORCE_SECONDARY = "force-secondary" + """force-secondary.""" class JobStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Represents the current status of the target recommendation job.""" NOT_STARTED = "NotStarted" + """NotStarted.""" IN_PROGRESS = "InProgress" + """InProgress.""" SUCCEEDED = "Succeeded" + """Succeeded.""" FAILED = "Failed" + """Failed.""" class LastExecutionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The last execution status of the background job.""" SUCCEEDED = "Succeeded" + """Succeeded.""" COMPLETED = "Completed" + """Completed.""" FAILED = "Failed" + """Failed.""" FAULTED = "Faulted" + """Faulted.""" POSTPONED = "Postponed" + """Postponed.""" RESCHEDULED = "Rescheduled" + """Rescheduled.""" class LicenseCategory(str, Enum, metaclass=CaseInsensitiveEnumMeta): """This property represents the choice between SQL Server Core and ESU licenses.""" CORE = "Core" + """Core.""" class MigrationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -427,12 +581,19 @@ class MigrationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Status of the migration job.""" NOT_STARTED = "NotStarted" + """NotStarted.""" IN_PROGRESS = "InProgress" + """InProgress.""" IN_PROGRESS_WITH_WARNINGS = "InProgressWithWarnings" + """InProgressWithWarnings.""" CANCELLED = "Cancelled" + """Cancelled.""" FAILED = "Failed" + """Failed.""" SUCCESSFUL = "Successful" + """Successful.""" UNKNOWN = "Unknown" + """Unknown.""" class MiLinkAssessmentCategory(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -474,11 +635,17 @@ class Mode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Used for scenarios were the mode cannot be determined.""" -class OperationOrigin(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The intended executor of the operation.""" +class Origin(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit + logs UX. Default value is "user,system". + """ USER = "user" + """Indicates the operation is initiated by a user.""" SYSTEM = "system" + """Indicates the operation is initiated by a system.""" + USER_SYSTEM = "user,system" + """Indicates the operation is initiated by a user or system.""" class PrimaryAllowConnections(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -487,42 +654,59 @@ class PrimaryAllowConnections(str, Enum, metaclass=CaseInsensitiveEnumMeta): """ ALL = "ALL" + """ALL.""" READ_WRITE = "READ_WRITE" + """READ_WRITE.""" class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The provisioning state of the failover group resource.""" SUCCEEDED = "Succeeded" + """Succeeded.""" FAILED = "Failed" + """Failed.""" CANCELED = "Canceled" + """Canceled.""" ACCEPTED = "Accepted" + """Accepted.""" class RecommendationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The target recommendation Status for this database.""" NOT_READY = "NotReady" + """NotReady.""" READY = "Ready" + """Ready.""" READY_WITH_CONDITIONS = "ReadyWithConditions" + """ReadyWithConditions.""" UNKNOWN = "Unknown" + """Unknown.""" class RecoveryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Status of the database.""" FULL = "Full" + """Full.""" BULK_LOGGED = "Bulk-logged" + """Bulk-logged.""" SIMPLE = "Simple" + """Simple.""" class ReplicationPartnerType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """ReplicationPartnerType.""" + """Type of ReplicationPartnerType.""" SQL_SERVER = "SQLServer" + """SQLServer.""" AZURE_SQLVM = "AzureSQLVM" + """AzureSQLVM.""" AZURE_SQL_MANAGED_INSTANCE = "AzureSQLManagedInstance" + """AzureSQLManagedInstance.""" UNKNOWN = "Unknown" + """Unknown.""" class ResourceUpdateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -542,27 +726,39 @@ class Result(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The result of the sequencer action.""" NOT_COMPLETED = "NotCompleted" + """NotCompleted.""" SUCCEEDED = "Succeeded" + """Succeeded.""" FAILED = "Failed" + """Failed.""" TIMED_OUT = "TimedOut" + """TimedOut.""" SKIPPED = "Skipped" + """Skipped.""" class Role(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Mirroring Role.""" NONE = "NONE" + """NONE.""" PARTNER = "PARTNER" + """PARTNER.""" WITNESS = "WITNESS" + """WITNESS.""" ALL = "ALL" + """ALL.""" class ScopeType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The Azure scope to which the license will apply.""" TENANT = "Tenant" + """Tenant.""" SUBSCRIPTION = "Subscription" + """Subscription.""" RESOURCE_GROUP = "ResourceGroup" + """ResourceGroup.""" class SecondaryAllowConnections(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -571,8 +767,11 @@ class SecondaryAllowConnections(str, Enum, metaclass=CaseInsensitiveEnumMeta): """ NO = "NO" + """NO.""" ALL = "ALL" + """ALL.""" READ_ONLY = "READ_ONLY" + """READ_ONLY.""" class SeedingMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -584,17 +783,24 @@ class SeedingMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """ AUTOMATIC = "AUTOMATIC" + """AUTOMATIC.""" MANUAL = "MANUAL" + """MANUAL.""" class SequencerState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The state of the sequencer action.""" NOT_STARTED = "NotStarted" + """NotStarted.""" WAITING_PREDECESSORS = "WaitingPredecessors" + """WaitingPredecessors.""" EXECUTING_ACTION = "ExecutingAction" + """ExecutingAction.""" CREATING_SUCCESSORS = "CreatingSuccessors" + """CreatingSuccessors.""" COMPLETED = "Completed" + """Completed.""" class ServiceType(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -618,20 +824,30 @@ class SqlManagedInstanceSkuTier(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The pricing tier for the instance.""" GENERAL_PURPOSE = "GeneralPurpose" + """GeneralPurpose.""" BUSINESS_CRITICAL = "BusinessCritical" + """BusinessCritical.""" class SqlServerInstanceBpaColumnType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The type of the result column.""" BOOL = "bool" + """bool.""" DATETIME = "datetime" + """datetime.""" INT = "int" + """int.""" LONG = "long" + """long.""" DOUBLE = "double" + """double.""" STRING = "string" + """string.""" GUID = "guid" + """guid.""" TIMESPAN = "timespan" + """timespan.""" class SqlServerInstanceBpaQueryType(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -640,14 +856,18 @@ class SqlServerInstanceBpaQueryType(str, Enum, metaclass=CaseInsensitiveEnumMeta """ BASIC = "Basic" + """Basic.""" HISTORICAL_TRENDS = "HistoricalTrends" + """HistoricalTrends.""" class SqlServerInstanceBpaReportType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The report type that needs to be fetched. If not specified, the default is AssessmentSummary.""" ASSESSMENT_DATA_POINT = "AssessmentDataPoint" + """AssessmentDataPoint.""" ASSESSMENT_SUMMARY = "AssessmentSummary" + """AssessmentSummary.""" class SqlServerInstanceTargetRecommendationReportSectionType( # pylint: disable=name-too-long @@ -685,53 +905,84 @@ class SqlServerInstanceTelemetryColumnType(str, Enum, metaclass=CaseInsensitiveE """The type of the telemetry column.""" BOOL = "bool" + """bool.""" DATETIME = "datetime" + """datetime.""" INT = "int" + """int.""" LONG = "long" + """long.""" DOUBLE = "double" + """double.""" STRING = "string" + """string.""" GUID = "guid" + """guid.""" TIMESPAN = "timespan" + """timespan.""" class SqlVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta): """SQL Server version.""" UNKNOWN = "Unknown" + """Unknown.""" SQL_SERVER2012 = "SQL Server 2012" + """SQL Server 2012.""" SQL_SERVER2014 = "SQL Server 2014" + """SQL Server 2014.""" SQL_SERVER2016 = "SQL Server 2016" + """SQL Server 2016.""" SQL_SERVER2017 = "SQL Server 2017" + """SQL Server 2017.""" SQL_SERVER2019 = "SQL Server 2019" + """SQL Server 2019.""" SQL_SERVER2022 = "SQL Server 2022" + """SQL Server 2022.""" SQL_SERVER2025 = "SQL Server 2025" + """SQL Server 2025.""" class State(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The activation state of the license.""" INACTIVE = "Inactive" + """Inactive.""" ACTIVE = "Active" + """Active.""" TERMINATED = "Terminated" + """Terminated.""" ENABLED = "Enabled" + """Enabled.""" DISABLED = "Disabled" + """Disabled.""" DELETED = "Deleted" + """Deleted.""" COMPLETED = "Completed" + """Completed.""" FAULTED = "Faulted" + """Faulted.""" SUSPENDED = "Suspended" + """Suspended.""" class TargetType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Type of target in Azure this database is being migrated to.""" AZURE_SQL_DATABASE = "AzureSqlDatabase" + """AzureSqlDatabase.""" AZURE_SQL_MANAGED_INSTANCE = "AzureSqlManagedInstance" + """AzureSqlManagedInstance.""" AZURE_SQL_VIRTUAL_MACHINE = "AzureSqlVirtualMachine" + """AzureSqlVirtualMachine.""" class Version(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The SQL Server version the license covers.""" SQL_SERVER2012 = "SQL Server 2012" + """SQL Server 2012.""" SQL_SERVER2014 = "SQL Server 2014" + """SQL Server 2014.""" SQL_SERVER2016 = "SQL Server 2016" + """SQL Server 2016.""" diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py new file mode 100644 index 000000000000..3a7d5d14f85c --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py @@ -0,0 +1,8763 @@ +# pylint: disable=line-too-long,useless-suppression,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) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=useless-super-delegation + +from __future__ import annotations +import datetime +from typing import Any, Literal, Mapping, Optional, TYPE_CHECKING, Union, overload + +from .._utils.model_base import Model as _Model, rest_field + +if TYPE_CHECKING: + from .. import models as _models + + +class ActiveDirectoryConnectorDNSDetails(_Model): + """DNS server details. + + :ivar domain_name: DNS domain name for which DNS lookups should be forwarded to the Active + Directory DNS servers. + :vartype domain_name: str + :ivar nameserver_ip_addresses: List of Active Directory DNS server IP addresses. Required. + :vartype nameserver_ip_addresses: list[str] + :ivar replicas: Replica count for DNS proxy service. Default value is 1. + :vartype replicas: int + :ivar prefer_k8_s_dns_for_ptr_lookups: Flag indicating whether to prefer Kubernetes DNS server + response over AD DNS server response for IP address lookups. + :vartype prefer_k8_s_dns_for_ptr_lookups: bool + """ + + domain_name: Optional[str] = rest_field( + name="domainName", visibility=["read", "create", "update", "delete", "query"] + ) + """DNS domain name for which DNS lookups should be forwarded to the Active Directory DNS servers.""" + nameserver_ip_addresses: list[str] = rest_field( + name="nameserverIPAddresses", visibility=["read", "create", "update", "delete", "query"] + ) + """List of Active Directory DNS server IP addresses. Required.""" + replicas: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Replica count for DNS proxy service. Default value is 1.""" + prefer_k8_s_dns_for_ptr_lookups: Optional[bool] = rest_field( + name="preferK8sDnsForPtrLookups", visibility=["read", "create", "update", "delete", "query"] + ) + """Flag indicating whether to prefer Kubernetes DNS server response over AD DNS server response + for IP address lookups.""" + + @overload + def __init__( + self, + *, + nameserver_ip_addresses: list[str], + domain_name: Optional[str] = None, + replicas: Optional[int] = None, + prefer_k8_s_dns_for_ptr_lookups: Optional[bool] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ActiveDirectoryConnectorDomainDetails(_Model): + """Active Directory domain details. + + :ivar realm: Name (uppercase) of the Active Directory domain that this AD connector will be + associated with. Required. + :vartype realm: str + :ivar netbios_domain_name: NETBIOS name of the Active Directory domain. + :vartype netbios_domain_name: str + :ivar service_account_provisioning: The service account provisioning mode for this Active + Directory connector. Known values are: "automatic" and "manual". + :vartype service_account_provisioning: str or + ~azure.mgmt.azurearcdata.models.AccountProvisioningMode + :ivar ou_distinguished_name: The distinguished name of the Active Directory Organizational + Unit. + :vartype ou_distinguished_name: str + :ivar domain_controllers: null. + :vartype domain_controllers: ~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainControllers + """ + + realm: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Name (uppercase) of the Active Directory domain that this AD connector will be associated with. + Required.""" + netbios_domain_name: Optional[str] = rest_field( + name="netbiosDomainName", visibility=["read", "create", "update", "delete", "query"] + ) + """NETBIOS name of the Active Directory domain.""" + service_account_provisioning: Optional[Union[str, "_models.AccountProvisioningMode"]] = rest_field( + name="serviceAccountProvisioning", visibility=["read", "create", "update", "delete", "query"] + ) + """The service account provisioning mode for this Active Directory connector. Known values are: + \"automatic\" and \"manual\".""" + ou_distinguished_name: Optional[str] = rest_field( + name="ouDistinguishedName", visibility=["read", "create", "update", "delete", "query"] + ) + """The distinguished name of the Active Directory Organizational Unit.""" + domain_controllers: Optional["_models.ActiveDirectoryDomainControllers"] = rest_field( + name="domainControllers", visibility=["read", "create", "update", "delete", "query"] + ) + """null.""" + + @overload + def __init__( + self, + *, + realm: str, + netbios_domain_name: Optional[str] = None, + service_account_provisioning: Optional[Union[str, "_models.AccountProvisioningMode"]] = None, + ou_distinguished_name: Optional[str] = None, + domain_controllers: Optional["_models.ActiveDirectoryDomainControllers"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ActiveDirectoryConnectorProperties(_Model): + """The properties of an Active Directory connector resource. + + :ivar domain_service_account_login_information: Username and password for domain service + account authentication. + :vartype domain_service_account_login_information: + ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar provisioning_state: The provisioning state of the Active Directory connector resource. + :vartype provisioning_state: str + :ivar spec: null. Required. + :vartype spec: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorSpec + :ivar status: null. + :vartype status: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorStatus + """ + + domain_service_account_login_information: Optional["_models.BasicLoginInformation"] = rest_field( + name="domainServiceAccountLoginInformation", visibility=["read", "create", "update", "delete", "query"] + ) + """Username and password for domain service account authentication.""" + provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) + """The provisioning state of the Active Directory connector resource.""" + spec: "_models.ActiveDirectoryConnectorSpec" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null. Required.""" + status: Optional["_models.ActiveDirectoryConnectorStatus"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null.""" + + @overload + def __init__( + self, + *, + spec: "_models.ActiveDirectoryConnectorSpec", + domain_service_account_login_information: Optional["_models.BasicLoginInformation"] = None, + status: Optional["_models.ActiveDirectoryConnectorStatus"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class Resource(_Model): + """Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + """ + + id: Optional[str] = rest_field(visibility=["read"]) + """Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.""" + name: Optional[str] = rest_field(visibility=["read"]) + """The name of the resource.""" + type: Optional[str] = rest_field(visibility=["read"]) + """The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or + \"Microsoft.Storage/storageAccounts\".""" + system_data: Optional["_models.SystemData"] = rest_field(name="systemData", visibility=["read"]) + """Azure Resource Manager metadata containing createdBy and modifiedBy information.""" + + +class ProxyResource(Resource): + """Proxy Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + """ + + +class ActiveDirectoryConnectorResource(ProxyResource): + """Active directory connector resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar properties: null. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorProperties + """ + + properties: "_models.ActiveDirectoryConnectorProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null. Required.""" + + @overload + def __init__( + self, + *, + properties: "_models.ActiveDirectoryConnectorProperties", + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ActiveDirectoryConnectorSpec(_Model): + """The specifications of the AD Kubernetes resource. + + :ivar active_directory: null. Required. + :vartype active_directory: + ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDomainDetails + :ivar dns: null. Required. + :vartype dns: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDNSDetails + """ + + active_directory: "_models.ActiveDirectoryConnectorDomainDetails" = rest_field( + name="activeDirectory", visibility=["read", "create", "update", "delete", "query"] + ) + """null. Required.""" + dns: "_models.ActiveDirectoryConnectorDNSDetails" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null. Required.""" + + @overload + def __init__( + self, + *, + active_directory: "_models.ActiveDirectoryConnectorDomainDetails", + dns: "_models.ActiveDirectoryConnectorDNSDetails", + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ActiveDirectoryConnectorStatus(_Model): + """The status of the Kubernetes custom resource. + + :ivar last_update_time: The time that the custom resource was last updated. + :vartype last_update_time: str + :ivar observed_generation: The version of the replicaSet associated with the AD connector + custom resource. + :vartype observed_generation: int + :ivar state: The state of the AD connector custom resource. + :vartype state: str + """ + + last_update_time: Optional[str] = rest_field( + name="lastUpdateTime", visibility=["read", "create", "update", "delete", "query"] + ) + """The time that the custom resource was last updated.""" + observed_generation: Optional[int] = rest_field( + name="observedGeneration", visibility=["read", "create", "update", "delete", "query"] + ) + """The version of the replicaSet associated with the AD connector custom resource.""" + state: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The state of the AD connector custom resource.""" + + @overload + def __init__( + self, + *, + last_update_time: Optional[str] = None, + observed_generation: Optional[int] = None, + state: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ActiveDirectoryDomainController(_Model): + """Information about a domain controller in the AD domain. + + :ivar hostname: Fully-qualified domain name of a domain controller in the AD domain. Required. + :vartype hostname: str + """ + + hostname: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Fully-qualified domain name of a domain controller in the AD domain. Required.""" + + @overload + def __init__( + self, + *, + hostname: str, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ActiveDirectoryDomainControllers(_Model): + """Details about the Active Directory domain controllers associated with this AD connector + instance. + + :ivar primary_domain_controller: Information about the Primary Domain Controller (PDC) in the + AD domain. + :vartype primary_domain_controller: + ~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainController + :ivar secondary_domain_controllers: null. + :vartype secondary_domain_controllers: + list[~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainController] + """ + + primary_domain_controller: Optional["_models.ActiveDirectoryDomainController"] = rest_field( + name="primaryDomainController", visibility=["read", "create", "update", "delete", "query"] + ) + """Information about the Primary Domain Controller (PDC) in the AD domain.""" + secondary_domain_controllers: Optional[list["_models.ActiveDirectoryDomainController"]] = rest_field( + name="secondaryDomainControllers", visibility=["read", "create", "update", "delete", "query"] + ) + """null.""" + + @overload + def __init__( + self, + *, + primary_domain_controller: Optional["_models.ActiveDirectoryDomainController"] = None, + secondary_domain_controllers: Optional[list["_models.ActiveDirectoryDomainController"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ActiveDirectoryInformation(_Model): + """Active Directory information that related to the resource. + + :ivar keytab_information: Keytab information that is used for the Sql Managed Instance when + Active Directory authentication is used. + :vartype keytab_information: ~azure.mgmt.azurearcdata.models.KeytabInformation + """ + + keytab_information: Optional["_models.KeytabInformation"] = rest_field( + name="keytabInformation", visibility=["read", "create", "update", "delete", "query"] + ) + """Keytab information that is used for the Sql Managed Instance when Active Directory + authentication is used.""" + + @overload + def __init__( + self, + *, + keytab_information: Optional["_models.KeytabInformation"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AdditionalMigrationJobAttributes(_Model): + """Any other migration type specific attributes to associate with this job. + + :ivar key_name: Unique attribute name. + :vartype key_name: str + :ivar key_value: Attribute value. + :vartype key_value: str + """ + + key_name: Optional[str] = rest_field(name="keyName", visibility=["read", "create", "update", "delete", "query"]) + """Unique attribute name.""" + key_value: Optional[str] = rest_field(name="keyValue", visibility=["read", "create", "update", "delete", "query"]) + """Attribute value.""" + + @overload + def __init__( + self, + *, + key_name: Optional[str] = None, + key_value: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class Authentication(_Model): + """Authentication related configuration for the SQL Server Instance. + + :ivar mode: Mode of authentication in SqlServer. Known values are: "Mixed", "Windows", and + "Undefined". + :vartype mode: str or ~azure.mgmt.azurearcdata.models.Mode + :ivar sql_server_entra_identity: Entra Authentication configuration for the SQL Server + Instance. + :vartype sql_server_entra_identity: list[~azure.mgmt.azurearcdata.models.EntraAuthentication] + """ + + mode: Optional[Union[str, "_models.Mode"]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Mode of authentication in SqlServer. Known values are: \"Mixed\", \"Windows\", and + \"Undefined\".""" + sql_server_entra_identity: Optional[list["_models.EntraAuthentication"]] = rest_field( + name="sqlServerEntraIdentity", visibility=["read", "create", "update", "delete", "query"] + ) + """Entra Authentication configuration for the SQL Server Instance.""" + + @overload + def __init__( + self, + *, + mode: Optional[Union[str, "_models.Mode"]] = None, + sql_server_entra_identity: Optional[list["_models.EntraAuthentication"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AvailabilityGroupConfigure(_Model): + """The specifications of the availability group replica configuration. + + :ivar endpoint_name: Name of the mirroring endpoint URL. + :vartype endpoint_name: str + :ivar endpoint_url: Mirroring endpoint URL of availability group replica. + :vartype endpoint_url: str + :ivar endpoint_authentication_mode: Permitted authentication modes for the mirroring endpoint. + Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", "Certificate", + "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", "Windows_Negotiate_Certificate", + "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", and + "Certificate_Windows_Negotiate". + :vartype endpoint_authentication_mode: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth + :ivar certificate_name: Name of certificate to use for authentication. Required if any + CERTIFICATE authentication modes are specified. + :vartype certificate_name: str + :ivar endpoint_connect_login: The login which will connect to the mirroring endpoint. + :vartype endpoint_connect_login: str + :ivar availability_mode: Property that determines whether a given availability replica can run + in synchronous-commit mode. Known values are: "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". + :vartype availability_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode + :ivar availability_mode_description: The Availability Synchronization mode of the availability + group replica. + :vartype availability_mode_description: str + :ivar failover_mode: Property to set the failover mode of the availability group replica. Known + values are: "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". + :vartype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode + :ivar failover_mode_description: The failover mode of the availability group replica. + :vartype failover_mode_description: str + :ivar session_timeout: The time-out period of availability group session replica, in seconds. + :vartype session_timeout: int + :ivar primary_allow_connections: Whether the primary replica should allow all connections or + only READ_WRITE connections (disallowing ReadOnly connections). Known values are: "ALL" and + "READ_WRITE". + :vartype primary_allow_connections: str or + ~azure.mgmt.azurearcdata.models.PrimaryAllowConnections + :ivar primary_role_allow_connections_description: Whether the availability allows all + connections or only read-write connections. + :vartype primary_role_allow_connections_description: str + :ivar secondary_allow_connections: Whether the secondary replica should allow all connections, + no connections, or only ReadOnly connections. Known values are: "NO", "ALL", and "READ_ONLY". + :vartype secondary_allow_connections: str or + ~azure.mgmt.azurearcdata.models.SecondaryAllowConnections + :ivar secondary_role_allow_connections_description: Whether an availability replica that is + performing the secondary role (that is, a secondary replica) can accept connections from + clients. + :vartype secondary_role_allow_connections_description: str + :ivar replica_create_date: Date that the replica was created. + :vartype replica_create_date: ~datetime.datetime + :ivar replica_modify_date: Date that the replica was modified. + :vartype replica_modify_date: ~datetime.datetime + :ivar backup_priority: Represents the user-specified priority for performing backups on this + replica relative to the other replicas in the same availability group. + :vartype backup_priority: int + :ivar read_only_routing_url: Connectivity endpoint (URL) of the read only availability replica. + :vartype read_only_routing_url: str + :ivar read_write_routing_url: Connectivity endpoint (URL) of the read write availability + replica. + :vartype read_write_routing_url: str + :ivar seeding_mode: Specifies how the secondary replica will be initially seeded. AUTOMATIC + enables direct seeding. This method will seed the secondary replica over the network. This + method does not require you to backup and restore a copy of the primary database on the + replica. MANUAL specifies manual seeding (default). This method requires you to create a backup + of the database on the primary replica and manually restore that backup on the secondary + replica. Known values are: "AUTOMATIC" and "MANUAL". + :vartype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode + :ivar seeding_mode_description: Describes seeding mode. + :vartype seeding_mode_description: str + """ + + endpoint_name: Optional[str] = rest_field( + name="endpointName", visibility=["read", "create", "update", "delete", "query"] + ) + """Name of the mirroring endpoint URL.""" + endpoint_url: Optional[str] = rest_field( + name="endpointUrl", visibility=["read", "create", "update", "delete", "query"] + ) + """Mirroring endpoint URL of availability group replica.""" + endpoint_authentication_mode: Optional[Union[str, "_models.ConnectionAuth"]] = rest_field( + name="endpointAuthenticationMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Permitted authentication modes for the mirroring endpoint. Known values are: \"Windows_NTLM\", + \"Windows_Kerberos\", \"Windows_Negotiate\", \"Certificate\", \"Windows_NTLM_Certificate\", + \"Windows_Kerberos_Certificate\", \"Windows_Negotiate_Certificate\", + \"Certificate_Windows_NTLM\", \"Certificate_Windows_Kerberos\", and + \"Certificate_Windows_Negotiate\".""" + certificate_name: Optional[str] = rest_field( + name="certificateName", visibility=["read", "create", "update", "delete", "query"] + ) + """Name of certificate to use for authentication. Required if any CERTIFICATE authentication modes + are specified.""" + endpoint_connect_login: Optional[str] = rest_field( + name="endpointConnectLogin", visibility=["read", "create", "update", "delete", "query"] + ) + """The login which will connect to the mirroring endpoint.""" + availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = rest_field( + name="availabilityMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Property that determines whether a given availability replica can run in synchronous-commit + mode. Known values are: \"SYNCHRONOUS_COMMIT\" and \"ASYNCHRONOUS_COMMIT\".""" + availability_mode_description: Optional[str] = rest_field(name="availabilityModeDescription", visibility=["read"]) + """The Availability Synchronization mode of the availability group replica.""" + failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = rest_field( + name="failoverMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Property to set the failover mode of the availability group replica. Known values are: + \"AUTOMATIC\", \"MANUAL\", \"EXTERNAL\", and \"NONE\".""" + failover_mode_description: Optional[str] = rest_field(name="failoverModeDescription", visibility=["read"]) + """The failover mode of the availability group replica.""" + session_timeout: Optional[int] = rest_field( + name="sessionTimeout", visibility=["read", "create", "update", "delete", "query"] + ) + """The time-out period of availability group session replica, in seconds.""" + primary_allow_connections: Optional[Union[str, "_models.PrimaryAllowConnections"]] = rest_field( + name="primaryAllowConnections", visibility=["read", "create", "update", "delete", "query"] + ) + """Whether the primary replica should allow all connections or only READ_WRITE connections + (disallowing ReadOnly connections). Known values are: \"ALL\" and \"READ_WRITE\".""" + primary_role_allow_connections_description: Optional[str] = rest_field( + name="primaryRoleAllowConnectionsDescription", visibility=["read"] + ) + """Whether the availability allows all connections or only read-write connections.""" + secondary_allow_connections: Optional[Union[str, "_models.SecondaryAllowConnections"]] = rest_field( + name="secondaryAllowConnections", visibility=["read", "create", "update", "delete", "query"] + ) + """Whether the secondary replica should allow all connections, no connections, or only ReadOnly + connections. Known values are: \"NO\", \"ALL\", and \"READ_ONLY\".""" + secondary_role_allow_connections_description: Optional[str] = rest_field( + name="secondaryRoleAllowConnectionsDescription", visibility=["read"] + ) + """Whether an availability replica that is performing the secondary role (that is, a secondary + replica) can accept connections from clients.""" + replica_create_date: Optional[datetime.datetime] = rest_field( + name="replicaCreateDate", visibility=["read"], format="rfc3339" + ) + """Date that the replica was created.""" + replica_modify_date: Optional[datetime.datetime] = rest_field( + name="replicaModifyDate", visibility=["read"], format="rfc3339" + ) + """Date that the replica was modified.""" + backup_priority: Optional[int] = rest_field( + name="backupPriority", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents the user-specified priority for performing backups on this replica relative to the + other replicas in the same availability group.""" + read_only_routing_url: Optional[str] = rest_field( + name="readOnlyRoutingUrl", visibility=["read", "create", "update", "delete", "query"] + ) + """Connectivity endpoint (URL) of the read only availability replica.""" + read_write_routing_url: Optional[str] = rest_field( + name="readWriteRoutingUrl", visibility=["read", "create", "update", "delete", "query"] + ) + """Connectivity endpoint (URL) of the read write availability replica.""" + seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = rest_field( + name="seedingMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies how the secondary replica will be initially seeded. AUTOMATIC enables direct seeding. + This method will seed the secondary replica over the network. This method does not require you + to backup and restore a copy of the primary database on the replica. MANUAL specifies manual + seeding (default). This method requires you to create a backup of the database on the primary + replica and manually restore that backup on the secondary replica. Known values are: + \"AUTOMATIC\" and \"MANUAL\".""" + seeding_mode_description: Optional[str] = rest_field(name="seedingModeDescription", visibility=["read"]) + """Describes seeding mode.""" + + @overload + def __init__( + self, + *, + endpoint_name: Optional[str] = None, + endpoint_url: Optional[str] = None, + endpoint_authentication_mode: Optional[Union[str, "_models.ConnectionAuth"]] = None, + certificate_name: Optional[str] = None, + endpoint_connect_login: Optional[str] = None, + availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = None, + failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = None, + session_timeout: Optional[int] = None, + primary_allow_connections: Optional[Union[str, "_models.PrimaryAllowConnections"]] = None, + secondary_allow_connections: Optional[Union[str, "_models.SecondaryAllowConnections"]] = None, + backup_priority: Optional[int] = None, + read_only_routing_url: Optional[str] = None, + read_write_routing_url: Optional[str] = None, + seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AvailabilityGroupCreateUpdateConfiguration(_Model): # pylint: disable=name-too-long + """Options used in creating an availability group. + + :ivar availability_group_name: Name of the availability group. + :vartype availability_group_name: str + :ivar replicas: List of availability group replicas. + :vartype replicas: + list[~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateReplicaConfiguration] + :ivar databases: List of databases to include in the availability group. + :vartype databases: list[str] + :ivar automated_backup_preference: Preferred replica for running automated backups. Known + values are: "PRIMARY", "SECONDARY_ONLY", "SECONDARY", and "NONE". + :vartype automated_backup_preference: str or + ~azure.mgmt.azurearcdata.models.AutomatedBackupPreference + :ivar failure_condition_level: User-defined failure condition level under which an automatic + failover must be triggered. Known values are: 1, 2, 3, 4, and 5. + :vartype failure_condition_level: int or ~azure.mgmt.azurearcdata.models.FailureConditionLevel + :ivar health_check_timeout: Wait time (in milliseconds) for the sp_server_diagnostics system + stored procedure to return server-health information, before the server instance is assumed to + be slow or not responding. + :vartype health_check_timeout: int + :ivar db_failover: Specifies whether the availability group supports failover for database + health conditions. Known values are: "ON" and "OFF". + :vartype db_failover: str or ~azure.mgmt.azurearcdata.models.DbFailover + :ivar dtc_support: Specifies whether DTC support has been enabled for this availability group. + Known values are: "PER_DB" and "NONE". + :vartype dtc_support: str or ~azure.mgmt.azurearcdata.models.DtcSupport + :ivar required_synchronized_secondaries_to_commit: The number of secondary replicas that must + be in a synchronized state for a commit to complete. + :vartype required_synchronized_secondaries_to_commit: int + :ivar cluster_type: Set to WSFC when availability group is on a failover cluster instance on a + Windows Server failover cluster. Set to NONE when availability group not using WSFC for cluster + coordination. Known values are: "WSFC" and "NONE". + :vartype cluster_type: str or ~azure.mgmt.azurearcdata.models.ClusterType + :ivar listener: The listener for the sql server availability group. + :vartype listener: + ~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties + """ + + availability_group_name: Optional[str] = rest_field( + name="availabilityGroupName", visibility=["read", "create", "update", "delete", "query"] + ) + """Name of the availability group.""" + replicas: Optional[list["_models.AvailabilityGroupCreateUpdateReplicaConfiguration"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """List of availability group replicas.""" + databases: Optional[list[str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """List of databases to include in the availability group.""" + automated_backup_preference: Optional[Union[str, "_models.AutomatedBackupPreference"]] = rest_field( + name="automatedBackupPreference", visibility=["read", "create", "update", "delete", "query"] + ) + """Preferred replica for running automated backups. Known values are: \"PRIMARY\", + \"SECONDARY_ONLY\", \"SECONDARY\", and \"NONE\".""" + failure_condition_level: Optional[Union[int, "_models.FailureConditionLevel"]] = rest_field( + name="failureConditionLevel", visibility=["read", "create", "update", "delete", "query"] + ) + """User-defined failure condition level under which an automatic failover must be triggered. Known + values are: 1, 2, 3, 4, and 5.""" + health_check_timeout: Optional[int] = rest_field( + name="healthCheckTimeout", visibility=["read", "create", "update", "delete", "query"] + ) + """Wait time (in milliseconds) for the sp_server_diagnostics system stored procedure to return + server-health information, before the server instance is assumed to be slow or not responding.""" + db_failover: Optional[Union[str, "_models.DbFailover"]] = rest_field( + name="dbFailover", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies whether the availability group supports failover for database health conditions. + Known values are: \"ON\" and \"OFF\".""" + dtc_support: Optional[Union[str, "_models.DtcSupport"]] = rest_field( + name="dtcSupport", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies whether DTC support has been enabled for this availability group. Known values are: + \"PER_DB\" and \"NONE\".""" + required_synchronized_secondaries_to_commit: Optional[int] = rest_field( + name="requiredSynchronizedSecondariesToCommit", visibility=["read", "create", "update", "delete", "query"] + ) + """The number of secondary replicas that must be in a synchronized state for a commit to complete.""" + cluster_type: Optional[Union[str, "_models.ClusterType"]] = rest_field( + name="clusterType", visibility=["read", "create", "update", "delete", "query"] + ) + """Set to WSFC when availability group is on a failover cluster instance on a Windows Server + failover cluster. Set to NONE when availability group not using WSFC for cluster coordination. + Known values are: \"WSFC\" and \"NONE\".""" + listener: Optional["_models.SqlAvailabilityGroupStaticIPListenerProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The listener for the sql server availability group.""" + + @overload + def __init__( + self, + *, + availability_group_name: Optional[str] = None, + replicas: Optional[list["_models.AvailabilityGroupCreateUpdateReplicaConfiguration"]] = None, + databases: Optional[list[str]] = None, + automated_backup_preference: Optional[Union[str, "_models.AutomatedBackupPreference"]] = None, + failure_condition_level: Optional[Union[int, "_models.FailureConditionLevel"]] = None, + health_check_timeout: Optional[int] = None, + db_failover: Optional[Union[str, "_models.DbFailover"]] = None, + dtc_support: Optional[Union[str, "_models.DtcSupport"]] = None, + required_synchronized_secondaries_to_commit: Optional[int] = None, + cluster_type: Optional[Union[str, "_models.ClusterType"]] = None, + listener: Optional["_models.SqlAvailabilityGroupStaticIPListenerProperties"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AvailabilityGroupCreateUpdateReplicaConfiguration(_Model): # pylint: disable=name-too-long + """The specifications of the availability group replica configuration. + + :ivar server_instance: the server instance hosting the replica. + :vartype server_instance: str + :ivar endpoint_name: Name of the database mirroring endpoint URL for the availability group + replica. + :vartype endpoint_name: str + :ivar endpoint_url: Database mirroring endpoint URL of availability group replica. + :vartype endpoint_url: str + :ivar endpoint_authentication_mode: Permitted authentication modes for the mirroring endpoint. + Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", "Certificate", + "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", "Windows_Negotiate_Certificate", + "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", and + "Certificate_Windows_Negotiate". + :vartype endpoint_authentication_mode: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth + :ivar certificate_name: Name of certificate to use for authentication. Required if any + CERTIFICATE authentication modes are specified. + :vartype certificate_name: str + :ivar endpoint_connect_login: The login which will connect to the mirroring endpoint. + :vartype endpoint_connect_login: str + :ivar availability_mode: Property that determines whether a given availability replica can run + in synchronous-commit mode. Known values are: "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". + :vartype availability_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode + :ivar failover_mode: Property to set the failover mode of the availability group replica. Known + values are: "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". + :vartype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode + :ivar seeding_mode: Specifies how the secondary replica will be initially seeded. AUTOMATIC + enables direct seeding. This method will seed the secondary replica over the network. This + method does not require you to backup and restore a copy of the primary database on the + replica. MANUAL specifies manual seeding (default). This method requires you to create a backup + of the database on the primary replica and manually restore that backup on the secondary + replica. Known values are: "AUTOMATIC" and "MANUAL". + :vartype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode + :ivar backup_priority: Represents the user-specified priority for performing backups on this + replica relative to the other replicas in the same availability group. + :vartype backup_priority: int + :ivar secondary_role_allow_connections: Whether the secondary replica should allow all + connections, no connections, or only ReadOnly connections. Known values are: "NO", "ALL", and + "READ_ONLY". + :vartype secondary_role_allow_connections: str or + ~azure.mgmt.azurearcdata.models.SecondaryAllowConnections + :ivar secondary_role_read_only_routing_url: Connectivity endpoint (URL) of the read only + availability replica. + :vartype secondary_role_read_only_routing_url: str + :ivar primary_role_allow_connections: Whether the primary replica should allow all connections + or only READ_WRITE connections (disallowing ReadOnly connections). Known values are: "ALL" and + "READ_WRITE". + :vartype primary_role_allow_connections: str or + ~azure.mgmt.azurearcdata.models.PrimaryAllowConnections + :ivar primary_role_read_only_routing_list: List of read only routing URLs. + :vartype primary_role_read_only_routing_list: list[str] + :ivar session_timeout: The time-out period of availability group session replica, in seconds. + :vartype session_timeout: int + """ + + server_instance: Optional[str] = rest_field( + name="serverInstance", visibility=["read", "create", "update", "delete", "query"] + ) + """the server instance hosting the replica.""" + endpoint_name: Optional[str] = rest_field( + name="endpointName", visibility=["read", "create", "update", "delete", "query"] + ) + """Name of the database mirroring endpoint URL for the availability group replica.""" + endpoint_url: Optional[str] = rest_field( + name="endpointUrl", visibility=["read", "create", "update", "delete", "query"] + ) + """Database mirroring endpoint URL of availability group replica.""" + endpoint_authentication_mode: Optional[Union[str, "_models.ConnectionAuth"]] = rest_field( + name="endpointAuthenticationMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Permitted authentication modes for the mirroring endpoint. Known values are: \"Windows_NTLM\", + \"Windows_Kerberos\", \"Windows_Negotiate\", \"Certificate\", \"Windows_NTLM_Certificate\", + \"Windows_Kerberos_Certificate\", \"Windows_Negotiate_Certificate\", + \"Certificate_Windows_NTLM\", \"Certificate_Windows_Kerberos\", and + \"Certificate_Windows_Negotiate\".""" + certificate_name: Optional[str] = rest_field( + name="certificateName", visibility=["read", "create", "update", "delete", "query"] + ) + """Name of certificate to use for authentication. Required if any CERTIFICATE authentication modes + are specified.""" + endpoint_connect_login: Optional[str] = rest_field( + name="endpointConnectLogin", visibility=["read", "create", "update", "delete", "query"] + ) + """The login which will connect to the mirroring endpoint.""" + availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = rest_field( + name="availabilityMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Property that determines whether a given availability replica can run in synchronous-commit + mode. Known values are: \"SYNCHRONOUS_COMMIT\" and \"ASYNCHRONOUS_COMMIT\".""" + failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = rest_field( + name="failoverMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Property to set the failover mode of the availability group replica. Known values are: + \"AUTOMATIC\", \"MANUAL\", \"EXTERNAL\", and \"NONE\".""" + seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = rest_field( + name="seedingMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies how the secondary replica will be initially seeded. AUTOMATIC enables direct seeding. + This method will seed the secondary replica over the network. This method does not require you + to backup and restore a copy of the primary database on the replica. MANUAL specifies manual + seeding (default). This method requires you to create a backup of the database on the primary + replica and manually restore that backup on the secondary replica. Known values are: + \"AUTOMATIC\" and \"MANUAL\".""" + backup_priority: Optional[int] = rest_field( + name="backupPriority", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents the user-specified priority for performing backups on this replica relative to the + other replicas in the same availability group.""" + secondary_role_allow_connections: Optional[Union[str, "_models.SecondaryAllowConnections"]] = rest_field( + name="secondaryRoleAllowConnections", visibility=["read", "create", "update", "delete", "query"] + ) + """Whether the secondary replica should allow all connections, no connections, or only ReadOnly + connections. Known values are: \"NO\", \"ALL\", and \"READ_ONLY\".""" + secondary_role_read_only_routing_url: Optional[str] = rest_field( + name="secondaryRoleReadOnlyRoutingUrl", visibility=["read", "create", "update", "delete", "query"] + ) + """Connectivity endpoint (URL) of the read only availability replica.""" + primary_role_allow_connections: Optional[Union[str, "_models.PrimaryAllowConnections"]] = rest_field( + name="primaryRoleAllowConnections", visibility=["read", "create", "update", "delete", "query"] + ) + """Whether the primary replica should allow all connections or only READ_WRITE connections + (disallowing ReadOnly connections). Known values are: \"ALL\" and \"READ_WRITE\".""" + primary_role_read_only_routing_list: Optional[list[str]] = rest_field( + name="primaryRoleReadOnlyRoutingList", visibility=["read", "create", "update", "delete", "query"] + ) + """List of read only routing URLs.""" + session_timeout: Optional[int] = rest_field( + name="sessionTimeout", visibility=["read", "create", "update", "delete", "query"] + ) + """The time-out period of availability group session replica, in seconds.""" + + @overload + def __init__( + self, + *, + server_instance: Optional[str] = None, + endpoint_name: Optional[str] = None, + endpoint_url: Optional[str] = None, + endpoint_authentication_mode: Optional[Union[str, "_models.ConnectionAuth"]] = None, + certificate_name: Optional[str] = None, + endpoint_connect_login: Optional[str] = None, + availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = None, + failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = None, + seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = None, + backup_priority: Optional[int] = None, + secondary_role_allow_connections: Optional[Union[str, "_models.SecondaryAllowConnections"]] = None, + secondary_role_read_only_routing_url: Optional[str] = None, + primary_role_allow_connections: Optional[Union[str, "_models.PrimaryAllowConnections"]] = None, + primary_role_read_only_routing_list: Optional[list[str]] = None, + session_timeout: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AvailabilityGroupInfo(_Model): + """The specifications of the availability group state. + + :ivar failure_condition_level: User-defined failure condition level under which an automatic + failover must be triggered. + :vartype failure_condition_level: int + :ivar health_check_timeout: Wait time (in milliseconds) for the sp_server_diagnostics system + stored procedure to return server-health information, before the server instance is assumed to + be slow or not responding. + :vartype health_check_timeout: int + :ivar automated_backup_preference_description: Preferred location for performing backups on the + availability databases in this availability group. + :vartype automated_backup_preference_description: str + :ivar version: SQL Server availability group current version. + :vartype version: int + :ivar basic_features: Specifies whether this is a basic availability group. + :vartype basic_features: bool + :ivar dtc_support: Specifies whether DTC support has been enabled for this availability group. + :vartype dtc_support: bool + :ivar db_failover: Specifies whether the availability group supports failover for database + health conditions. + :vartype db_failover: bool + :ivar is_distributed: Specifies whether this is a distributed availability group. + :vartype is_distributed: bool + :ivar cluster_type_description: SQL Server availability group cluster type description. + :vartype cluster_type_description: str + :ivar required_synchronized_secondaries_to_commit: The number of secondary replicas that must + be in a synchronized state for a commit to complete. + :vartype required_synchronized_secondaries_to_commit: int + :ivar is_contained: SQL Server availability group contained system databases. + :vartype is_contained: bool + :ivar primary_replica: Name of the server instance that is hosting the current primary replica. + :vartype primary_replica: str + :ivar primary_recovery_health_description: Indicates the recovery health of the primary + replica. + :vartype primary_recovery_health_description: str + :ivar secondary_recovery_health_description: Indicates the recovery health of a secondary + replica. + :vartype secondary_recovery_health_description: str + :ivar synchronization_health_description: Reflects a roll-up of the synchronization health of + all availability replicas in the availability group. + :vartype synchronization_health_description: str + :ivar replication_partner_type: Known values are: "SQLServer", "AzureSQLVM", + "AzureSQLManagedInstance", and "Unknown". + :vartype replication_partner_type: str or + ~azure.mgmt.azurearcdata.models.ReplicationPartnerType + :ivar listener: The listener for the sql server availability group. + :vartype listener: + ~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties + """ + + failure_condition_level: Optional[int] = rest_field( + name="failureConditionLevel", visibility=["read", "create", "update", "delete", "query"] + ) + """User-defined failure condition level under which an automatic failover must be triggered.""" + health_check_timeout: Optional[int] = rest_field( + name="healthCheckTimeout", visibility=["read", "create", "update", "delete", "query"] + ) + """Wait time (in milliseconds) for the sp_server_diagnostics system stored procedure to return + server-health information, before the server instance is assumed to be slow or not responding.""" + automated_backup_preference_description: Optional[str] = rest_field( + name="automatedBackupPreferenceDescription", visibility=["read"] + ) + """Preferred location for performing backups on the availability databases in this availability + group.""" + version: Optional[int] = rest_field(visibility=["read"]) + """SQL Server availability group current version.""" + basic_features: Optional[bool] = rest_field( + name="basicFeatures", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies whether this is a basic availability group.""" + dtc_support: Optional[bool] = rest_field( + name="dtcSupport", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies whether DTC support has been enabled for this availability group.""" + db_failover: Optional[bool] = rest_field( + name="dbFailover", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies whether the availability group supports failover for database health conditions.""" + is_distributed: Optional[bool] = rest_field( + name="isDistributed", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies whether this is a distributed availability group.""" + cluster_type_description: Optional[str] = rest_field(name="clusterTypeDescription", visibility=["read"]) + """SQL Server availability group cluster type description.""" + required_synchronized_secondaries_to_commit: Optional[int] = rest_field( + name="requiredSynchronizedSecondariesToCommit", visibility=["read", "create", "update", "delete", "query"] + ) + """The number of secondary replicas that must be in a synchronized state for a commit to complete.""" + is_contained: Optional[bool] = rest_field( + name="isContained", visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server availability group contained system databases.""" + primary_replica: Optional[str] = rest_field(name="primaryReplica", visibility=["read"]) + """Name of the server instance that is hosting the current primary replica.""" + primary_recovery_health_description: Optional[str] = rest_field( + name="primaryRecoveryHealthDescription", visibility=["read"] + ) + """Indicates the recovery health of the primary replica.""" + secondary_recovery_health_description: Optional[str] = rest_field( + name="secondaryRecoveryHealthDescription", visibility=["read"] + ) + """Indicates the recovery health of a secondary replica.""" + synchronization_health_description: Optional[str] = rest_field( + name="synchronizationHealthDescription", visibility=["read"] + ) + """Reflects a roll-up of the synchronization health of all availability replicas in the + availability group.""" + replication_partner_type: Optional[Union[str, "_models.ReplicationPartnerType"]] = rest_field( + name="replicationPartnerType", visibility=["read"] + ) + """Known values are: \"SQLServer\", \"AzureSQLVM\", \"AzureSQLManagedInstance\", and \"Unknown\".""" + listener: Optional["_models.SqlAvailabilityGroupStaticIPListenerProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The listener for the sql server availability group.""" + + @overload + def __init__( + self, + *, + failure_condition_level: Optional[int] = None, + health_check_timeout: Optional[int] = None, + basic_features: Optional[bool] = None, + dtc_support: Optional[bool] = None, + db_failover: Optional[bool] = None, + is_distributed: Optional[bool] = None, + required_synchronized_secondaries_to_commit: Optional[int] = None, + is_contained: Optional[bool] = None, + listener: Optional["_models.SqlAvailabilityGroupStaticIPListenerProperties"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AvailabilityGroupRetrievalFilters(_Model): + """AvailabilityGroupRetrievalFilters. + + :ivar availability_group_type_filter: Filter retrieval based on availability group type. Known + values are: "CONTAINED", "DISTRIBUTED", and "DEFAULT". + :vartype availability_group_type_filter: str or + ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityGroupTypeFilter + :ivar replication_partner_type_filter: Known values are: "SQLServer", "AzureSQLVM", + "AzureSQLManagedInstance", and "Unknown". + :vartype replication_partner_type_filter: str or + ~azure.mgmt.azurearcdata.models.ReplicationPartnerType + """ + + availability_group_type_filter: Optional[Union[str, "_models.ArcSqlServerAvailabilityGroupTypeFilter"]] = ( + rest_field(name="availabilityGroupTypeFilter", visibility=["read", "create", "update", "delete", "query"]) + ) + """Filter retrieval based on availability group type. Known values are: \"CONTAINED\", + \"DISTRIBUTED\", and \"DEFAULT\".""" + replication_partner_type_filter: Optional[Union[str, "_models.ReplicationPartnerType"]] = rest_field( + name="replicationPartnerTypeFilter", visibility=["read", "create", "update", "delete", "query"] + ) + """Known values are: \"SQLServer\", \"AzureSQLVM\", \"AzureSQLManagedInstance\", and \"Unknown\".""" + + @overload + def __init__( + self, + *, + availability_group_type_filter: Optional[Union[str, "_models.ArcSqlServerAvailabilityGroupTypeFilter"]] = None, + replication_partner_type_filter: Optional[Union[str, "_models.ReplicationPartnerType"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AvailabilityGroupState(_Model): + """The specifications of the availability group state. + + :ivar availability_group_replica_role: Current Always On availability groups role of the + availability group replica. + :vartype availability_group_replica_role: str + :ivar operational_state_description: Current operational state of the availability group + replica. + :vartype operational_state_description: str + :ivar recovery_health_description: Recovery health of the availability group replica. + :vartype recovery_health_description: str + :ivar synchronization_health_description: Reflects a rollup of the database synchronization + state (synchronization_state) of all joined availability databases (also known as replicas) and + the availability mode of the replica (synchronous-commit or asynchronous-commit mode). The + rollup will reflect the least healthy accumulated state the databases on the replica. + :vartype synchronization_health_description: str + :ivar connected_state_description: Whether a secondary replica is currently connected to the + primary replica. + :vartype connected_state_description: str + :ivar last_connect_error_description: Text description of the last connection error of the + availability group replica. + :vartype last_connect_error_description: str + :ivar last_connect_error_timestamp: Date and time timestamp indicating when the last connect + error occurred. + :vartype last_connect_error_timestamp: ~datetime.datetime + """ + + availability_group_replica_role: Optional[str] = rest_field( + name="availabilityGroupReplicaRole", visibility=["read"] + ) + """Current Always On availability groups role of the availability group replica.""" + operational_state_description: Optional[str] = rest_field(name="operationalStateDescription", visibility=["read"]) + """Current operational state of the availability group replica.""" + recovery_health_description: Optional[str] = rest_field(name="recoveryHealthDescription", visibility=["read"]) + """Recovery health of the availability group replica.""" + synchronization_health_description: Optional[str] = rest_field( + name="synchronizationHealthDescription", visibility=["read"] + ) + """Reflects a rollup of the database synchronization state (synchronization_state) of all joined + availability databases (also known as replicas) and the availability mode of the replica + (synchronous-commit or asynchronous-commit mode). The rollup will reflect the least healthy + accumulated state the databases on the replica.""" + connected_state_description: Optional[str] = rest_field(name="connectedStateDescription", visibility=["read"]) + """Whether a secondary replica is currently connected to the primary replica.""" + last_connect_error_description: Optional[str] = rest_field(name="lastConnectErrorDescription", visibility=["read"]) + """Text description of the last connection error of the availability group replica.""" + last_connect_error_timestamp: Optional[datetime.datetime] = rest_field( + name="lastConnectErrorTimestamp", visibility=["read"], format="rfc3339" + ) + """Date and time timestamp indicating when the last connect error occurred.""" + + +class BackgroundJob(_Model): + """The background job details. + + :ivar state: The state of the background job. Known values are: "Inactive", "Active", + "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", and "Suspended". + :vartype state: str or ~azure.mgmt.azurearcdata.models.State + :ivar execution_state: The execution state of the background job. Known values are: "Waiting" + and "Running". + :vartype execution_state: str or ~azure.mgmt.azurearcdata.models.ExecutionState + :ivar start_time: The start time of the background job. + :vartype start_time: ~datetime.datetime + :ivar end_time: The end time of the background job. + :vartype end_time: ~datetime.datetime + :ivar last_execution_status: The last execution status of the background job. Known values are: + "Succeeded", "Completed", "Failed", "Faulted", "Postponed", and "Rescheduled". + :vartype last_execution_status: str or ~azure.mgmt.azurearcdata.models.LastExecutionStatus + :ivar last_execution_time: The last execution time of the background job in ISO 8601 date-time + format. + :vartype last_execution_time: ~datetime.datetime + :ivar next_execution_time: The next execution time of the background job in ISO 8601 date-time + format. + :vartype next_execution_time: ~datetime.datetime + """ + + state: Optional[Union[str, "_models.State"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The state of the background job. Known values are: \"Inactive\", \"Active\", \"Terminated\", + \"Enabled\", \"Disabled\", \"Deleted\", \"Completed\", \"Faulted\", and \"Suspended\".""" + execution_state: Optional[Union[str, "_models.ExecutionState"]] = rest_field( + name="executionState", visibility=["read", "create", "update", "delete", "query"] + ) + """The execution state of the background job. Known values are: \"Waiting\" and \"Running\".""" + start_time: Optional[datetime.datetime] = rest_field( + name="startTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """The start time of the background job.""" + end_time: Optional[datetime.datetime] = rest_field( + name="endTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """The end time of the background job.""" + last_execution_status: Optional[Union[str, "_models.LastExecutionStatus"]] = rest_field( + name="lastExecutionStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The last execution status of the background job. Known values are: \"Succeeded\", + \"Completed\", \"Failed\", \"Faulted\", \"Postponed\", and \"Rescheduled\".""" + last_execution_time: Optional[datetime.datetime] = rest_field( + name="lastExecutionTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """The last execution time of the background job in ISO 8601 date-time format.""" + next_execution_time: Optional[datetime.datetime] = rest_field( + name="nextExecutionTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """The next execution time of the background job in ISO 8601 date-time format.""" + + @overload + def __init__( + self, + *, + state: Optional[Union[str, "_models.State"]] = None, + execution_state: Optional[Union[str, "_models.ExecutionState"]] = None, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + last_execution_status: Optional[Union[str, "_models.LastExecutionStatus"]] = None, + last_execution_time: Optional[datetime.datetime] = None, + next_execution_time: Optional[datetime.datetime] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class BackupPolicy(_Model): + """The backup profile for the SQL server. + + :ivar retention_period_days: The retention period for all the databases in this managed + instance. + :vartype retention_period_days: int + :ivar full_backup_days: The value indicating days between full backups. + :vartype full_backup_days: int + :ivar differential_backup_hours: The differential backup interval in hours. Known values are: + 12 and 24. + :vartype differential_backup_hours: int or + ~azure.mgmt.azurearcdata.models.DifferentialBackupHours + :ivar transaction_log_backup_minutes: The value indicating minutes between transaction log + backups. + :vartype transaction_log_backup_minutes: int + """ + + retention_period_days: Optional[int] = rest_field( + name="retentionPeriodDays", visibility=["read", "create", "update", "delete", "query"] + ) + """The retention period for all the databases in this managed instance.""" + full_backup_days: Optional[int] = rest_field( + name="fullBackupDays", visibility=["read", "create", "update", "delete", "query"] + ) + """The value indicating days between full backups.""" + differential_backup_hours: Optional[Union[int, "_models.DifferentialBackupHours"]] = rest_field( + name="differentialBackupHours", visibility=["read", "create", "update", "delete", "query"] + ) + """The differential backup interval in hours. Known values are: 12 and 24.""" + transaction_log_backup_minutes: Optional[int] = rest_field( + name="transactionLogBackupMinutes", visibility=["read", "create", "update", "delete", "query"] + ) + """The value indicating minutes between transaction log backups.""" + + @overload + def __init__( + self, + *, + retention_period_days: Optional[int] = None, + full_backup_days: Optional[int] = None, + differential_backup_hours: Optional[Union[int, "_models.DifferentialBackupHours"]] = None, + transaction_log_backup_minutes: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class BasicLoginInformation(_Model): + """Username and password for basic login authentication. + + :ivar username: Login username. + :vartype username: str + :ivar password: Login password. + :vartype password: str + """ + + username: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Login username.""" + password: Optional[str] = rest_field(visibility=["create", "update"]) + """Login password.""" + + @overload + def __init__( + self, + *, + username: Optional[str] = None, + password: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class BestPracticesAssessment(_Model): + """The configuration related to SQL best practices assessment. + + :ivar enabled: Indicates if SQL best practices assessment is enabled for the SQL Server + instance. + :vartype enabled: bool + :ivar schedule: The scheduling configuration. + :vartype schedule: ~azure.mgmt.azurearcdata.models.Schedule + """ + + enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Indicates if SQL best practices assessment is enabled for the SQL Server instance.""" + schedule: Optional["_models.Schedule"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The scheduling configuration.""" + + @overload + def __init__( + self, + *, + enabled: Optional[bool] = None, + schedule: Optional["_models.Schedule"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ClientConnection(_Model): + """Client connection related configuration. + + :ivar enabled: Indicates if client connection is enabled for this SQL Server instance. + :vartype enabled: bool + """ + + enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Indicates if client connection is enabled for this SQL Server instance.""" + + @overload + def __init__( + self, + *, + enabled: Optional[bool] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class CommonSku(_Model): + """The resource model definition representing SKU for ARM resources. + + :ivar name: The name of the SKU. It is typically a letter+number code. Required. + :vartype name: str + :ivar dev: Whether dev/test is enabled. When the dev field is set to true, the resource is used + for dev/test purpose. + :vartype dev: bool + :ivar size: The SKU size. When the name field is the combination of tier and some other value, + this would be the standalone code. + :vartype size: str + :ivar family: If the service has different generations of hardware, for the same SKU, then that + can be captured here. + :vartype family: str + :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included. + If scale out/in is not possible for the resource this may be omitted. + :vartype capacity: int + """ + + name: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The name of the SKU. It is typically a letter+number code. Required.""" + dev: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Whether dev/test is enabled. When the dev field is set to true, the resource is used for + dev/test purpose.""" + size: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The SKU size. When the name field is the combination of tier and some other value, this would + be the standalone code.""" + family: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """If the service has different generations of hardware, for the same SKU, then that can be + captured here.""" + capacity: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """If the SKU supports scale out/in then the capacity integer should be included. If scale out/in + is not possible for the resource this may be omitted.""" + + @overload + def __init__( + self, + *, + name: str, + dev: Optional[bool] = None, + size: Optional[str] = None, + family: Optional[str] = None, + capacity: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class CostOptionSelectedValues(_Model): + """Cost option value for the different cost factors selected. + + :ivar compute_and_storage_cost_option: selected cost saving option e.g. With1YearASPAndDevTest. + :vartype compute_and_storage_cost_option: str + :ivar sql_license_cost_option: With Azure Hybrid Benefit(AHB) or not for SQL. + :vartype sql_license_cost_option: str + :ivar windows_license_cost_option: With Azure Hybrid Benefit(AHB) or not for Windows. + :vartype windows_license_cost_option: str + """ + + compute_and_storage_cost_option: Optional[str] = rest_field( + name="computeAndStorageCostOption", visibility=["read", "create", "update", "delete", "query"] + ) + """selected cost saving option e.g. With1YearASPAndDevTest.""" + sql_license_cost_option: Optional[str] = rest_field( + name="sqlLicenseCostOption", visibility=["read", "create", "update", "delete", "query"] + ) + """With Azure Hybrid Benefit(AHB) or not for SQL.""" + windows_license_cost_option: Optional[str] = rest_field( + name="windowsLicenseCostOption", visibility=["read", "create", "update", "delete", "query"] + ) + """With Azure Hybrid Benefit(AHB) or not for Windows.""" + + @overload + def __init__( + self, + *, + compute_and_storage_cost_option: Optional[str] = None, + sql_license_cost_option: Optional[str] = None, + windows_license_cost_option: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class CostTypeValues(_Model): + """The Monthly cost of the particular SKU. + + :ivar compute_cost: Represents the Cost of Compute. + :vartype compute_cost: float + :ivar storage_cost: Represents the Cost of Storage. + :vartype storage_cost: float + :ivar iops_cost: Represents the Cost of IOPS. + :vartype iops_cost: float + """ + + compute_cost: Optional[float] = rest_field( + name="computeCost", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents the Cost of Compute.""" + storage_cost: Optional[float] = rest_field( + name="storageCost", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents the Cost of Storage.""" + iops_cost: Optional[float] = rest_field(name="iopsCost", visibility=["read", "create", "update", "delete", "query"]) + """Represents the Cost of IOPS.""" + + @overload + def __init__( + self, + *, + compute_cost: Optional[float] = None, + storage_cost: Optional[float] = None, + iops_cost: Optional[float] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class CronTrigger(_Model): + """The cron trigger configuration. + + :ivar start_time: Indicates the start time for the trigger. The default value is the time at + which the trigger was created. + :vartype start_time: str + :ivar time_zone: The time zone in which the trigger is scheduled. + :vartype time_zone: str + :ivar expression: A cron string representing a CronTab expression. A crontab expression is a + very compact way to express a recurring schedule with the following format: '{minutes} {hours} + {days} {months} {days-of-week}'. + :vartype expression: str + """ + + start_time: Optional[str] = rest_field(name="startTime", visibility=["read", "create", "update", "delete", "query"]) + """Indicates the start time for the trigger. The default value is the time at which the trigger + was created.""" + time_zone: Optional[str] = rest_field(name="timeZone", visibility=["read", "create", "update", "delete", "query"]) + """The time zone in which the trigger is scheduled.""" + expression: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """A cron string representing a CronTab expression. A crontab expression is a very compact way to + express a recurring schedule with the following format: '{minutes} {hours} {days} {months} + {days-of-week}'.""" + + @overload + def __init__( + self, + *, + start_time: Optional[str] = None, + time_zone: Optional[str] = None, + expression: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DatabaseAssessmentsItem(_Model): + """DatabaseAssessmentsItem. + + :ivar applies_to_migration_target_platform: + :vartype applies_to_migration_target_platform: str + :ivar feature_id: + :vartype feature_id: str + :ivar issue_category: + :vartype issue_category: str + :ivar more_information: + :vartype more_information: str + """ + + applies_to_migration_target_platform: Optional[str] = rest_field( + name="appliesToMigrationTargetPlatform", visibility=["read", "create", "update", "delete", "query"] + ) + feature_id: Optional[str] = rest_field(name="featureId", visibility=["read", "create", "update", "delete", "query"]) + issue_category: Optional[str] = rest_field( + name="issueCategory", visibility=["read", "create", "update", "delete", "query"] + ) + more_information: Optional[str] = rest_field( + name="moreInformation", visibility=["read", "create", "update", "delete", "query"] + ) + + @overload + def __init__( + self, + *, + applies_to_migration_target_platform: Optional[str] = None, + feature_id: Optional[str] = None, + issue_category: Optional[str] = None, + more_information: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DataBaseMigration(_Model): + """Migration related configuration. + + :ivar assessment: Migration assessments related configuration. + :vartype assessment: ~azure.mgmt.azurearcdata.models.DataBaseMigrationAssessment + :ivar jobs: Migration jobs/actual data movement/data migrations associated with this database + related information. + :vartype jobs: list[~azure.mgmt.azurearcdata.models.DatabaseMigrationJobsItem] + """ + + assessment: Optional["_models.DataBaseMigrationAssessment"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Migration assessments related configuration.""" + jobs: Optional[list["_models.DatabaseMigrationJobsItem"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Migration jobs/actual data movement/data migrations associated with this database related + information.""" + + @overload + def __init__( + self, + *, + assessment: Optional["_models.DataBaseMigrationAssessment"] = None, + jobs: Optional[list["_models.DatabaseMigrationJobsItem"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DataBaseMigrationAssessment(_Model): + """The migration assessment related configuration. + + :ivar assessment_upload_time: The time when Migration Assessment Report upload was last + performed. + :vartype assessment_upload_time: ~datetime.datetime + :ivar target_recommendation_generation_time: The UTC timestamp in ISO 8601 format indicating + when the latest target recommendations were generated for this database. This value is set as + part of a successful RunTargetRecommendation job and is independent of when the migration + readiness results were uploaded (assessmentUploadTime). + :vartype target_recommendation_generation_time: ~datetime.datetime + :ivar database_assessments: Issues and warnings impacting the migration of Database to + particular Azure Migration Target. + :vartype database_assessments: list[~azure.mgmt.azurearcdata.models.DatabaseAssessmentsItem] + :ivar target_readiness: The target readiness for migration for this database. + :vartype target_readiness: ~azure.mgmt.azurearcdata.models.TargetReadiness + """ + + assessment_upload_time: Optional[datetime.datetime] = rest_field( + name="assessmentUploadTime", visibility=["read"], format="rfc3339" + ) + """The time when Migration Assessment Report upload was last performed.""" + target_recommendation_generation_time: Optional[datetime.datetime] = rest_field( + name="targetRecommendationGenerationTime", visibility=["read"], format="rfc3339" + ) + """The UTC timestamp in ISO 8601 format indicating when the latest target recommendations were + generated for this database. This value is set as part of a successful RunTargetRecommendation + job and is independent of when the migration readiness results were uploaded + (assessmentUploadTime).""" + database_assessments: Optional[list["_models.DatabaseAssessmentsItem"]] = rest_field( + name="databaseAssessments", visibility=["read"] + ) + """Issues and warnings impacting the migration of Database to particular Azure Migration Target.""" + target_readiness: Optional["_models.TargetReadiness"] = rest_field(name="targetReadiness", visibility=["read"]) + """The target readiness for migration for this database.""" + + +class DatabaseMigrationJobsItem(_Model): + """DatabaseMigrationJobsItem. + + :ivar migration_tracking_id: Reference identifier for tracking purposes/optional link to system + initiating this migration. e.g. Arc MI link job id, DMS resource id. + :vartype migration_tracking_id: str + :ivar migration_mode: Mode/type of migration. Known values are: "LogShipping", "MILink", + "Logical", "Other", and "Unknown". + :vartype migration_mode: str or ~azure.mgmt.azurearcdata.models.MigrationMode + :ivar initiated_from: To indicate the client from which the migration is initiated from e.g. + Azure Arc, DMS-Azure Portal/PS/CLI for additional tracking. Known values are: "Azure Arc", + "ADS", "SSMS", "SSMA", "DMS-Portal", "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". + :vartype initiated_from: str or ~azure.mgmt.azurearcdata.models.InitiatedFrom + :ivar status: Status of the migration job. Known values are: "NotStarted", "InProgress", + "InProgressWithWarnings", "Cancelled", "Failed", "Successful", and "Unknown". + :vartype status: str or ~azure.mgmt.azurearcdata.models.MigrationStatus + :ivar last_error: Last error if any associated with this migration job. + :vartype last_error: str + :ivar target_type: Type of target in Azure this database is being migrated to. Known values + are: "AzureSqlDatabase", "AzureSqlManagedInstance", and "AzureSqlVirtualMachine". + :vartype target_type: str or ~azure.mgmt.azurearcdata.models.TargetType + :ivar target_resource_id: Resource Id of the target SQL resource for this migration job. + :vartype target_resource_id: str + :ivar start_time: Time when migration job was started. + :vartype start_time: ~datetime.datetime + :ivar end_time: Time when migration job reached terminal state. + :vartype end_time: ~datetime.datetime + :ivar additional_attributes: + :vartype additional_attributes: + list[~azure.mgmt.azurearcdata.models.AdditionalMigrationJobAttributes] + """ + + migration_tracking_id: Optional[str] = rest_field( + name="migrationTrackingId", visibility=["read", "create", "update", "delete", "query"] + ) + """Reference identifier for tracking purposes/optional link to system initiating this migration. + e.g. Arc MI link job id, DMS resource id.""" + migration_mode: Optional[Union[str, "_models.MigrationMode"]] = rest_field( + name="migrationMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Mode/type of migration. Known values are: \"LogShipping\", \"MILink\", \"Logical\", \"Other\", + and \"Unknown\".""" + initiated_from: Optional[Union[str, "_models.InitiatedFrom"]] = rest_field( + name="initiatedFrom", visibility=["read", "create", "update", "delete", "query"] + ) + """To indicate the client from which the migration is initiated from e.g. Azure Arc, DMS-Azure + Portal/PS/CLI for additional tracking. Known values are: \"Azure Arc\", \"ADS\", \"SSMS\", + \"SSMA\", \"DMS-Portal\", \"DMS-PS\", \"DMS-CLI\", \"DMS-SDK\", and \"Other\".""" + status: Optional[Union[str, "_models.MigrationStatus"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Status of the migration job. Known values are: \"NotStarted\", \"InProgress\", + \"InProgressWithWarnings\", \"Cancelled\", \"Failed\", \"Successful\", and \"Unknown\".""" + last_error: Optional[str] = rest_field(name="lastError", visibility=["read", "create", "update", "delete", "query"]) + """Last error if any associated with this migration job.""" + target_type: Optional[Union[str, "_models.TargetType"]] = rest_field( + name="targetType", visibility=["read", "create", "update", "delete", "query"] + ) + """Type of target in Azure this database is being migrated to. Known values are: + \"AzureSqlDatabase\", \"AzureSqlManagedInstance\", and \"AzureSqlVirtualMachine\".""" + target_resource_id: Optional[str] = rest_field( + name="targetResourceId", visibility=["read", "create", "update", "delete", "query"] + ) + """Resource Id of the target SQL resource for this migration job.""" + start_time: Optional[datetime.datetime] = rest_field( + name="startTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Time when migration job was started.""" + end_time: Optional[datetime.datetime] = rest_field( + name="endTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Time when migration job reached terminal state.""" + additional_attributes: Optional[list["_models.AdditionalMigrationJobAttributes"]] = rest_field( + name="additionalAttributes", visibility=["read", "create", "update", "delete", "query"] + ) + + @overload + def __init__( + self, + *, + migration_tracking_id: Optional[str] = None, + migration_mode: Optional[Union[str, "_models.MigrationMode"]] = None, + initiated_from: Optional[Union[str, "_models.InitiatedFrom"]] = None, + status: Optional[Union[str, "_models.MigrationStatus"]] = None, + last_error: Optional[str] = None, + target_type: Optional[Union[str, "_models.TargetType"]] = None, + target_resource_id: Optional[str] = None, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + additional_attributes: Optional[list["_models.AdditionalMigrationJobAttributes"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class Databases(_Model): + """List of database names. + + :ivar values_property: List of database names. + :vartype values_property: list[str] + """ + + values_property: Optional[list[str]] = rest_field( + name="values", visibility=["read", "create", "update", "delete", "query"], original_tsp_name="values" + ) + """List of database names.""" + + @overload + def __init__( + self, + *, + values_property: Optional[list[str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DataControllerProperties(_Model): + """The data controller properties. + + :ivar infrastructure: The infrastructure the data controller is running on. Known values are: + "azure", "gcp", "aws", "alibaba", "onpremises", and "other". + :vartype infrastructure: str or ~azure.mgmt.azurearcdata.models.Infrastructure + :ivar on_premise_property: Properties from the Kubernetes data controller. + :vartype on_premise_property: ~azure.mgmt.azurearcdata.models.OnPremiseProperty + :ivar k8_s_raw: The raw kubernetes information. + :vartype k8_s_raw: any + :ivar upload_watermark: Properties on upload watermark. Mostly timestamp for each upload data + type. + :vartype upload_watermark: ~azure.mgmt.azurearcdata.models.UploadWatermark + :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date + time. + :vartype last_uploaded_date: ~datetime.datetime + :ivar basic_login_information: Deprecated. Azure Arc Data Services data controller no longer + expose any endpoint. All traffic are exposed through Kubernetes native API. + :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar metrics_dashboard_credential: Login credential for metrics dashboard on the Kubernetes + cluster. + :vartype metrics_dashboard_credential: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar logs_dashboard_credential: Login credential for logs dashboard on the Kubernetes cluster. + :vartype logs_dashboard_credential: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar log_analytics_workspace_config: Log analytics workspace id and primary key. + :vartype log_analytics_workspace_config: + ~azure.mgmt.azurearcdata.models.LogAnalyticsWorkspaceConfig + :ivar upload_service_principal: Deprecated. Service principal is deprecated in favor of Arc + Kubernetes service extension managed identity. + :vartype upload_service_principal: ~azure.mgmt.azurearcdata.models.UploadServicePrincipal + :ivar provisioning_state: The provisioning state of the Arc Data Controller resource. + :vartype provisioning_state: str + :ivar cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected + cluster the custom location belongs to. + :vartype cluster_id: str + :ivar extension_id: If a CustomLocation is provided, this contains the ARM id of the extension + the custom location belongs to. + :vartype extension_id: str + """ + + infrastructure: Optional[Union[str, "_models.Infrastructure"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The infrastructure the data controller is running on. Known values are: \"azure\", \"gcp\", + \"aws\", \"alibaba\", \"onpremises\", and \"other\".""" + on_premise_property: Optional["_models.OnPremiseProperty"] = rest_field( + name="onPremiseProperty", visibility=["read", "create", "update", "delete", "query"] + ) + """Properties from the Kubernetes data controller.""" + k8_s_raw: Optional[Any] = rest_field(name="k8sRaw", visibility=["read", "create", "update", "delete", "query"]) + """The raw kubernetes information.""" + upload_watermark: Optional["_models.UploadWatermark"] = rest_field( + name="uploadWatermark", visibility=["read", "create", "update", "delete", "query"] + ) + """Properties on upload watermark. Mostly timestamp for each upload data type.""" + last_uploaded_date: Optional[datetime.datetime] = rest_field( + name="lastUploadedDate", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Last uploaded date from Kubernetes cluster. Defaults to current date time.""" + basic_login_information: Optional["_models.BasicLoginInformation"] = rest_field( + name="basicLoginInformation", visibility=["read", "create", "update", "delete", "query"] + ) + """Deprecated. Azure Arc Data Services data controller no longer expose any endpoint. All traffic + are exposed through Kubernetes native API.""" + metrics_dashboard_credential: Optional["_models.BasicLoginInformation"] = rest_field( + name="metricsDashboardCredential", visibility=["read", "create", "update", "delete", "query"] + ) + """Login credential for metrics dashboard on the Kubernetes cluster.""" + logs_dashboard_credential: Optional["_models.BasicLoginInformation"] = rest_field( + name="logsDashboardCredential", visibility=["read", "create", "update", "delete", "query"] + ) + """Login credential for logs dashboard on the Kubernetes cluster.""" + log_analytics_workspace_config: Optional["_models.LogAnalyticsWorkspaceConfig"] = rest_field( + name="logAnalyticsWorkspaceConfig", visibility=["read", "create", "update", "delete", "query"] + ) + """Log analytics workspace id and primary key.""" + upload_service_principal: Optional["_models.UploadServicePrincipal"] = rest_field( + name="uploadServicePrincipal", visibility=["read", "create", "update", "delete", "query"] + ) + """Deprecated. Service principal is deprecated in favor of Arc Kubernetes service extension + managed identity.""" + provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) + """The provisioning state of the Arc Data Controller resource.""" + cluster_id: Optional[str] = rest_field(name="clusterId", visibility=["read", "create", "update", "delete", "query"]) + """If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom + location belongs to.""" + extension_id: Optional[str] = rest_field( + name="extensionId", visibility=["read", "create", "update", "delete", "query"] + ) + """If a CustomLocation is provided, this contains the ARM id of the extension the custom location + belongs to.""" + + @overload + def __init__( + self, + *, + infrastructure: Optional[Union[str, "_models.Infrastructure"]] = None, + on_premise_property: Optional["_models.OnPremiseProperty"] = None, + k8_s_raw: Optional[Any] = None, + upload_watermark: Optional["_models.UploadWatermark"] = None, + last_uploaded_date: Optional[datetime.datetime] = None, + basic_login_information: Optional["_models.BasicLoginInformation"] = None, + metrics_dashboard_credential: Optional["_models.BasicLoginInformation"] = None, + logs_dashboard_credential: Optional["_models.BasicLoginInformation"] = None, + log_analytics_workspace_config: Optional["_models.LogAnalyticsWorkspaceConfig"] = None, + upload_service_principal: Optional["_models.UploadServicePrincipal"] = None, + cluster_id: Optional[str] = None, + extension_id: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class TrackedResource(Resource): + """Tracked Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + location: str = rest_field(visibility=["read", "create"]) + """The geo-location where the resource lives. Required.""" + + @overload + def __init__( + self, + *, + location: str, + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DataControllerResource(TrackedResource): + """Data controller resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The data controller's properties. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.DataControllerProperties + :ivar extended_location: The extendedLocation of the resource. + :vartype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation + """ + + properties: "_models.DataControllerProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The data controller's properties. Required.""" + extended_location: Optional["_models.ExtendedLocation"] = rest_field( + name="extendedLocation", visibility=["read", "create", "update", "delete", "query"] + ) + """The extendedLocation of the resource.""" + + @overload + def __init__( + self, + *, + location: str, + properties: "_models.DataControllerProperties", + tags: Optional[dict[str, str]] = None, + extended_location: Optional["_models.ExtendedLocation"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DataControllerUpdate(_Model): + """Used for updating a data controller resource. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: The data controller's properties. + :vartype properties: ~azure.mgmt.azurearcdata.models.DataControllerProperties + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + properties: Optional["_models.DataControllerProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The data controller's properties.""" + + @overload + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.DataControllerProperties"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DBMEndpoint(_Model): + """Database mirroring endpoint related properties. + + :ivar endpoint_name: Name of the database mirroring endpoint. + :vartype endpoint_name: str + :ivar role: Mirroring Role. Known values are: "NONE", "PARTNER", "WITNESS", and "ALL". + :vartype role: str or ~azure.mgmt.azurearcdata.models.Role + :ivar is_encryption_enabled: Is Encryption enabled. + :vartype is_encryption_enabled: bool + :ivar encryption_algorithm: Encryption Algorithm. Known values are: "NONE", "RC4", "AES", + "NONE, RC4", "NONE, AES", "RC4, AES", "AES, RC4", "NONE, RC4, AES", and "NONE, AES, RC4". + :vartype encryption_algorithm: str or ~azure.mgmt.azurearcdata.models.EncryptionAlgorithm + :ivar connection_auth: The type of connection authentication required for connections to this + endpoint. Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", + "Certificate", "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", + "Windows_Negotiate_Certificate", "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", + and "Certificate_Windows_Negotiate". + :vartype connection_auth: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth + :ivar port: The port number that the endpoint is listening on. + :vartype port: int + :ivar is_dynamic_port: Is the port number dynamically assigned. + :vartype is_dynamic_port: bool + :ivar ip_address: Listener IP address. + :vartype ip_address: str + :ivar certificate_name: Name of the certificate. + :vartype certificate_name: str + :ivar certificate_expiry_date: The certificate expiry date. + :vartype certificate_expiry_date: ~datetime.datetime + """ + + endpoint_name: Optional[str] = rest_field(name="endpointName", visibility=["read"]) + """Name of the database mirroring endpoint.""" + role: Optional[Union[str, "_models.Role"]] = rest_field(visibility=["read"]) + """Mirroring Role. Known values are: \"NONE\", \"PARTNER\", \"WITNESS\", and \"ALL\".""" + is_encryption_enabled: Optional[bool] = rest_field(name="isEncryptionEnabled", visibility=["read"]) + """Is Encryption enabled.""" + encryption_algorithm: Optional[Union[str, "_models.EncryptionAlgorithm"]] = rest_field( + name="encryptionAlgorithm", visibility=["read"] + ) + """Encryption Algorithm. Known values are: \"NONE\", \"RC4\", \"AES\", \"NONE, RC4\", \"NONE, + AES\", \"RC4, AES\", \"AES, RC4\", \"NONE, RC4, AES\", and \"NONE, AES, RC4\".""" + connection_auth: Optional[Union[str, "_models.ConnectionAuth"]] = rest_field( + name="connectionAuth", visibility=["read"] + ) + """The type of connection authentication required for connections to this endpoint. Known values + are: \"Windows_NTLM\", \"Windows_Kerberos\", \"Windows_Negotiate\", \"Certificate\", + \"Windows_NTLM_Certificate\", \"Windows_Kerberos_Certificate\", + \"Windows_Negotiate_Certificate\", \"Certificate_Windows_NTLM\", + \"Certificate_Windows_Kerberos\", and \"Certificate_Windows_Negotiate\".""" + port: Optional[int] = rest_field(visibility=["read"]) + """The port number that the endpoint is listening on.""" + is_dynamic_port: Optional[bool] = rest_field(name="isDynamicPort", visibility=["read"]) + """Is the port number dynamically assigned.""" + ip_address: Optional[str] = rest_field(name="ipAddress", visibility=["read"]) + """Listener IP address.""" + certificate_name: Optional[str] = rest_field(name="certificateName", visibility=["read"]) + """Name of the certificate.""" + certificate_expiry_date: Optional[datetime.datetime] = rest_field( + name="certificateExpiryDate", visibility=["read"], format="rfc3339" + ) + """The certificate expiry date.""" + + +class DiskSizes(_Model): + """disk size values. + + :ivar disk_type: Type of managed disk. + :vartype disk_type: str + :ivar redundancy: Redundancy option. + :vartype redundancy: str + :ivar size: Size of the managed disk - e.g. P30, P40. + :vartype size: str + :ivar caching: Caching configuration - e.g. read only caching. + :vartype caching: str + :ivar max_size_in_gib: maximum disk size in GiB. + :vartype max_size_in_gib: float + :ivar max_throughput_in_mbps: maximum throughput in MB/s. + :vartype max_throughput_in_mbps: float + :ivar max_iops: maximum IO requirements/s (IOPS). + :vartype max_iops: float + """ + + disk_type: Optional[str] = rest_field(name="diskType", visibility=["read", "create", "update", "delete", "query"]) + """Type of managed disk.""" + redundancy: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Redundancy option.""" + size: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Size of the managed disk - e.g. P30, P40.""" + caching: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Caching configuration - e.g. read only caching.""" + max_size_in_gib: Optional[float] = rest_field( + name="maxSizeInGib", visibility=["read", "create", "update", "delete", "query"] + ) + """maximum disk size in GiB.""" + max_throughput_in_mbps: Optional[float] = rest_field( + name="maxThroughputInMbps", visibility=["read", "create", "update", "delete", "query"] + ) + """maximum throughput in MB/s.""" + max_iops: Optional[float] = rest_field(name="maxIops", visibility=["read", "create", "update", "delete", "query"]) + """maximum IO requirements/s (IOPS).""" + + @overload + def __init__( + self, + *, + disk_type: Optional[str] = None, + redundancy: Optional[str] = None, + size: Optional[str] = None, + caching: Optional[str] = None, + max_size_in_gib: Optional[float] = None, + max_throughput_in_mbps: Optional[float] = None, + max_iops: Optional[float] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration( + _Model +): # pylint: disable=name-too-long + """The availability group certificate configuration. + + :ivar certificate_name: Name of the certificate. + :vartype certificate_name: str + """ + + certificate_name: Optional[str] = rest_field( + name="certificateName", visibility=["read", "create", "update", "delete", "query"] + ) + """Name of the certificate.""" + + @overload + def __init__( + self, + *, + certificate_name: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration(_Model): # pylint: disable=name-too-long + """The availability group configuration specification for a distributed availability group. + + :ivar availability_group: The azure resource identifier for the availability group. + :vartype availability_group: str + :ivar listener_url: The listener URL of the availability group. + :vartype listener_url: str + :ivar availability_mode: The availability mode of the availability group. Known values are: + "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". + :vartype availability_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode + :ivar failover_mode: The failover mode of the availability group. Known values are: + "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". + :vartype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode + :ivar seeding_mode: The seeding mode of the availability group. Known values are: "AUTOMATIC" + and "MANUAL". + :vartype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode + :ivar certificate_configuration: The certificate configuration for the availability group. + :vartype certificate_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration + """ + + availability_group: Optional[str] = rest_field( + name="availabilityGroup", visibility=["read", "create", "update", "delete", "query"] + ) + """The azure resource identifier for the availability group.""" + listener_url: Optional[str] = rest_field( + name="listenerUrl", visibility=["read", "create", "update", "delete", "query"] + ) + """The listener URL of the availability group.""" + availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = rest_field( + name="availabilityMode", visibility=["read", "create", "update", "delete", "query"] + ) + """The availability mode of the availability group. Known values are: \"SYNCHRONOUS_COMMIT\" and + \"ASYNCHRONOUS_COMMIT\".""" + failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = rest_field( + name="failoverMode", visibility=["read", "create", "update", "delete", "query"] + ) + """The failover mode of the availability group. Known values are: \"AUTOMATIC\", \"MANUAL\", + \"EXTERNAL\", and \"NONE\".""" + seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = rest_field( + name="seedingMode", visibility=["read", "create", "update", "delete", "query"] + ) + """The seeding mode of the availability group. Known values are: \"AUTOMATIC\" and \"MANUAL\".""" + certificate_configuration: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration" + ] = rest_field(name="certificateConfiguration", visibility=["read", "create", "update", "delete", "query"]) + """The certificate configuration for the availability group.""" + + @overload + def __init__( + self, + *, + availability_group: Optional[str] = None, + listener_url: Optional[str] = None, + availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = None, + failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = None, + seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = None, + certificate_configuration: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration" + ] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DistributedAvailabilityGroupCreateUpdateConfiguration(_Model): # pylint: disable=name-too-long + """Options used in creating a distributed availability group. + + :ivar availability_group_name: Name of the availability group. + :vartype availability_group_name: str + :ivar primary_availability_group: The initial primary availability group for the distributed + availability group. + :vartype primary_availability_group: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration + :ivar secondary_availability_group: The initial secondary availability group for the + distributed availability group. + :vartype secondary_availability_group: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration + """ + + availability_group_name: Optional[str] = rest_field( + name="availabilityGroupName", visibility=["read", "create", "update", "delete", "query"] + ) + """Name of the availability group.""" + primary_availability_group: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration" + ] = rest_field(name="primaryAvailabilityGroup", visibility=["read", "create", "update", "delete", "query"]) + """The initial primary availability group for the distributed availability group.""" + secondary_availability_group: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration" + ] = rest_field(name="secondaryAvailabilityGroup", visibility=["read", "create", "update", "delete", "query"]) + """The initial secondary availability group for the distributed availability group.""" + + @overload + def __init__( + self, + *, + availability_group_name: Optional[str] = None, + primary_availability_group: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration" + ] = None, + secondary_availability_group: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration" + ] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class EntraAuthentication(_Model): + """Entra Authentication configuration. + + :ivar identity_type: The method used for Entra authentication. Known values are: + "SystemAssignedManagedIdentity" and "UserAssignedManagedIdentity". + :vartype identity_type: str or ~azure.mgmt.azurearcdata.models.IdentityType + :ivar client_id: The client Id of the Managed Identity to query Microsoft Graph API. An empty + string must be used for the system assigned Managed Identity. + :vartype client_id: str + """ + + identity_type: Optional[Union[str, "_models.IdentityType"]] = rest_field( + name="identityType", visibility=["read", "create", "update", "delete", "query"] + ) + """The method used for Entra authentication. Known values are: \"SystemAssignedManagedIdentity\" + and \"UserAssignedManagedIdentity\".""" + client_id: Optional[str] = rest_field(name="clientId", visibility=["read", "create", "update", "delete", "query"]) + """The client Id of the Managed Identity to query Microsoft Graph API. An empty string must be + used for the system assigned Managed Identity.""" + + @overload + def __init__( + self, + *, + identity_type: Optional[Union[str, "_models.IdentityType"]] = None, + client_id: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ErrorAdditionalInfo(_Model): + """The resource management error additional info. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: any + """ + + type: Optional[str] = rest_field(visibility=["read"]) + """The additional info type.""" + info: Optional[Any] = rest_field(visibility=["read"]) + """The additional info.""" + + +class ErrorDetail(_Model): + """The error detail. + + :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.azurearcdata.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~azure.mgmt.azurearcdata.models.ErrorAdditionalInfo] + """ + + code: Optional[str] = rest_field(visibility=["read"]) + """The error code.""" + message: Optional[str] = rest_field(visibility=["read"]) + """The error message.""" + target: Optional[str] = rest_field(visibility=["read"]) + """The error target.""" + details: Optional[list["_models.ErrorDetail"]] = rest_field(visibility=["read"]) + """The error details.""" + additional_info: Optional[list["_models.ErrorAdditionalInfo"]] = rest_field( + name="additionalInfo", visibility=["read"] + ) + """The error additional info.""" + + +class ErrorResponse(_Model): + """Error response. + + :ivar error: The error object. + :vartype error: ~azure.mgmt.azurearcdata.models.ErrorDetail + """ + + error: Optional["_models.ErrorDetail"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The error object.""" + + @overload + def __init__( + self, + *, + error: Optional["_models.ErrorDetail"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ExtendedLocation(_Model): + """The complex type of the extended location. + + :ivar name: The name of the extended location. + :vartype name: str + :ivar type: The type of the extended location. "CustomLocation" + :vartype type: str or ~azure.mgmt.azurearcdata.models.ExtendedLocationTypes + """ + + name: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The name of the extended location.""" + type: Optional[Union[str, "_models.ExtendedLocationTypes"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The type of the extended location. \"CustomLocation\"""" + + @overload + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[Union[str, "_models.ExtendedLocationTypes"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class FailoverCluster(_Model): + """Failover Cluster Instance properties. + + :ivar id: The GUID of the SQL Server's underlying Failover Cluster. + :vartype id: str + :ivar network_name: The network name to connect to the SQL FCI. + :vartype network_name: str + :ivar sql_instance_ids: The ARM IDs of the Arc SQL Server resources, belonging to the current + server's Failover cluster. + :vartype sql_instance_ids: list[str] + :ivar host_names: The host names which are part of the SQL FCI resource group. + :vartype host_names: list[str] + :ivar host_ip_addresses: The IP addresses and subnet masks associated with the SQL Failover + Cluster Instance on this host. + :vartype host_ip_addresses: list[~azure.mgmt.azurearcdata.models.HostIPAddressInformation] + """ + + id: Optional[str] = rest_field(visibility=["read"]) + """The GUID of the SQL Server's underlying Failover Cluster.""" + network_name: Optional[str] = rest_field(name="networkName", visibility=["read"]) + """The network name to connect to the SQL FCI.""" + sql_instance_ids: Optional[list[str]] = rest_field(name="sqlInstanceIds", visibility=["read"]) + """The ARM IDs of the Arc SQL Server resources, belonging to the current server's Failover + cluster.""" + host_names: Optional[list[str]] = rest_field(name="hostNames", visibility=["read"]) + """The host names which are part of the SQL FCI resource group.""" + host_ip_addresses: Optional[list["_models.HostIPAddressInformation"]] = rest_field( + name="hostIPAddresses", visibility=["read"] + ) + """The IP addresses and subnet masks associated with the SQL Failover Cluster Instance on this + host.""" + + +class FailoverGroupProperties(_Model): + """The properties of a failover group resource. + + :ivar provisioning_state: The provisioning state of the failover group resource. Known values + are: "Succeeded", "Failed", "Canceled", and "Accepted". + :vartype provisioning_state: str or ~azure.mgmt.azurearcdata.models.ProvisioningState + :ivar partner_managed_instance_id: The resource ID of the partner SQL managed instance. + Required. + :vartype partner_managed_instance_id: str + :ivar spec: The specifications of the failover group resource. Required. + :vartype spec: ~azure.mgmt.azurearcdata.models.FailoverGroupSpec + :ivar status: The status of the failover group custom resource. + :vartype status: any + """ + + provisioning_state: Optional[Union[str, "_models.ProvisioningState"]] = rest_field( + name="provisioningState", visibility=["read"] + ) + """The provisioning state of the failover group resource. Known values are: \"Succeeded\", + \"Failed\", \"Canceled\", and \"Accepted\".""" + partner_managed_instance_id: str = rest_field( + name="partnerManagedInstanceId", visibility=["read", "create", "update", "delete", "query"] + ) + """The resource ID of the partner SQL managed instance. Required.""" + spec: "_models.FailoverGroupSpec" = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The specifications of the failover group resource. Required.""" + status: Optional[Any] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The status of the failover group custom resource.""" + + @overload + def __init__( + self, + *, + partner_managed_instance_id: str, + spec: "_models.FailoverGroupSpec", + status: Optional[Any] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class FailoverGroupResource(ProxyResource): + """A failover group resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar properties: null. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.FailoverGroupProperties + """ + + properties: "_models.FailoverGroupProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null. Required.""" + + @overload + def __init__( + self, + *, + properties: "_models.FailoverGroupProperties", + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class FailoverGroupSpec(_Model): + """The specifications of the failover group resource. + + :ivar shared_name: The shared name of the failover group for this SQL managed instance. Both + SQL managed instance and its partner have to use the same shared name. + :vartype shared_name: str + :ivar source_mi: The name of the SQL managed instance with this failover group role. + :vartype source_mi: str + :ivar partner_mi: The name of the partner SQL managed instance. + :vartype partner_mi: str + :ivar partner_mirroring_url: The mirroring endpoint URL of the partner SQL managed instance. + :vartype partner_mirroring_url: str + :ivar partner_mirroring_cert: The mirroring endpoint public certificate for the partner SQL + managed instance. Only PEM format is supported. + :vartype partner_mirroring_cert: str + :ivar partner_sync_mode: The partner sync mode of the SQL managed instance. Known values are: + "async" and "sync". + :vartype partner_sync_mode: str or ~azure.mgmt.azurearcdata.models.FailoverGroupPartnerSyncMode + :ivar role: The role of the SQL managed instance in this failover group. Required. Known values + are: "primary", "secondary", "force-primary-allow-data-loss", and "force-secondary". + :vartype role: str or ~azure.mgmt.azurearcdata.models.InstanceFailoverGroupRole + """ + + shared_name: Optional[str] = rest_field( + name="sharedName", visibility=["read", "create", "update", "delete", "query"] + ) + """The shared name of the failover group for this SQL managed instance. Both SQL managed instance + and its partner have to use the same shared name.""" + source_mi: Optional[str] = rest_field(name="sourceMI", visibility=["read", "create", "update", "delete", "query"]) + """The name of the SQL managed instance with this failover group role.""" + partner_mi: Optional[str] = rest_field(name="partnerMI", visibility=["read", "create", "update", "delete", "query"]) + """The name of the partner SQL managed instance.""" + partner_mirroring_url: Optional[str] = rest_field( + name="partnerMirroringURL", visibility=["read", "create", "update", "delete", "query"] + ) + """The mirroring endpoint URL of the partner SQL managed instance.""" + partner_mirroring_cert: Optional[str] = rest_field( + name="partnerMirroringCert", visibility=["read", "create", "update", "delete", "query"] + ) + """The mirroring endpoint public certificate for the partner SQL managed instance. Only PEM format + is supported.""" + partner_sync_mode: Optional[Union[str, "_models.FailoverGroupPartnerSyncMode"]] = rest_field( + name="partnerSyncMode", visibility=["read", "create", "update", "delete", "query"] + ) + """The partner sync mode of the SQL managed instance. Known values are: \"async\" and \"sync\".""" + role: Union[str, "_models.InstanceFailoverGroupRole"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The role of the SQL managed instance in this failover group. Required. Known values are: + \"primary\", \"secondary\", \"force-primary-allow-data-loss\", and \"force-secondary\".""" + + @overload + def __init__( + self, + *, + role: Union[str, "_models.InstanceFailoverGroupRole"], + shared_name: Optional[str] = None, + source_mi: Optional[str] = None, + partner_mi: Optional[str] = None, + partner_mirroring_url: Optional[str] = None, + partner_mirroring_cert: Optional[str] = None, + partner_sync_mode: Optional[Union[str, "_models.FailoverGroupPartnerSyncMode"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class FailoverMiLinkResourceId(_Model): + """The azure resource identifier for the Sql Managed Instance. + + :ivar managed_instance_id: Azure resource id for the sql managed instance. + :vartype managed_instance_id: str + :ivar force: Whether to perform a Force Failover as opposed to just a regular Failover. + :vartype force: bool + """ + + managed_instance_id: Optional[str] = rest_field( + name="managedInstanceId", visibility=["read", "create", "update", "delete", "query"] + ) + """Azure resource id for the sql managed instance.""" + force: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Whether to perform a Force Failover as opposed to just a regular Failover.""" + + @overload + def __init__( + self, + *, + managed_instance_id: Optional[str] = None, + force: Optional[bool] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class HostIPAddressInformation(_Model): + """IP address and subnet mask. + + :ivar ip_address: IP address. + :vartype ip_address: str + :ivar subnet_mask: Subnet mask. + :vartype subnet_mask: str + """ + + ip_address: Optional[str] = rest_field(name="ipAddress", visibility=["read"]) + """IP address.""" + subnet_mask: Optional[str] = rest_field(name="subnetMask", visibility=["read"]) + """Subnet mask.""" + + +class ImpactedObjectsInfo(_Model): + """summary information about the incompatible feature id, number of objects impacted and category + of issue (warning/error). + + :ivar feature_id: Represents the feature id from + `https://learn.microsoft.com/en-us/data-migration/sql-server/database/assessment-rules?view=azuresql + `_. + OR + `https://learn.microsoft.com/en-us/data-migration/sql-server/managed-instance/assessment-rules?view=azuresql + `_. + :vartype feature_id: str + :ivar number_impacted: Represents the number of issues/warnings. + :vartype number_impacted: int + :ivar issue_category: Issue or Warning. + :vartype issue_category: str + """ + + feature_id: Optional[str] = rest_field(name="featureId", visibility=["read", "create", "update", "delete", "query"]) + """Represents the feature id from + `https://learn.microsoft.com/en-us/data-migration/sql-server/database/assessment-rules?view=azuresql + `_. + OR + `https://learn.microsoft.com/en-us/data-migration/sql-server/managed-instance/assessment-rules?view=azuresql + `_.""" + number_impacted: Optional[int] = rest_field( + name="numberImpacted", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents the number of issues/warnings.""" + issue_category: Optional[str] = rest_field( + name="issueCategory", visibility=["read", "create", "update", "delete", "query"] + ) + """Issue or Warning.""" + + @overload + def __init__( + self, + *, + feature_id: Optional[str] = None, + number_impacted: Optional[int] = None, + issue_category: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ImpactedObjectsSuitabilitySummary(_Model): + """Represents a summary of migration readiness issues/warnings per feature type for Azure SQL DB + and SQL MI targets. + + :ivar azure_sql_database: + :vartype azure_sql_database: list[~azure.mgmt.azurearcdata.models.ImpactedObjectsInfo] + :ivar azure_sql_managed_instance: + :vartype azure_sql_managed_instance: list[~azure.mgmt.azurearcdata.models.ImpactedObjectsInfo] + """ + + azure_sql_database: Optional[list["_models.ImpactedObjectsInfo"]] = rest_field( + name="azureSqlDatabase", visibility=["read"] + ) + azure_sql_managed_instance: Optional[list["_models.ImpactedObjectsInfo"]] = rest_field( + name="azureSqlManagedInstance", visibility=["read"] + ) + + +class K8sActiveDirectory(_Model): + """The kubernetes active directory information. + + :ivar connector: + :vartype connector: ~azure.mgmt.azurearcdata.models.K8sActiveDirectoryConnector + :ivar account_name: Account name for AAD. + :vartype account_name: str + :ivar keytab_secret: Keytab secret used to authenticate with Active Directory. + :vartype keytab_secret: str + :ivar encryption_types: An array of encryption types. + :vartype encryption_types: list[str] + """ + + connector: Optional["_models.K8sActiveDirectoryConnector"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + account_name: Optional[str] = rest_field( + name="accountName", visibility=["read", "create", "update", "delete", "query"] + ) + """Account name for AAD.""" + keytab_secret: Optional[str] = rest_field( + name="keytabSecret", visibility=["read", "create", "update", "delete", "query"] + ) + """Keytab secret used to authenticate with Active Directory.""" + encryption_types: Optional[list[str]] = rest_field( + name="encryptionTypes", visibility=["read", "create", "update", "delete", "query"] + ) + """An array of encryption types.""" + + @overload + def __init__( + self, + *, + connector: Optional["_models.K8sActiveDirectoryConnector"] = None, + account_name: Optional[str] = None, + keytab_secret: Optional[str] = None, + encryption_types: Optional[list[str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class K8sActiveDirectoryConnector(_Model): + """K8sActiveDirectoryConnector. + + :ivar name: Name of the connector. + :vartype name: str + :ivar namespace: Name space of the connector. + :vartype namespace: str + """ + + name: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Name of the connector.""" + namespace: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Name space of the connector.""" + + @overload + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class K8sNetworkSettings(_Model): + """The kubernetes network settings information. + + :ivar forceencryption: If 1, then SQL Server forces all connections to be encrypted. By + default, this option is 0. + :vartype forceencryption: int + :ivar tlsciphers: Specifies which ciphers are allowed by SQL Server for TLS. + :vartype tlsciphers: str + :ivar tlsprotocols: A comma-separated list of which TLS protocols are allowed by SQL Server. + :vartype tlsprotocols: str + """ + + forceencryption: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """If 1, then SQL Server forces all connections to be encrypted. By default, this option is 0.""" + tlsciphers: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Specifies which ciphers are allowed by SQL Server for TLS.""" + tlsprotocols: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """A comma-separated list of which TLS protocols are allowed by SQL Server.""" + + @overload + def __init__( + self, + *, + forceencryption: Optional[int] = None, + tlsciphers: Optional[str] = None, + tlsprotocols: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class K8sResourceRequirements(_Model): + """The kubernetes resource limits and requests used to restrict or reserve resource usage. + + :ivar requests: Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' + request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default + 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and + maximum 'memory' is '128Gi'. + :vartype requests: dict[str, str] + :ivar limits: Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request + must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' + is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum + 'memory' is '128Gi'. + :vartype limits: dict[str, str] + """ + + requests: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less + than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', + minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is + '128Gi'.""" + limits: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less + than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', + minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is + '128Gi'.""" + + @overload + def __init__( + self, + *, + requests: Optional[dict[str, str]] = None, + limits: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class K8sScheduling(_Model): + """The kubernetes scheduling information. + + :ivar default: The kubernetes scheduling options. It describes restrictions used to help + Kubernetes select appropriate nodes to host the database service. + :vartype default: ~azure.mgmt.azurearcdata.models.K8sSchedulingOptions + """ + + default: Optional["_models.K8sSchedulingOptions"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The kubernetes scheduling options. It describes restrictions used to help Kubernetes select + appropriate nodes to host the database service.""" + + @overload + def __init__( + self, + *, + default: Optional["_models.K8sSchedulingOptions"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class K8sSchedulingOptions(_Model): + """The kubernetes scheduling options. It describes restrictions used to help Kubernetes select + appropriate nodes to host the database service. + + :ivar resources: The kubernetes resource limits and requests used to restrict or reserve + resource usage. + :vartype resources: ~azure.mgmt.azurearcdata.models.K8sResourceRequirements + """ + + resources: Optional["_models.K8sResourceRequirements"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The kubernetes resource limits and requests used to restrict or reserve resource usage.""" + + @overload + def __init__( + self, + *, + resources: Optional["_models.K8sResourceRequirements"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class K8sSecurity(_Model): + """The kubernetes security information. + + :ivar admin_login_secret: Admin login secret key. + :vartype admin_login_secret: str + :ivar service_certificate_secret: Service certificate secret used. + :vartype service_certificate_secret: str + :ivar active_directory: The kubernetes active directory information. + :vartype active_directory: ~azure.mgmt.azurearcdata.models.K8sActiveDirectory + :ivar transparent_data_encryption: Transparent data encryption information. + :vartype transparent_data_encryption: + ~azure.mgmt.azurearcdata.models.K8stransparentDataEncryption + """ + + admin_login_secret: Optional[str] = rest_field( + name="adminLoginSecret", visibility=["read", "create", "update", "delete", "query"] + ) + """Admin login secret key.""" + service_certificate_secret: Optional[str] = rest_field( + name="serviceCertificateSecret", visibility=["read", "create", "update", "delete", "query"] + ) + """Service certificate secret used.""" + active_directory: Optional["_models.K8sActiveDirectory"] = rest_field( + name="activeDirectory", visibility=["read", "create", "update", "delete", "query"] + ) + """The kubernetes active directory information.""" + transparent_data_encryption: Optional["_models.K8stransparentDataEncryption"] = rest_field( + name="transparentDataEncryption", visibility=["read", "create", "update", "delete", "query"] + ) + """Transparent data encryption information.""" + + @overload + def __init__( + self, + *, + admin_login_secret: Optional[str] = None, + service_certificate_secret: Optional[str] = None, + active_directory: Optional["_models.K8sActiveDirectory"] = None, + transparent_data_encryption: Optional["_models.K8stransparentDataEncryption"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class K8sSettings(_Model): + """The kubernetes settings information. + + :ivar network: The kubernetes network settings information. + :vartype network: ~azure.mgmt.azurearcdata.models.K8sNetworkSettings + """ + + network: Optional["_models.K8sNetworkSettings"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The kubernetes network settings information.""" + + @overload + def __init__( + self, + *, + network: Optional["_models.K8sNetworkSettings"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class K8stransparentDataEncryption(_Model): + """Transparent data encryption information. + + :ivar mode: Transparent data encryption mode. Can be Service Managed, Customer managed or + disabled. + :vartype mode: str + :ivar protector_secret: Protector secret for customer managed Transparent data encryption mode. + :vartype protector_secret: str + """ + + mode: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Transparent data encryption mode. Can be Service Managed, Customer managed or disabled.""" + protector_secret: Optional[str] = rest_field( + name="protectorSecret", visibility=["read", "create", "update", "delete", "query"] + ) + """Protector secret for customer managed Transparent data encryption mode.""" + + @overload + def __init__( + self, + *, + mode: Optional[str] = None, + protector_secret: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class KeytabInformation(_Model): + """Keytab used for authenticate with Active Directory. + + :ivar keytab: A base64-encoded keytab. + :vartype keytab: str + """ + + keytab: Optional[str] = rest_field(visibility=["create", "update"]) + """A base64-encoded keytab.""" + + @overload + def __init__( + self, + *, + keytab: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class LogAnalyticsWorkspaceConfig(_Model): + """Log analytics workspace id and primary key. + + :ivar workspace_id: Azure Log Analytics workspace ID. + :vartype workspace_id: str + :ivar primary_key: Primary key of the workspace. + :vartype primary_key: str + """ + + workspace_id: Optional[str] = rest_field( + name="workspaceId", visibility=["read", "create", "update", "delete", "query"] + ) + """Azure Log Analytics workspace ID.""" + primary_key: Optional[str] = rest_field(name="primaryKey", visibility=["create", "update"]) + """Primary key of the workspace.""" + + @overload + def __init__( + self, + *, + workspace_id: Optional[str] = None, + primary_key: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ManagedInstanceLinkCreateUpdateConfiguration(_Model): # pylint: disable=name-too-long + """The configuration for the new Managed Instance Link resource. + + :ivar availability_group: The configuration for the SQL Server availability group resource. + :vartype availability_group: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration + :ivar distributed_availability_group: The distributed availability group configuration for the + MI link. + :vartype distributed_availability_group: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration + :ivar mi_link_configuration: The MI Link specific distributed availability group configuration. + :vartype mi_link_configuration: ~azure.mgmt.azurearcdata.models.MiLinkCreateUpdateConfiguration + """ + + availability_group: Optional["_models.AvailabilityGroupCreateUpdateConfiguration"] = rest_field( + name="availabilityGroup", visibility=["read", "create", "update", "delete", "query"] + ) + """The configuration for the SQL Server availability group resource.""" + distributed_availability_group: Optional["_models.DistributedAvailabilityGroupCreateUpdateConfiguration"] = ( + rest_field(name="distributedAvailabilityGroup", visibility=["read", "create", "update", "delete", "query"]) + ) + """The distributed availability group configuration for the MI link.""" + mi_link_configuration: Optional["_models.MiLinkCreateUpdateConfiguration"] = rest_field( + name="miLinkConfiguration", visibility=["read", "create", "update", "delete", "query"] + ) + """The MI Link specific distributed availability group configuration.""" + + @overload + def __init__( + self, + *, + availability_group: Optional["_models.AvailabilityGroupCreateUpdateConfiguration"] = None, + distributed_availability_group: Optional[ + "_models.DistributedAvailabilityGroupCreateUpdateConfiguration" + ] = None, + mi_link_configuration: Optional["_models.MiLinkCreateUpdateConfiguration"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class Migration(_Model): + """Migration related configuration. + + :ivar assessment: Migration assessments related configuration. + :vartype assessment: ~azure.mgmt.azurearcdata.models.MigrationAssessment + :ivar target_selected_time: The last time when the target resource was selected for migration. + :vartype target_selected_time: ~datetime.datetime + :ivar target_resource_id: Resource Id of the created or selected target SQL resource for + migration. + :vartype target_resource_id: str + """ + + assessment: Optional["_models.MigrationAssessment"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Migration assessments related configuration.""" + target_selected_time: Optional[datetime.datetime] = rest_field( + name="targetSelectedTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """The last time when the target resource was selected for migration.""" + target_resource_id: Optional[str] = rest_field( + name="targetResourceId", visibility=["read", "create", "update", "delete", "query"] + ) + """Resource Id of the created or selected target SQL resource for migration.""" + + @overload + def __init__( + self, + *, + assessment: Optional["_models.MigrationAssessment"] = None, + target_selected_time: Optional[datetime.datetime] = None, + target_resource_id: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class MigrationAssessment(_Model): + """The migration assessment related configuration. + + :ivar enabled: Indicates if migration assessment is enabled for this SQL Server instance. + :vartype enabled: bool + :ivar assessment_upload_time: The time when Migration Assessment Report upload was last + performed. + :vartype assessment_upload_time: ~datetime.datetime + :ivar assessment_viewed_time: The time when this migration assessment was last viewed. + :vartype assessment_viewed_time: ~datetime.datetime + :ivar target_recommendation_generation_time: The UTC timestamp in ISO 8601 format indicating + when the latest target recommendations were generated for this SQL Server instance. This value + is set as part of a successful RunTargetRecommendation job and is independent of when the + migration readiness results were uploaded (assessmentUploadTime). + :vartype target_recommendation_generation_time: ~datetime.datetime + :ivar version: version of this migration assessment report - to be passed by the migration + assessment engine. + :vartype version: str + :ivar settings: Settings impacting the migration assessment computation - configurable with + some default values if not set. + :vartype settings: ~azure.mgmt.azurearcdata.models.MigrationAssessmentSettings + :ivar server_assessments: Issues and warnings impacting the migration of SQL Server instance to + particular Azure Migration Target. + :vartype server_assessments: list[~azure.mgmt.azurearcdata.models.ServerAssessmentsItem] + :ivar sku_recommendation_results: SKU Recommendation results for Azure migration targets for + SQL Server. + :vartype sku_recommendation_results: ~azure.mgmt.azurearcdata.models.SkuRecommendationResults + :ivar impacted_objects_summary: Represents a summary of migration readiness issues/warnings per + feature type for Azure SQL DB and SQL MI targets. + :vartype impacted_objects_summary: + ~azure.mgmt.azurearcdata.models.ImpactedObjectsSuitabilitySummary + """ + + enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Indicates if migration assessment is enabled for this SQL Server instance.""" + assessment_upload_time: Optional[datetime.datetime] = rest_field( + name="assessmentUploadTime", visibility=["read"], format="rfc3339" + ) + """The time when Migration Assessment Report upload was last performed.""" + assessment_viewed_time: Optional[datetime.datetime] = rest_field( + name="assessmentViewedTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """The time when this migration assessment was last viewed.""" + target_recommendation_generation_time: Optional[datetime.datetime] = rest_field( + name="targetRecommendationGenerationTime", visibility=["read"], format="rfc3339" + ) + """The UTC timestamp in ISO 8601 format indicating when the latest target recommendations were + generated for this SQL Server instance. This value is set as part of a successful + RunTargetRecommendation job and is independent of when the migration readiness results were + uploaded (assessmentUploadTime).""" + version: Optional[str] = rest_field(visibility=["read"]) + """version of this migration assessment report - to be passed by the migration assessment engine.""" + settings: Optional["_models.MigrationAssessmentSettings"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Settings impacting the migration assessment computation - configurable with some default values + if not set.""" + server_assessments: Optional[list["_models.ServerAssessmentsItem"]] = rest_field( + name="serverAssessments", visibility=["read"] + ) + """Issues and warnings impacting the migration of SQL Server instance to particular Azure + Migration Target.""" + sku_recommendation_results: Optional["_models.SkuRecommendationResults"] = rest_field( + name="skuRecommendationResults", visibility=["read"] + ) + """SKU Recommendation results for Azure migration targets for SQL Server.""" + impacted_objects_summary: Optional["_models.ImpactedObjectsSuitabilitySummary"] = rest_field( + name="impactedObjectsSummary", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents a summary of migration readiness issues/warnings per feature type for Azure SQL DB + and SQL MI targets.""" + + @overload + def __init__( + self, + *, + enabled: Optional[bool] = None, + assessment_viewed_time: Optional[datetime.datetime] = None, + settings: Optional["_models.MigrationAssessmentSettings"] = None, + impacted_objects_summary: Optional["_models.ImpactedObjectsSuitabilitySummary"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class MigrationAssessmentSettings(_Model): + """Settings impacting the migration assessment computation - configurable with some default values + if not set. + + :ivar target_location: The target location for Azure SQL SKU for migration. Default is West US. + :vartype target_location: str + :ivar percentile: Indicate the percentile value for the performance sample. Default is 95th + percentile. + :vartype percentile: float + :ivar lookback_period_in_days: How far back to check the performance data - Default is 30 + (days). + :vartype lookback_period_in_days: int + :ivar comfort_factor: Buffer (percentage) to consider while SKU sizing to account for issues + such as seasonal usage, short performance history, and likely increases in future usage - This + buffer is applied on top of the performance metrics. Default is 100 (percent). + :vartype comfort_factor: int + :ivar strategy: Minimize cost or Migrate to PaaS. - to evaluate based on the recommended + strategy. Default is Migrate to PaaS. + :vartype strategy: str + :ivar currency: currency to calculate prices - Default is USD. + :vartype currency: str + :ivar discount_percentage: flat discount percentage to apply for the price - Default is 0. + :vartype discount_percentage: float + :ivar cost_options: Selected cost option value. + :vartype cost_options: ~azure.mgmt.azurearcdata.models.CostOptionSelectedValues + """ + + target_location: Optional[str] = rest_field( + name="targetLocation", visibility=["read", "create", "update", "delete", "query"] + ) + """The target location for Azure SQL SKU for migration. Default is West US.""" + percentile: Optional[float] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Indicate the percentile value for the performance sample. Default is 95th percentile.""" + lookback_period_in_days: Optional[int] = rest_field( + name="lookbackPeriodInDays", visibility=["read", "create", "update", "delete", "query"] + ) + """How far back to check the performance data - Default is 30 (days).""" + comfort_factor: Optional[int] = rest_field( + name="comfortFactor", visibility=["read", "create", "update", "delete", "query"] + ) + """Buffer (percentage) to consider while SKU sizing to account for issues such as seasonal usage, + short performance history, and likely increases in future usage - This buffer is applied on top + of the performance metrics. Default is 100 (percent).""" + strategy: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Minimize cost or Migrate to PaaS. - to evaluate based on the recommended strategy. Default is + Migrate to PaaS.""" + currency: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """currency to calculate prices - Default is USD.""" + discount_percentage: Optional[float] = rest_field( + name="discountPercentage", visibility=["read", "create", "update", "delete", "query"] + ) + """flat discount percentage to apply for the price - Default is 0.""" + cost_options: Optional["_models.CostOptionSelectedValues"] = rest_field( + name="costOptions", visibility=["read", "create", "update", "delete", "query"] + ) + """Selected cost option value.""" + + @overload + def __init__( + self, + *, + target_location: Optional[str] = None, + percentile: Optional[float] = None, + lookback_period_in_days: Optional[int] = None, + comfort_factor: Optional[int] = None, + strategy: Optional[str] = None, + currency: Optional[str] = None, + discount_percentage: Optional[float] = None, + cost_options: Optional["_models.CostOptionSelectedValues"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class MiLinkCreateUpdateConfiguration(_Model): + """The MI Link specific configuration. + + :ivar instance_availability_group_name: The name of the availability group to be created on the + Managed Instance. + :vartype instance_availability_group_name: str + """ + + instance_availability_group_name: Optional[str] = rest_field( + name="instanceAvailabilityGroupName", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the availability group to be created on the Managed Instance.""" + + @overload + def __init__( + self, + *, + instance_availability_group_name: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class Monitoring(_Model): + """The monitoring configuration. + + :ivar enabled: Indicates if monitoring is enabled for this SQL Server instance. + :vartype enabled: bool + """ + + enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Indicates if monitoring is enabled for this SQL Server instance.""" + + @overload + def __init__( + self, + *, + enabled: Optional[bool] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class OnPremiseProperty(_Model): + """Properties from the Kubernetes data controller. + + :ivar id: A globally unique ID identifying the associated Kubernetes cluster. Required. + :vartype id: str + :ivar public_signing_key: Certificate that contains the Kubernetes cluster public key used to + verify signing. Required. + :vartype public_signing_key: str + :ivar signing_certificate_thumbprint: Unique thumbprint returned to customer to verify the + certificate being uploaded. + :vartype signing_certificate_thumbprint: str + """ + + id: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """A globally unique ID identifying the associated Kubernetes cluster. Required.""" + public_signing_key: str = rest_field( + name="publicSigningKey", visibility=["read", "create", "update", "delete", "query"] + ) + """Certificate that contains the Kubernetes cluster public key used to verify signing. Required.""" + signing_certificate_thumbprint: Optional[str] = rest_field( + name="signingCertificateThumbprint", visibility=["read", "create", "update", "delete", "query"] + ) + """Unique thumbprint returned to customer to verify the certificate being uploaded.""" + + @overload + def __init__( + self, + *, + id: str, # pylint: disable=redefined-builtin + public_signing_key: str, + signing_certificate_thumbprint: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class Operation(_Model): + """REST API Operation. + + :ivar name: The name of the operation, as per Resource-Based Access Control (RBAC). Examples: + "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action". + :vartype name: str + :ivar is_data_action: Whether the operation applies to data-plane. This is "true" for + data-plane operations and "false" for Azure Resource Manager/control-plane operations. + :vartype is_data_action: bool + :ivar display: Localized display information for this particular operation. + :vartype display: ~azure.mgmt.azurearcdata.models.OperationDisplay + :ivar origin: The intended executor of the operation; as in Resource Based Access Control + (RBAC) and audit logs UX. Default value is "user,system". Known values are: "user", "system", + and "user,system". + :vartype origin: str or ~azure.mgmt.azurearcdata.models.Origin + :ivar action_type: Extensible enum. Indicates the action type. "Internal" refers to actions + that are for internal only APIs. "Internal" + :vartype action_type: str or ~azure.mgmt.azurearcdata.models.ActionType + """ + + name: Optional[str] = rest_field(visibility=["read"]) + """The name of the operation, as per Resource-Based Access Control (RBAC). Examples: + \"Microsoft.Compute/virtualMachines/write\", + \"Microsoft.Compute/virtualMachines/capture/action\".""" + is_data_action: Optional[bool] = rest_field(name="isDataAction", visibility=["read"]) + """Whether the operation applies to data-plane. This is \"true\" for data-plane operations and + \"false\" for Azure Resource Manager/control-plane operations.""" + display: Optional["_models.OperationDisplay"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Localized display information for this particular operation.""" + origin: Optional[Union[str, "_models.Origin"]] = rest_field(visibility=["read"]) + """The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit + logs UX. Default value is \"user,system\". Known values are: \"user\", \"system\", and + \"user,system\".""" + action_type: Optional[Union[str, "_models.ActionType"]] = rest_field(name="actionType", visibility=["read"]) + """Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for + internal only APIs. \"Internal\"""" + + @overload + def __init__( + self, + *, + display: Optional["_models.OperationDisplay"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class OperationDisplay(_Model): + """Localized display information for an operation. + + :ivar provider: The localized friendly form of the resource provider name, e.g. "Microsoft + Monitoring Insights" or "Microsoft Compute". + :vartype provider: str + :ivar resource: The localized friendly name of the resource type related to this operation. + E.g. "Virtual Machines" or "Job Schedule Collections". + :vartype resource: str + :ivar operation: The concise, localized friendly name for the operation; suitable for + dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine". + :vartype operation: str + :ivar description: The short, localized friendly description of the operation; suitable for + tool tips and detailed views. + :vartype description: str + """ + + provider: Optional[str] = rest_field(visibility=["read"]) + """The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring + Insights\" or \"Microsoft Compute\".""" + resource: Optional[str] = rest_field(visibility=["read"]) + """The localized friendly name of the resource type related to this operation. E.g. \"Virtual + Machines\" or \"Job Schedule Collections\".""" + operation: Optional[str] = rest_field(visibility=["read"]) + """The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create + or Update Virtual Machine\", \"Restart Virtual Machine\".""" + description: Optional[str] = rest_field(visibility=["read"]) + """The short, localized friendly description of the operation; suitable for tool tips and detailed + views.""" + + +class PostgresInstance(TrackedResource): + """A Postgres Instance. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: null. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties + :ivar extended_location: The extendedLocation of the resource. + :vartype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation + :ivar sku: Resource sku. + :vartype sku: ~azure.mgmt.azurearcdata.models.PostgresInstanceSku + """ + + properties: "_models.PostgresInstanceProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null. Required.""" + extended_location: Optional["_models.ExtendedLocation"] = rest_field( + name="extendedLocation", visibility=["read", "create", "update", "delete", "query"] + ) + """The extendedLocation of the resource.""" + sku: Optional["_models.PostgresInstanceSku"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Resource sku.""" + + @overload + def __init__( + self, + *, + location: str, + properties: "_models.PostgresInstanceProperties", + tags: Optional[dict[str, str]] = None, + extended_location: Optional["_models.ExtendedLocation"] = None, + sku: Optional["_models.PostgresInstanceSku"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class PostgresInstanceProperties(_Model): + """Postgres Instance properties. + + :ivar data_controller_id: The data controller id. + :vartype data_controller_id: str + :ivar admin: The instance admin. + :vartype admin: str + :ivar basic_login_information: Username and password for basic authentication. + :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar k8_s_raw: The raw kubernetes information. + :vartype k8_s_raw: any + :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date + time. + :vartype last_uploaded_date: ~datetime.datetime + :ivar provisioning_state: The provisioning state of the Azure Arc-enabled PostgreSQL instance. + :vartype provisioning_state: str + """ + + data_controller_id: Optional[str] = rest_field( + name="dataControllerId", visibility=["read", "create", "update", "delete", "query"] + ) + """The data controller id.""" + admin: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The instance admin.""" + basic_login_information: Optional["_models.BasicLoginInformation"] = rest_field( + name="basicLoginInformation", visibility=["read", "create", "update", "delete", "query"] + ) + """Username and password for basic authentication.""" + k8_s_raw: Optional[Any] = rest_field(name="k8sRaw", visibility=["read", "create", "update", "delete", "query"]) + """The raw kubernetes information.""" + last_uploaded_date: Optional[datetime.datetime] = rest_field( + name="lastUploadedDate", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Last uploaded date from Kubernetes cluster. Defaults to current date time.""" + provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) + """The provisioning state of the Azure Arc-enabled PostgreSQL instance.""" + + @overload + def __init__( + self, + *, + data_controller_id: Optional[str] = None, + admin: Optional[str] = None, + basic_login_information: Optional["_models.BasicLoginInformation"] = None, + k8_s_raw: Optional[Any] = None, + last_uploaded_date: Optional[datetime.datetime] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class PostgresInstanceSku(CommonSku): + """The resource model definition representing SKU for Azure Database for PostgresSQL - Azure Arc. + + :ivar name: The name of the SKU. It is typically a letter+number code. Required. + :vartype name: str + :ivar dev: Whether dev/test is enabled. When the dev field is set to true, the resource is used + for dev/test purpose. + :vartype dev: bool + :ivar size: The SKU size. When the name field is the combination of tier and some other value, + this would be the standalone code. + :vartype size: str + :ivar family: If the service has different generations of hardware, for the same SKU, then that + can be captured here. + :vartype family: str + :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included. + If scale out/in is not possible for the resource this may be omitted. + :vartype capacity: int + :ivar tier: This field is required to be implemented by the Resource Provider if the service + has more than one tier. Default value is "Hyperscale". + :vartype tier: str + """ + + tier: Optional[Literal["Hyperscale"]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """This field is required to be implemented by the Resource Provider if the service has more than + one tier. Default value is \"Hyperscale\".""" + + @overload + def __init__( + self, + *, + name: str, + dev: Optional[bool] = None, + size: Optional[str] = None, + family: Optional[str] = None, + capacity: Optional[int] = None, + tier: Optional[Literal["Hyperscale"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class PostgresInstanceUpdate(_Model): + """An update to a Postgres Instance. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: Postgres Instance properties. + :vartype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + properties: Optional["_models.PostgresInstanceProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Postgres Instance properties.""" + + @overload + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.PostgresInstanceProperties"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class Schedule(_Model): + """The scheduling configuration. + + :ivar enabled: Indicates whether scheduling is enabled. + :vartype enabled: bool + :ivar cron_trigger: The cron trigger configuration. + :vartype cron_trigger: ~azure.mgmt.azurearcdata.models.CronTrigger + """ + + enabled: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Indicates whether scheduling is enabled.""" + cron_trigger: Optional["_models.CronTrigger"] = rest_field( + name="cronTrigger", visibility=["read", "create", "update", "delete", "query"] + ) + """The cron trigger configuration.""" + + @overload + def __init__( + self, + *, + enabled: Optional[bool] = None, + cron_trigger: Optional["_models.CronTrigger"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SequencerAction(_Model): + """The sequencer action details. + + :ivar action_id: The unique identifier of the sequencer action. + :vartype action_id: str + :ivar state: The state of the sequencer action. Known values are: "NotStarted", + "WaitingPredecessors", "ExecutingAction", "CreatingSuccessors", and "Completed". + :vartype state: str or ~azure.mgmt.azurearcdata.models.SequencerState + :ivar result: The result of the sequencer action. Known values are: "NotCompleted", + "Succeeded", "Failed", "TimedOut", and "Skipped". + :vartype result: str or ~azure.mgmt.azurearcdata.models.Result + """ + + action_id: Optional[str] = rest_field(name="actionId", visibility=["read", "create", "update", "delete", "query"]) + """The unique identifier of the sequencer action.""" + state: Optional[Union[str, "_models.SequencerState"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The state of the sequencer action. Known values are: \"NotStarted\", \"WaitingPredecessors\", + \"ExecutingAction\", \"CreatingSuccessors\", and \"Completed\".""" + result: Optional[Union[str, "_models.Result"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The result of the sequencer action. Known values are: \"NotCompleted\", \"Succeeded\", + \"Failed\", \"TimedOut\", and \"Skipped\".""" + + @overload + def __init__( + self, + *, + action_id: Optional[str] = None, + state: Optional[Union[str, "_models.SequencerState"]] = None, + result: Optional[Union[str, "_models.Result"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ServerAssessmentsItem(_Model): + """ServerAssessmentsItem. + + :ivar applies_to_migration_target_platform: + :vartype applies_to_migration_target_platform: str + :ivar feature_id: + :vartype feature_id: str + :ivar impacted_objects: + :vartype impacted_objects: + list[~azure.mgmt.azurearcdata.models.ServerAssessmentsPropertiesItemsItem] + :ivar issue_category: + :vartype issue_category: str + :ivar more_information: + :vartype more_information: str + """ + + applies_to_migration_target_platform: Optional[str] = rest_field( + name="appliesToMigrationTargetPlatform", visibility=["read", "create", "update", "delete", "query"] + ) + feature_id: Optional[str] = rest_field(name="featureId", visibility=["read", "create", "update", "delete", "query"]) + impacted_objects: Optional[list["_models.ServerAssessmentsPropertiesItemsItem"]] = rest_field( + name="impactedObjects", visibility=["read", "create", "update", "delete", "query"] + ) + issue_category: Optional[str] = rest_field( + name="issueCategory", visibility=["read", "create", "update", "delete", "query"] + ) + more_information: Optional[str] = rest_field( + name="moreInformation", visibility=["read", "create", "update", "delete", "query"] + ) + + @overload + def __init__( + self, + *, + applies_to_migration_target_platform: Optional[str] = None, + feature_id: Optional[str] = None, + impacted_objects: Optional[list["_models.ServerAssessmentsPropertiesItemsItem"]] = None, + issue_category: Optional[str] = None, + more_information: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ServerAssessmentsPropertiesItemsItem(_Model): + """ServerAssessmentsPropertiesItemsItem. + + :ivar impact_detail: + :vartype impact_detail: str + :ivar name: + :vartype name: str + :ivar object_type: + :vartype object_type: str + """ + + impact_detail: Optional[str] = rest_field( + name="impactDetail", visibility=["read", "create", "update", "delete", "query"] + ) + name: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + object_type: Optional[str] = rest_field( + name="objectType", visibility=["read", "create", "update", "delete", "query"] + ) + + @overload + def __init__( + self, + *, + impact_detail: Optional[str] = None, + name: Optional[str] = None, + object_type: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResults(_Model): + """SKU Recommendation results for Azure migration targets for SQL Server. + + :ivar azure_sql_database: SKU Recommendation results for Azure SQL Database. + :vartype azure_sql_database: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabase + :ivar azure_sql_managed_instance: SKU Recommendation results for Azure SQL Managed Instance. + :vartype azure_sql_managed_instance: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstance + :ivar azure_sql_virtual_machine: SKU Recommendation results for Azure SQL Virtual Machine. + :vartype azure_sql_virtual_machine: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachine + """ + + azure_sql_database: Optional["_models.SkuRecommendationResultsAzureSqlDatabase"] = rest_field( + name="azureSqlDatabase", visibility=["read", "create", "update", "delete", "query"] + ) + """SKU Recommendation results for Azure SQL Database.""" + azure_sql_managed_instance: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstance"] = rest_field( + name="azureSqlManagedInstance", visibility=["read", "create", "update", "delete", "query"] + ) + """SKU Recommendation results for Azure SQL Managed Instance.""" + azure_sql_virtual_machine: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachine"] = rest_field( + name="azureSqlVirtualMachine", visibility=["read", "create", "update", "delete", "query"] + ) + """SKU Recommendation results for Azure SQL Virtual Machine.""" + + @overload + def __init__( + self, + *, + azure_sql_database: Optional["_models.SkuRecommendationResultsAzureSqlDatabase"] = None, + azure_sql_managed_instance: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstance"] = None, + azure_sql_virtual_machine: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachine"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsAzureSqlDatabase(_Model): + """SKU Recommendation results for Azure SQL Database. + + :ivar recommendation_status: The target recommendation Status for this database. Known values + are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :ivar number_of_server_blocker_issues: Number of blocker issues to fix before migrating to the + target platform. + :vartype number_of_server_blocker_issues: int + :ivar monthly_cost: The monthly cost of the particular SKU. + :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :ivar monthly_cost_options: The monthly cost for all different savings options applicable for + the particular SKU. + :vartype monthly_cost_options: + list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] + :ivar target_sku: + :vartype target_sku: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSku + """ + + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = rest_field( + name="recommendationStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The target recommendation Status for this database. Known values are: \"NotReady\", \"Ready\", + \"ReadyWithConditions\", and \"Unknown\".""" + number_of_server_blocker_issues: Optional[int] = rest_field( + name="numberOfServerBlockerIssues", visibility=["read", "create", "update", "delete", "query"] + ) + """Number of blocker issues to fix before migrating to the target platform.""" + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = rest_field( + name="monthlyCost", visibility=["read", "create", "update", "delete", "query"] + ) + """The monthly cost of the particular SKU.""" + monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = rest_field( + name="monthlyCostOptions", visibility=["read"] + ) + """The monthly cost for all different savings options applicable for the particular SKU.""" + target_sku: Optional["_models.SkuRecommendationResultsAzureSqlDatabaseTargetSku"] = rest_field( + name="targetSku", visibility=["read", "create", "update", "delete", "query"] + ) + + @overload + def __init__( + self, + *, + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, + number_of_server_blocker_issues: Optional[int] = None, + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, + target_sku: Optional["_models.SkuRecommendationResultsAzureSqlDatabaseTargetSku"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsAzureSqlDatabaseTargetSku(_Model): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlDatabaseTargetSku. + + :ivar category: + :vartype category: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory + :ivar compute_size: Compute Size in vCores. + :vartype compute_size: int + :ivar storage_max_size_in_mb: maximum storage for this particular SKU, in MB. + :vartype storage_max_size_in_mb: float + :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_data_size_in_mb: float + :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_log_size_in_mb: float + :ivar max_storage_iops: The maximum storage IOPS in Azure SQL, will impact the billing cost. + :vartype max_storage_iops: float + :ivar max_throughput_m_bps: The maximum throughput in Azure SQL, will impact the billing cost. + :vartype max_throughput_m_bps: float + """ + + category: Optional["_models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + compute_size: Optional[int] = rest_field( + name="computeSize", visibility=["read", "create", "update", "delete", "query"] + ) + """Compute Size in vCores.""" + storage_max_size_in_mb: Optional[float] = rest_field( + name="storageMaxSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """maximum storage for this particular SKU, in MB.""" + predicted_data_size_in_mb: Optional[float] = rest_field( + name="predictedDataSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """The predicted data size in MB in Azure SQL, will impact the billing cost.""" + predicted_log_size_in_mb: Optional[float] = rest_field( + name="predictedLogSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """The predicted log size in MB in Azure SQL, will impact the billing cost.""" + max_storage_iops: Optional[float] = rest_field( + name="maxStorageIops", visibility=["read", "create", "update", "delete", "query"] + ) + """The maximum storage IOPS in Azure SQL, will impact the billing cost.""" + max_throughput_m_bps: Optional[float] = rest_field( + name="maxThroughputMBps", visibility=["read", "create", "update", "delete", "query"] + ) + """The maximum throughput in Azure SQL, will impact the billing cost.""" + + @overload + def __init__( + self, + *, + category: Optional["_models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory"] = None, + compute_size: Optional[int] = None, + storage_max_size_in_mb: Optional[float] = None, + predicted_data_size_in_mb: Optional[float] = None, + predicted_log_size_in_mb: Optional[float] = None, + max_storage_iops: Optional[float] = None, + max_throughput_m_bps: Optional[float] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory(_Model): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory. + + :ivar compute_tier: The compute tier of the target SKU. + :vartype compute_tier: str + :ivar hardware_type: The hardware type of the target SKU. + :vartype hardware_type: str + :ivar sql_purchasing_model: The SQL purchasing model of the target SKU. + :vartype sql_purchasing_model: str + :ivar sql_service_tier: The SQL service tier of the target SKU. + :vartype sql_service_tier: str + :ivar zone_redundancy_available: Indicates if zone redundancy is available for the target SKU. + :vartype zone_redundancy_available: bool + """ + + compute_tier: Optional[str] = rest_field( + name="computeTier", visibility=["read", "create", "update", "delete", "query"] + ) + """The compute tier of the target SKU.""" + hardware_type: Optional[str] = rest_field( + name="hardwareType", visibility=["read", "create", "update", "delete", "query"] + ) + """The hardware type of the target SKU.""" + sql_purchasing_model: Optional[str] = rest_field( + name="sqlPurchasingModel", visibility=["read", "create", "update", "delete", "query"] + ) + """The SQL purchasing model of the target SKU.""" + sql_service_tier: Optional[str] = rest_field( + name="sqlServiceTier", visibility=["read", "create", "update", "delete", "query"] + ) + """The SQL service tier of the target SKU.""" + zone_redundancy_available: Optional[bool] = rest_field( + name="zoneRedundancyAvailable", visibility=["read", "create", "update", "delete", "query"] + ) + """Indicates if zone redundancy is available for the target SKU.""" + + @overload + def __init__( + self, + *, + compute_tier: Optional[str] = None, + hardware_type: Optional[str] = None, + sql_purchasing_model: Optional[str] = None, + sql_service_tier: Optional[str] = None, + zone_redundancy_available: Optional[bool] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsAzureSqlManagedInstance(_Model): # pylint: disable=name-too-long + """SKU Recommendation results for Azure SQL Managed Instance. + + :ivar recommendation_status: The target recommendation Status for this database. Known values + are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :ivar number_of_server_blocker_issues: Number of blocker issues to fix before migrating to the + target platform. + :vartype number_of_server_blocker_issues: int + :ivar monthly_cost: The monthly cost of the particular SKU. + :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :ivar monthly_cost_options: The monthly cost for all different savings options applicable for + the particular SKU. + :vartype monthly_cost_options: + list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] + :ivar target_sku: + :vartype target_sku: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku + """ + + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = rest_field( + name="recommendationStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The target recommendation Status for this database. Known values are: \"NotReady\", \"Ready\", + \"ReadyWithConditions\", and \"Unknown\".""" + number_of_server_blocker_issues: Optional[int] = rest_field( + name="numberOfServerBlockerIssues", visibility=["read", "create", "update", "delete", "query"] + ) + """Number of blocker issues to fix before migrating to the target platform.""" + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = rest_field( + name="monthlyCost", visibility=["read", "create", "update", "delete", "query"] + ) + """The monthly cost of the particular SKU.""" + monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = rest_field( + name="monthlyCostOptions", visibility=["read"] + ) + """The monthly cost for all different savings options applicable for the particular SKU.""" + target_sku: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku"] = rest_field( + name="targetSku", visibility=["read", "create", "update", "delete", "query"] + ) + + @overload + def __init__( + self, + *, + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, + number_of_server_blocker_issues: Optional[int] = None, + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, + target_sku: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsAzureSqlManagedInstanceTargetSku(_Model): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlManagedInstanceTargetSku. + + :ivar category: + :vartype category: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory + :ivar compute_size: Compute Size in vCores. + :vartype compute_size: int + :ivar storage_max_size_in_mb: maximum storage for this particular SKU, in MB. + :vartype storage_max_size_in_mb: float + :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_data_size_in_mb: float + :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_log_size_in_mb: float + :ivar max_storage_iops: The maximum storage IOPS in Azure SQL, will impact the billing cost. + :vartype max_storage_iops: float + :ivar max_throughput_m_bps: The maximum throughput in Azure SQL, will impact the billing cost. + :vartype max_throughput_m_bps: float + """ + + category: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + compute_size: Optional[int] = rest_field( + name="computeSize", visibility=["read", "create", "update", "delete", "query"] + ) + """Compute Size in vCores.""" + storage_max_size_in_mb: Optional[float] = rest_field( + name="storageMaxSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """maximum storage for this particular SKU, in MB.""" + predicted_data_size_in_mb: Optional[float] = rest_field( + name="predictedDataSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """The predicted data size in MB in Azure SQL, will impact the billing cost.""" + predicted_log_size_in_mb: Optional[float] = rest_field( + name="predictedLogSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """The predicted log size in MB in Azure SQL, will impact the billing cost.""" + max_storage_iops: Optional[float] = rest_field( + name="maxStorageIops", visibility=["read", "create", "update", "delete", "query"] + ) + """The maximum storage IOPS in Azure SQL, will impact the billing cost.""" + max_throughput_m_bps: Optional[float] = rest_field( + name="maxThroughputMBps", visibility=["read", "create", "update", "delete", "query"] + ) + """The maximum throughput in Azure SQL, will impact the billing cost.""" + + @overload + def __init__( + self, + *, + category: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory"] = None, + compute_size: Optional[int] = None, + storage_max_size_in_mb: Optional[float] = None, + predicted_data_size_in_mb: Optional[float] = None, + predicted_log_size_in_mb: Optional[float] = None, + max_storage_iops: Optional[float] = None, + max_throughput_m_bps: Optional[float] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory(_Model): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory. + + :ivar compute_tier: The compute tier of the target SKU. + :vartype compute_tier: str + :ivar hardware_type: The hardware type of the target SKU. + :vartype hardware_type: str + :ivar sql_purchasing_model: The SQL purchasing model of the target SKU. + :vartype sql_purchasing_model: str + :ivar sql_service_tier: The SQL service tier of the target SKU. + :vartype sql_service_tier: str + :ivar zone_redundancy_available: Indicates if zone redundancy is available for the target SKU. + :vartype zone_redundancy_available: bool + """ + + compute_tier: Optional[str] = rest_field( + name="computeTier", visibility=["read", "create", "update", "delete", "query"] + ) + """The compute tier of the target SKU.""" + hardware_type: Optional[str] = rest_field( + name="hardwareType", visibility=["read", "create", "update", "delete", "query"] + ) + """The hardware type of the target SKU.""" + sql_purchasing_model: Optional[str] = rest_field( + name="sqlPurchasingModel", visibility=["read", "create", "update", "delete", "query"] + ) + """The SQL purchasing model of the target SKU.""" + sql_service_tier: Optional[str] = rest_field( + name="sqlServiceTier", visibility=["read", "create", "update", "delete", "query"] + ) + """The SQL service tier of the target SKU.""" + zone_redundancy_available: Optional[bool] = rest_field( + name="zoneRedundancyAvailable", visibility=["read", "create", "update", "delete", "query"] + ) + """Indicates if zone redundancy is available for the target SKU.""" + + @overload + def __init__( + self, + *, + compute_tier: Optional[str] = None, + hardware_type: Optional[str] = None, + sql_purchasing_model: Optional[str] = None, + sql_service_tier: Optional[str] = None, + zone_redundancy_available: Optional[bool] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsAzureSqlVirtualMachine(_Model): # pylint: disable=name-too-long + """SKU Recommendation results for Azure SQL Virtual Machine. + + :ivar recommendation_status: The target recommendation Status for this database. Known values + are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :ivar number_of_server_blocker_issues: Number of blocker issues to fix before migrating to the + target platform. + :vartype number_of_server_blocker_issues: int + :ivar monthly_cost: The monthly cost of the particular SKU. + :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :ivar monthly_cost_options: The monthly cost for all different savings options applicable for + the particular SKU. + :vartype monthly_cost_options: + list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] + :ivar target_sku: + :vartype target_sku: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku + """ + + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = rest_field( + name="recommendationStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The target recommendation Status for this database. Known values are: \"NotReady\", \"Ready\", + \"ReadyWithConditions\", and \"Unknown\".""" + number_of_server_blocker_issues: Optional[int] = rest_field( + name="numberOfServerBlockerIssues", visibility=["read", "create", "update", "delete", "query"] + ) + """Number of blocker issues to fix before migrating to the target platform.""" + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = rest_field( + name="monthlyCost", visibility=["read", "create", "update", "delete", "query"] + ) + """The monthly cost of the particular SKU.""" + monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = rest_field( + name="monthlyCostOptions", visibility=["read"] + ) + """The monthly cost for all different savings options applicable for the particular SKU.""" + target_sku: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku"] = rest_field( + name="targetSku", visibility=["read", "create", "update", "delete", "query"] + ) + + @overload + def __init__( + self, + *, + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, + number_of_server_blocker_issues: Optional[int] = None, + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, + target_sku: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsAzureSqlVirtualMachineTargetSku(_Model): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlVirtualMachineTargetSku. + + :ivar category: + :vartype category: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory + :ivar compute_size: Compute Size in vCores. + :vartype compute_size: int + :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_data_size_in_mb: float + :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_log_size_in_mb: float + :ivar virtual_machine_size: size parameters for VM size. + :vartype virtual_machine_size: + ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize + :ivar data_disk_sizes: Data disk sizes. + :vartype data_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] + :ivar log_disk_sizes: Log disk sizes. + :vartype log_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] + :ivar temp_db_disk_sizes: temp db disk sizes. + :vartype temp_db_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] + """ + + category: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + compute_size: Optional[int] = rest_field( + name="computeSize", visibility=["read", "create", "update", "delete", "query"] + ) + """Compute Size in vCores.""" + predicted_data_size_in_mb: Optional[float] = rest_field( + name="predictedDataSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """The predicted data size in MB in Azure SQL, will impact the billing cost.""" + predicted_log_size_in_mb: Optional[float] = rest_field( + name="predictedLogSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """The predicted log size in MB in Azure SQL, will impact the billing cost.""" + virtual_machine_size: Optional[ + "_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize" + ] = rest_field(name="virtualMachineSize", visibility=["read", "create", "update", "delete", "query"]) + """size parameters for VM size.""" + data_disk_sizes: Optional[list["_models.DiskSizes"]] = rest_field( + name="dataDiskSizes", visibility=["read", "create", "update", "delete", "query"] + ) + """Data disk sizes.""" + log_disk_sizes: Optional[list["_models.DiskSizes"]] = rest_field( + name="logDiskSizes", visibility=["read", "create", "update", "delete", "query"] + ) + """Log disk sizes.""" + temp_db_disk_sizes: Optional[list["_models.DiskSizes"]] = rest_field( + name="tempDbDiskSizes", visibility=["read", "create", "update", "delete", "query"] + ) + """temp db disk sizes.""" + + @overload + def __init__( + self, + *, + category: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory"] = None, + compute_size: Optional[int] = None, + predicted_data_size_in_mb: Optional[float] = None, + predicted_log_size_in_mb: Optional[float] = None, + virtual_machine_size: Optional[ + "_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize" + ] = None, + data_disk_sizes: Optional[list["_models.DiskSizes"]] = None, + log_disk_sizes: Optional[list["_models.DiskSizes"]] = None, + temp_db_disk_sizes: Optional[list["_models.DiskSizes"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory(_Model): # pylint: disable=name-too-long + """SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory. + + :ivar available_vm_skus: Available VM SKUs for the Azure SQL Virtual Machine. + :vartype available_vm_skus: list[str] + :ivar virtual_machine_family: The virtual machine family of the target SKU. + :vartype virtual_machine_family: str + """ + + available_vm_skus: Optional[list[str]] = rest_field( + name="availableVmSkus", visibility=["read", "create", "update", "delete", "query"] + ) + """Available VM SKUs for the Azure SQL Virtual Machine.""" + virtual_machine_family: Optional[str] = rest_field( + name="virtualMachineFamily", visibility=["read", "create", "update", "delete", "query"] + ) + """The virtual machine family of the target SKU.""" + + @overload + def __init__( + self, + *, + available_vm_skus: Optional[list[str]] = None, + virtual_machine_family: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize( + _Model +): # pylint: disable=name-too-long + """size parameters for VM size. + + :ivar virtual_machine_family: Virtual Machine Family, for example : standardMSFamily. + :vartype virtual_machine_family: str + :ivar size_name: VM Size, for example : M64ls. + :vartype size_name: str + :ivar compute_size: Compute Size in vCores. + :vartype compute_size: int + :ivar azure_sku_name: Virtual Machine SKU name,: Eg : Standard_F16s. + :vartype azure_sku_name: str + :ivar v_cpus_available: Available vCores. This can be less than the vCores in the Constrained + vCPU VM Sizes. + :vartype v_cpus_available: int + :ivar max_network_interfaces: maximum network interfaces. + :vartype max_network_interfaces: int + """ + + virtual_machine_family: Optional[str] = rest_field( + name="virtualMachineFamily", visibility=["read", "create", "update", "delete", "query"] + ) + """Virtual Machine Family, for example : standardMSFamily.""" + size_name: Optional[str] = rest_field(name="sizeName", visibility=["read", "create", "update", "delete", "query"]) + """VM Size, for example : M64ls.""" + compute_size: Optional[int] = rest_field( + name="computeSize", visibility=["read", "create", "update", "delete", "query"] + ) + """Compute Size in vCores.""" + azure_sku_name: Optional[str] = rest_field( + name="azureSkuName", visibility=["read", "create", "update", "delete", "query"] + ) + """Virtual Machine SKU name,: Eg : Standard_F16s.""" + v_cpus_available: Optional[int] = rest_field( + name="vCPUsAvailable", visibility=["read", "create", "update", "delete", "query"] + ) + """Available vCores. This can be less than the vCores in the Constrained vCPU VM Sizes.""" + max_network_interfaces: Optional[int] = rest_field( + name="maxNetworkInterfaces", visibility=["read", "create", "update", "delete", "query"] + ) + """maximum network interfaces.""" + + @overload + def __init__( + self, + *, + virtual_machine_family: Optional[str] = None, + size_name: Optional[str] = None, + compute_size: Optional[int] = None, + azure_sku_name: Optional[str] = None, + v_cpus_available: Optional[int] = None, + max_network_interfaces: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsMonthlyCost(_Model): + """The monthly cost of the particular SKU. + + :ivar compute_cost: Represents the Cost of Compute. + :vartype compute_cost: float + :ivar storage_cost: Represents the Cost of Storage. + :vartype storage_cost: float + :ivar iops_cost: Represents the Cost of IOPS. + :vartype iops_cost: float + :ivar sql_license_cost: Represents the Cost of SQL license. + :vartype sql_license_cost: float + :ivar windows_license_cost: Represents the Cost of Windows license. + :vartype windows_license_cost: float + :ivar total_cost: Represents the Total Cost. + :vartype total_cost: float + """ + + compute_cost: Optional[float] = rest_field( + name="computeCost", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents the Cost of Compute.""" + storage_cost: Optional[float] = rest_field( + name="storageCost", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents the Cost of Storage.""" + iops_cost: Optional[float] = rest_field(name="iopsCost", visibility=["read", "create", "update", "delete", "query"]) + """Represents the Cost of IOPS.""" + sql_license_cost: Optional[float] = rest_field( + name="sqlLicenseCost", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents the Cost of SQL license.""" + windows_license_cost: Optional[float] = rest_field( + name="windowsLicenseCost", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents the Cost of Windows license.""" + total_cost: Optional[float] = rest_field( + name="totalCost", visibility=["read", "create", "update", "delete", "query"] + ) + """Represents the Total Cost.""" + + @overload + def __init__( + self, + *, + compute_cost: Optional[float] = None, + storage_cost: Optional[float] = None, + iops_cost: Optional[float] = None, + sql_license_cost: Optional[float] = None, + windows_license_cost: Optional[float] = None, + total_cost: Optional[float] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationResultsMonthlyCostOptionItem(_Model): # pylint: disable=name-too-long + """The monthly cost values for this saving option combination for the particular SKU. + + :ivar key_name: The unique combination of saving options for a price e.g. With1YearASPAndProd. + :vartype key_name: str + :ivar key_value: The Monthly cost of the particular SKU. + :vartype key_value: ~azure.mgmt.azurearcdata.models.CostTypeValues + """ + + key_name: Optional[str] = rest_field(name="keyName", visibility=["read", "create", "update", "delete", "query"]) + """The unique combination of saving options for a price e.g. With1YearASPAndProd.""" + key_value: Optional["_models.CostTypeValues"] = rest_field( + name="keyValue", visibility=["read", "create", "update", "delete", "query"] + ) + """The Monthly cost of the particular SKU.""" + + @overload + def __init__( + self, + *, + key_name: Optional[str] = None, + key_value: Optional["_models.CostTypeValues"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationSummary(_Model): + """The SKU recommendation summary. + + :ivar num_of_blocker_issues: Number of blocker issues to fix before migrating this database to + the target platform. + :vartype num_of_blocker_issues: int + :ivar recommendation_status: The target recommendation Status for this database. Known values + are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". + :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus + :ivar impacted_objects_summary: + :vartype impacted_objects_summary: list[~azure.mgmt.azurearcdata.models.ImpactedObjectsInfo] + :ivar monthly_cost: The monthly cost of the particular SKU. + :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost + :ivar monthly_cost_options: The monthly cost for all different savings options applicable for + the particular SKU. + :vartype monthly_cost_options: + list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] + :ivar target_sku: + :vartype target_sku: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSku + """ + + num_of_blocker_issues: Optional[int] = rest_field( + name="numOfBlockerIssues", visibility=["read", "create", "update", "delete", "query"] + ) + """Number of blocker issues to fix before migrating this database to the target platform.""" + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = rest_field( + name="recommendationStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The target recommendation Status for this database. Known values are: \"NotReady\", \"Ready\", + \"ReadyWithConditions\", and \"Unknown\".""" + impacted_objects_summary: Optional[list["_models.ImpactedObjectsInfo"]] = rest_field( + name="impactedObjectsSummary", visibility=["read"] + ) + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = rest_field( + name="monthlyCost", visibility=["read", "create", "update", "delete", "query"] + ) + """The monthly cost of the particular SKU.""" + monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = rest_field( + name="monthlyCostOptions", visibility=["read"] + ) + """The monthly cost for all different savings options applicable for the particular SKU.""" + target_sku: Optional["_models.SkuRecommendationSummaryTargetSku"] = rest_field( + name="targetSku", visibility=["read", "create", "update", "delete", "query"] + ) + + @overload + def __init__( + self, + *, + num_of_blocker_issues: Optional[int] = None, + recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, + monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, + target_sku: Optional["_models.SkuRecommendationSummaryTargetSku"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationSummaryTargetSku(_Model): + """SkuRecommendationSummaryTargetSku. + + :ivar category: + :vartype category: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSkuCategory + :ivar compute_size: Compute Size in vCores. + :vartype compute_size: int + :ivar storage_max_size_in_mb: max storage for this particular SKU, in MB. + :vartype storage_max_size_in_mb: float + :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_data_size_in_mb: float + :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the + billing cost. + :vartype predicted_log_size_in_mb: float + :ivar max_storage_iops: The max storage IOPS in Azure SQL, will impact the billing cost. + :vartype max_storage_iops: float + :ivar max_throughput_m_bps: The max throughput in Azure SQL, will impact the billing cost. + :vartype max_throughput_m_bps: float + """ + + category: Optional["_models.SkuRecommendationSummaryTargetSkuCategory"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + compute_size: Optional[int] = rest_field( + name="computeSize", visibility=["read", "create", "update", "delete", "query"] + ) + """Compute Size in vCores.""" + storage_max_size_in_mb: Optional[float] = rest_field( + name="storageMaxSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """max storage for this particular SKU, in MB.""" + predicted_data_size_in_mb: Optional[float] = rest_field( + name="predictedDataSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """The predicted data size in MB in Azure SQL, will impact the billing cost.""" + predicted_log_size_in_mb: Optional[float] = rest_field( + name="predictedLogSizeInMb", visibility=["read", "create", "update", "delete", "query"] + ) + """The predicted log size in MB in Azure SQL, will impact the billing cost.""" + max_storage_iops: Optional[float] = rest_field( + name="maxStorageIops", visibility=["read", "create", "update", "delete", "query"] + ) + """The max storage IOPS in Azure SQL, will impact the billing cost.""" + max_throughput_m_bps: Optional[float] = rest_field( + name="maxThroughputMBps", visibility=["read", "create", "update", "delete", "query"] + ) + """The max throughput in Azure SQL, will impact the billing cost.""" + + @overload + def __init__( + self, + *, + category: Optional["_models.SkuRecommendationSummaryTargetSkuCategory"] = None, + compute_size: Optional[int] = None, + storage_max_size_in_mb: Optional[float] = None, + predicted_data_size_in_mb: Optional[float] = None, + predicted_log_size_in_mb: Optional[float] = None, + max_storage_iops: Optional[float] = None, + max_throughput_m_bps: Optional[float] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SkuRecommendationSummaryTargetSkuCategory(_Model): # pylint: disable=name-too-long + """SkuRecommendationSummaryTargetSkuCategory. + + :ivar compute_tier: The compute tier of the target SKU. + :vartype compute_tier: str + :ivar hardware_type: The hardware type of the target SKU. + :vartype hardware_type: str + :ivar sql_purchasing_model: The SQL purchasing model of the target SKU. + :vartype sql_purchasing_model: str + :ivar sql_service_tier: The SQL service tier of the target SKU. + :vartype sql_service_tier: str + :ivar zone_redundancy_available: Indicates if zone redundancy is available for the target SKU. + :vartype zone_redundancy_available: bool + """ + + compute_tier: Optional[str] = rest_field( + name="computeTier", visibility=["read", "create", "update", "delete", "query"] + ) + """The compute tier of the target SKU.""" + hardware_type: Optional[str] = rest_field( + name="hardwareType", visibility=["read", "create", "update", "delete", "query"] + ) + """The hardware type of the target SKU.""" + sql_purchasing_model: Optional[str] = rest_field( + name="sqlPurchasingModel", visibility=["read", "create", "update", "delete", "query"] + ) + """The SQL purchasing model of the target SKU.""" + sql_service_tier: Optional[str] = rest_field( + name="sqlServiceTier", visibility=["read", "create", "update", "delete", "query"] + ) + """The SQL service tier of the target SKU.""" + zone_redundancy_available: Optional[bool] = rest_field( + name="zoneRedundancyAvailable", visibility=["read", "create", "update", "delete", "query"] + ) + """Indicates if zone redundancy is available for the target SKU.""" + + @overload + def __init__( + self, + *, + compute_tier: Optional[str] = None, + hardware_type: Optional[str] = None, + sql_purchasing_model: Optional[str] = None, + sql_service_tier: Optional[str] = None, + zone_redundancy_available: Optional[bool] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlAvailabilityGroupDatabaseReplicaResourceProperties(_Model): # pylint: disable=name-too-long + """The properties of Arc Sql availability group database replica resource. + + :ivar database_name: the database name. + :vartype database_name: str + :ivar replica_name: the database replica name. + :vartype replica_name: str + :ivar is_local: Whether the availability database is local. + :vartype is_local: bool + :ivar is_primary_replica: Returns 1 if the replica is primary, or 0 if it is a secondary + replica. + :vartype is_primary_replica: bool + :ivar synchronization_state_description: Description of the data-movement state. + :vartype synchronization_state_description: str + :ivar is_commit_participant: Whether this replica is transaction committer. + :vartype is_commit_participant: bool + :ivar synchronization_health_description: Description of the health of database. + :vartype synchronization_health_description: str + :ivar database_state_description: Description of the database state of the availability + replica. + :vartype database_state_description: str + :ivar is_suspended: Whether this data movement is suspended. + :vartype is_suspended: bool + :ivar suspend_reason_description: Description of the database suspended state reason. + :vartype suspend_reason_description: str + """ + + database_name: Optional[str] = rest_field( + name="databaseName", visibility=["read", "create", "update", "delete", "query"] + ) + """the database name.""" + replica_name: Optional[str] = rest_field(name="replicaName", visibility=["read"]) + """the database replica name.""" + is_local: Optional[bool] = rest_field(name="isLocal", visibility=["read"]) + """Whether the availability database is local.""" + is_primary_replica: Optional[bool] = rest_field(name="isPrimaryReplica", visibility=["read"]) + """Returns 1 if the replica is primary, or 0 if it is a secondary replica.""" + synchronization_state_description: Optional[str] = rest_field( + name="synchronizationStateDescription", visibility=["read"] + ) + """Description of the data-movement state.""" + is_commit_participant: Optional[bool] = rest_field(name="isCommitParticipant", visibility=["read"]) + """Whether this replica is transaction committer.""" + synchronization_health_description: Optional[str] = rest_field( + name="synchronizationHealthDescription", visibility=["read"] + ) + """Description of the health of database.""" + database_state_description: Optional[str] = rest_field(name="databaseStateDescription", visibility=["read"]) + """Description of the database state of the availability replica.""" + is_suspended: Optional[bool] = rest_field(name="isSuspended", visibility=["read"]) + """Whether this data movement is suspended.""" + suspend_reason_description: Optional[str] = rest_field(name="suspendReasonDescription", visibility=["read"]) + """Description of the database suspended state reason.""" + + @overload + def __init__( + self, + *, + database_name: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem(_Model): # pylint: disable=name-too-long + """SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem. + + :ivar ip_address: IPV4 address. + :vartype ip_address: str + :ivar mask: IPV4 netmask. + :vartype mask: str + """ + + ip_address: Optional[str] = rest_field(name="ipAddress", visibility=["read", "create", "update", "delete", "query"]) + """IPV4 address.""" + mask: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """IPV4 netmask.""" + + @overload + def __init__( + self, + *, + ip_address: Optional[str] = None, + mask: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlAvailabilityGroupReplicaResourceProperties(_Model): # pylint: disable=name-too-long + """The properties of Arc Sql availability group replica resource. + + :ivar replica_id: ID GUID of the availability group. + :vartype replica_id: str + :ivar replica_name: The replica name. + :vartype replica_name: str + :ivar replica_resource_id: Resource id of this replica. This is required for a distributed + availability group, in which case it describes the location of the availability group that + hosts one replica in the DAG. In a non-distributed availability group this field is optional + but can be used to store the Azure resource id for AG. + :vartype replica_resource_id: str + :ivar configure: null. + :vartype configure: ~azure.mgmt.azurearcdata.models.AvailabilityGroupConfigure + :ivar state: null. + :vartype state: ~azure.mgmt.azurearcdata.models.AvailabilityGroupState + """ + + replica_id: Optional[str] = rest_field(name="replicaId", visibility=["read"]) + """ID GUID of the availability group.""" + replica_name: Optional[str] = rest_field( + name="replicaName", visibility=["read", "create", "update", "delete", "query"] + ) + """The replica name.""" + replica_resource_id: Optional[str] = rest_field( + name="replicaResourceId", visibility=["read", "create", "update", "delete", "query"] + ) + """Resource id of this replica. This is required for a distributed availability group, in which + case it describes the location of the availability group that hosts one replica in the DAG. In + a non-distributed availability group this field is optional but can be used to store the Azure + resource id for AG.""" + configure: Optional["_models.AvailabilityGroupConfigure"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null.""" + state: Optional["_models.AvailabilityGroupState"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null.""" + + @overload + def __init__( + self, + *, + replica_name: Optional[str] = None, + replica_resource_id: Optional[str] = None, + configure: Optional["_models.AvailabilityGroupConfigure"] = None, + state: Optional["_models.AvailabilityGroupState"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlAvailabilityGroupStaticIPListenerProperties(_Model): # pylint: disable=name-too-long + """The properties of a static IP Arc Sql availability group listener. + + :ivar dns_name: the DNS name for the listener. + :vartype dns_name: str + :ivar ip_v4_addresses_and_masks: IP V4 Addresses and masks for the listener. + :vartype ip_v4_addresses_and_masks: + list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem] + :ivar ip_v6_addresses: IP V6 Addresses for the listener. + :vartype ip_v6_addresses: list[str] + :ivar port: Network port for the listener. Default is 1433. + :vartype port: int + """ + + dns_name: Optional[str] = rest_field(name="dnsName", visibility=["read", "create", "update", "delete", "query"]) + """the DNS name for the listener.""" + ip_v4_addresses_and_masks: Optional[list["_models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem"]] = ( + rest_field(name="ipV4AddressesAndMasks", visibility=["read", "create", "update", "delete", "query"]) + ) + """IP V4 Addresses and masks for the listener.""" + ip_v6_addresses: Optional[list[str]] = rest_field( + name="ipV6Addresses", visibility=["read", "create", "update", "delete", "query"] + ) + """IP V6 Addresses for the listener.""" + port: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Network port for the listener. Default is 1433.""" + + @overload + def __init__( + self, + *, + dns_name: Optional[str] = None, + ip_v4_addresses_and_masks: Optional[ + list["_models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem"] + ] = None, + ip_v6_addresses: Optional[list[str]] = None, + port: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlManagedInstance(TrackedResource): + """A SqlManagedInstance. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: null. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties + :ivar extended_location: The extendedLocation of the resource. + :vartype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation + :ivar sku: Resource sku. + :vartype sku: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSku + """ + + properties: "_models.SqlManagedInstanceProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null. Required.""" + extended_location: Optional["_models.ExtendedLocation"] = rest_field( + name="extendedLocation", visibility=["read", "create", "update", "delete", "query"] + ) + """The extendedLocation of the resource.""" + sku: Optional["_models.SqlManagedInstanceSku"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Resource sku.""" + + @overload + def __init__( + self, + *, + location: str, + properties: "_models.SqlManagedInstanceProperties", + tags: Optional[dict[str, str]] = None, + extended_location: Optional["_models.ExtendedLocation"] = None, + sku: Optional["_models.SqlManagedInstanceSku"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlManagedInstanceK8sRaw(_Model): + """The raw kubernetes information. + + :ivar spec: The kubernetes spec information. + :vartype spec: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8sSpec + """ + + spec: Optional["_models.SqlManagedInstanceK8sSpec"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The kubernetes spec information.""" + + @overload + def __init__( + self, + *, + spec: Optional["_models.SqlManagedInstanceK8sSpec"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlManagedInstanceK8sSpec(_Model): + """The kubernetes spec information. + + :ivar scheduling: The kubernetes scheduling information. + :vartype scheduling: ~azure.mgmt.azurearcdata.models.K8sScheduling + :ivar replicas: This option specifies the number of SQL Managed Instance replicas that will be + deployed in your Kubernetes cluster for high availability purposes. If sku.tier is + BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is + GeneralPurpose, replicas must be '1'. + :vartype replicas: int + :ivar security: The kubernetes security information. + :vartype security: ~azure.mgmt.azurearcdata.models.K8sSecurity + :ivar settings: The kubernetes settings information. + :vartype settings: ~azure.mgmt.azurearcdata.models.K8sSettings + """ + + scheduling: Optional["_models.K8sScheduling"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The kubernetes scheduling information.""" + replicas: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """This option specifies the number of SQL Managed Instance replicas that will be deployed in your + Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed + values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'.""" + security: Optional["_models.K8sSecurity"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The kubernetes security information.""" + settings: Optional["_models.K8sSettings"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The kubernetes settings information.""" + + @overload + def __init__( + self, + *, + scheduling: Optional["_models.K8sScheduling"] = None, + replicas: Optional[int] = None, + security: Optional["_models.K8sSecurity"] = None, + settings: Optional["_models.K8sSettings"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlManagedInstanceProperties(_Model): + """Properties of sqlManagedInstance. + + :ivar data_controller_id: null. + :vartype data_controller_id: str + :ivar admin: The instance admin user. + :vartype admin: str + :ivar start_time: The instance start time. + :vartype start_time: str + :ivar end_time: The instance end time. + :vartype end_time: str + :ivar k8_s_raw: The raw kubernetes information. + :vartype k8_s_raw: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8sRaw + :ivar basic_login_information: Username and password for basic authentication. + :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation + :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date + time. + :vartype last_uploaded_date: ~datetime.datetime + :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Managed Instance + resource. + :vartype provisioning_state: str + :ivar active_directory_information: Active Directory information related to this SQL Managed + Instance. + :vartype active_directory_information: + ~azure.mgmt.azurearcdata.models.ActiveDirectoryInformation + :ivar license_type: The license type to apply for this managed instance. Known values are: + "BasePrice", "LicenseIncluded", and "DisasterRecovery". + :vartype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType + :ivar cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected + cluster the custom location belongs to. + :vartype cluster_id: str + :ivar extension_id: If a CustomLocation is provided, this contains the ARM id of the extension + the custom location belongs to. + :vartype extension_id: str + """ + + data_controller_id: Optional[str] = rest_field( + name="dataControllerId", visibility=["read", "create", "update", "delete", "query"] + ) + """null.""" + admin: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The instance admin user.""" + start_time: Optional[str] = rest_field(name="startTime", visibility=["read", "create", "update", "delete", "query"]) + """The instance start time.""" + end_time: Optional[str] = rest_field(name="endTime", visibility=["read", "create", "update", "delete", "query"]) + """The instance end time.""" + k8_s_raw: Optional["_models.SqlManagedInstanceK8sRaw"] = rest_field( + name="k8sRaw", visibility=["read", "create", "update", "delete", "query"] + ) + """The raw kubernetes information.""" + basic_login_information: Optional["_models.BasicLoginInformation"] = rest_field( + name="basicLoginInformation", visibility=["read", "create", "update", "delete", "query"] + ) + """Username and password for basic authentication.""" + last_uploaded_date: Optional[datetime.datetime] = rest_field( + name="lastUploadedDate", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Last uploaded date from Kubernetes cluster. Defaults to current date time.""" + provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) + """The provisioning state of the Arc-enabled SQL Managed Instance resource.""" + active_directory_information: Optional["_models.ActiveDirectoryInformation"] = rest_field( + name="activeDirectoryInformation", visibility=["read", "create", "update", "delete", "query"] + ) + """Active Directory information related to this SQL Managed Instance.""" + license_type: Optional[Union[str, "_models.ArcSqlManagedInstanceLicenseType"]] = rest_field( + name="licenseType", visibility=["read", "create", "update", "delete", "query"] + ) + """The license type to apply for this managed instance. Known values are: \"BasePrice\", + \"LicenseIncluded\", and \"DisasterRecovery\".""" + cluster_id: Optional[str] = rest_field(name="clusterId", visibility=["read", "create", "update", "delete", "query"]) + """If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom + location belongs to.""" + extension_id: Optional[str] = rest_field( + name="extensionId", visibility=["read", "create", "update", "delete", "query"] + ) + """If a CustomLocation is provided, this contains the ARM id of the extension the custom location + belongs to.""" + + @overload + def __init__( + self, + *, + data_controller_id: Optional[str] = None, + admin: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + k8_s_raw: Optional["_models.SqlManagedInstanceK8sRaw"] = None, + basic_login_information: Optional["_models.BasicLoginInformation"] = None, + last_uploaded_date: Optional[datetime.datetime] = None, + active_directory_information: Optional["_models.ActiveDirectoryInformation"] = None, + license_type: Optional[Union[str, "_models.ArcSqlManagedInstanceLicenseType"]] = None, + cluster_id: Optional[str] = None, + extension_id: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlManagedInstanceSku(_Model): + """The resource model definition representing SKU for Azure Managed Instance - Azure Arc. + + :ivar name: The name of the SKU. Required. Default value is "vCore". + :vartype name: str + :ivar tier: The pricing tier for the instance. Known values are: "GeneralPurpose" and + "BusinessCritical". + :vartype tier: str or ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSkuTier + :ivar dev: Whether dev/test is enabled. When the dev field is set to true, the resource is used + for dev/test purpose. + :vartype dev: bool + :ivar size: The SKU size. When the name field is the combination of tier and some other value, + this would be the standalone code. + :vartype size: str + :ivar family: The SKU family. + :vartype family: str + :ivar capacity: The SKU capacity. + :vartype capacity: int + """ + + name: Literal["vCore"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The name of the SKU. Required. Default value is \"vCore\".""" + tier: Optional[Union[str, "_models.SqlManagedInstanceSkuTier"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The pricing tier for the instance. Known values are: \"GeneralPurpose\" and + \"BusinessCritical\".""" + dev: Optional[bool] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Whether dev/test is enabled. When the dev field is set to true, the resource is used for + dev/test purpose.""" + size: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The SKU size. When the name field is the combination of tier and some other value, this would + be the standalone code.""" + family: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The SKU family.""" + capacity: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The SKU capacity.""" + + @overload + def __init__( + self, + *, + tier: Optional[Union[str, "_models.SqlManagedInstanceSkuTier"]] = None, + dev: Optional[bool] = None, + size: Optional[str] = None, + family: Optional[str] = None, + capacity: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + self.name: Literal["vCore"] = "vCore" + + +class SqlManagedInstanceUpdate(_Model): + """An update to a SQL Managed Instance. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + + @overload + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerAvailabilityGroupResource(TrackedResource): + """Arc Sql Server Availability Group. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: Properties of Arc Sql Server availability group. Required. + :vartype properties: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties + """ + + properties: "_models.SqlServerAvailabilityGroupResourceProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Properties of Arc Sql Server availability group. Required.""" + + @overload + def __init__( + self, + *, + location: str, + properties: "_models.SqlServerAvailabilityGroupResourceProperties", + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerAvailabilityGroupResourceProperties(_Model): # pylint: disable=name-too-long + """The properties of Arc Sql Server availability group resource. + + :ivar availability_group_id: ID GUID of the availability group. + :vartype availability_group_id: str + :ivar server_name: the SQL server name. + :vartype server_name: str + :ivar instance_name: the SQL Server Instance name. + :vartype instance_name: str + :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. + :vartype vm_id: str + :ivar collection_timestamp: Timestamp for when the data was collected from the client machine. + :vartype collection_timestamp: ~datetime.datetime + :ivar info: Availability Group Info. + :vartype info: ~azure.mgmt.azurearcdata.models.AvailabilityGroupInfo + :ivar replicas: A list of Availability Group Replicas. + :vartype replicas: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesReplicas + :ivar databases: A list of Availability Group Database Replicas. + :vartype databases: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesDatabases + :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server availability + group resource. + :vartype provisioning_state: str + """ + + availability_group_id: Optional[str] = rest_field(name="availabilityGroupId", visibility=["read"]) + """ID GUID of the availability group.""" + server_name: Optional[str] = rest_field(name="serverName", visibility=["read"]) + """the SQL server name.""" + instance_name: Optional[str] = rest_field(name="instanceName", visibility=["read"]) + """the SQL Server Instance name.""" + vm_id: Optional[str] = rest_field(name="vmId", visibility=["read"]) + """The unique ID of the hybrid machine that this resource belongs to.""" + collection_timestamp: Optional[datetime.datetime] = rest_field( + name="collectionTimestamp", visibility=["read"], format="rfc3339" + ) + """Timestamp for when the data was collected from the client machine.""" + info: Optional["_models.AvailabilityGroupInfo"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Availability Group Info.""" + replicas: Optional["_models.SqlServerAvailabilityGroupResourcePropertiesReplicas"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """A list of Availability Group Replicas.""" + databases: Optional["_models.SqlServerAvailabilityGroupResourcePropertiesDatabases"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """A list of Availability Group Database Replicas.""" + provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) + """The provisioning state of the Arc-enabled SQL Server availability group resource.""" + + @overload + def __init__( + self, + *, + info: Optional["_models.AvailabilityGroupInfo"] = None, + replicas: Optional["_models.SqlServerAvailabilityGroupResourcePropertiesReplicas"] = None, + databases: Optional["_models.SqlServerAvailabilityGroupResourcePropertiesDatabases"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerAvailabilityGroupResourcePropertiesDatabases(_Model): # pylint: disable=name-too-long + """A list of Availability Group Database Replicas. + + :ivar value: Array of Availability Group Database Replicas. + :vartype value: + list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupDatabaseReplicaResourceProperties] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + value: Optional[list["_models.SqlAvailabilityGroupDatabaseReplicaResourceProperties"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Array of Availability Group Database Replicas.""" + next_link: Optional[str] = rest_field(name="nextLink", visibility=["read"]) + """Link to retrieve next page of results.""" + + @overload + def __init__( + self, + *, + value: Optional[list["_models.SqlAvailabilityGroupDatabaseReplicaResourceProperties"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerAvailabilityGroupResourcePropertiesReplicas(_Model): # pylint: disable=name-too-long + """A list of Availability Group Replicas. + + :ivar value: Array of Availability Group Replicas. + :vartype value: + list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupReplicaResourceProperties] + :ivar next_link: Link to retrieve next page of results. + :vartype next_link: str + """ + + value: Optional[list["_models.SqlAvailabilityGroupReplicaResourceProperties"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Array of Availability Group Replicas.""" + next_link: Optional[str] = rest_field(name="nextLink", visibility=["read"]) + """Link to retrieve next page of results.""" + + @overload + def __init__( + self, + *, + value: Optional[list["_models.SqlAvailabilityGroupReplicaResourceProperties"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerAvailabilityGroupUpdate(_Model): + """An update to availability group resource. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: The Server Availability Group's properties. + :vartype properties: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + properties: Optional["_models.SqlServerAvailabilityGroupResourceProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The Server Availability Group's properties.""" + + @overload + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerAvailabilityGroupResourceProperties"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerDatabaseResource(TrackedResource): + """Arc Sql Server database. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: Properties of Arc Sql Server database. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties + """ + + properties: "_models.SqlServerDatabaseResourceProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Properties of Arc Sql Server database. Required.""" + + @overload + def __init__( + self, + *, + location: str, + properties: "_models.SqlServerDatabaseResourceProperties", + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerDatabaseResourceProperties(_Model): + """The properties of Arc Sql Server database resource. + + :ivar collation_name: Collation of the database. + :vartype collation_name: str + :ivar database_creation_date: Creation date of the database. + :vartype database_creation_date: ~datetime.datetime + :ivar compatibility_level: Compatibility level of the database. + :vartype compatibility_level: int + :ivar size_mb: Size of the database. + :vartype size_mb: float + :ivar log_file_size_mb: Total size in MB for the log (ldf) files for this database. + :vartype log_file_size_mb: float + :ivar data_file_size_mb: Total size in MB for the data (mdf and ndf) files for this database. + :vartype data_file_size_mb: float + :ivar space_available_mb: Space left of the database. + :vartype space_available_mb: float + :ivar state: State of the database. Known values are: "Online", "Restoring", "Recovering", + "RecoveryPending", "Suspect", "Emergency", "Offline", "Copying", and "OfflineSecondary". + :vartype state: str or ~azure.mgmt.azurearcdata.models.DatabaseState + :ivar is_read_only: Whether the database is read only or not. + :vartype is_read_only: bool + :ivar recovery_mode: Status of the database. Known values are: "Full", "Bulk-logged", and + "Simple". + :vartype recovery_mode: str or ~azure.mgmt.azurearcdata.models.RecoveryMode + :ivar database_options: List of features that are enabled for the database. + :vartype database_options: + ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesDatabaseOptions + :ivar backup_information: + :vartype backup_information: + ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesBackupInformation + :ivar backup_policy: The backup profile for the SQL server. + :vartype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy + :ivar earliest_restore_date: This records the earliest start date and time that restore is + available for this database (ISO8601 format). + :vartype earliest_restore_date: ~datetime.datetime + :ivar create_mode: Database create mode. PointInTimeRestore: Create a database by restoring a + point in time backup of an existing database. sourceDatabaseId and restorePointInTime must be + specified. Known values are: "Default" and "PointInTimeRestore". + :vartype create_mode: str or ~azure.mgmt.azurearcdata.models.DatabaseCreateMode + :ivar source_database_id: The name of the source database associated with create operation of + this database. + :vartype source_database_id: str + :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. + :vartype vm_id: str + :ivar restore_point_in_time: Conditional. If createMode is PointInTimeRestore, this value is + required. Specifies the point in time (ISO8601 format) of the source database that will be + restored to create the new database. + :vartype restore_point_in_time: ~datetime.datetime + :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server database + resource. + :vartype provisioning_state: str + :ivar last_database_upload_time: The time when last successful database upload was performed. + :vartype last_database_upload_time: ~datetime.datetime + :ivar migration: Migration related configuration. + :vartype migration: ~azure.mgmt.azurearcdata.models.DataBaseMigration + """ + + collation_name: Optional[str] = rest_field(name="collationName", visibility=["read", "create"]) + """Collation of the database.""" + database_creation_date: Optional[datetime.datetime] = rest_field( + name="databaseCreationDate", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Creation date of the database.""" + compatibility_level: Optional[int] = rest_field( + name="compatibilityLevel", visibility=["read", "create", "update", "delete", "query"] + ) + """Compatibility level of the database.""" + size_mb: Optional[float] = rest_field(name="sizeMB", visibility=["read", "create", "update", "delete", "query"]) + """Size of the database.""" + log_file_size_mb: Optional[float] = rest_field( + name="logFileSizeMB", visibility=["read", "create", "update", "delete", "query"] + ) + """Total size in MB for the log (ldf) files for this database.""" + data_file_size_mb: Optional[float] = rest_field( + name="dataFileSizeMB", visibility=["read", "create", "update", "delete", "query"] + ) + """Total size in MB for the data (mdf and ndf) files for this database.""" + space_available_mb: Optional[float] = rest_field( + name="spaceAvailableMB", visibility=["read", "create", "update", "delete", "query"] + ) + """Space left of the database.""" + state: Optional[Union[str, "_models.DatabaseState"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """State of the database. Known values are: \"Online\", \"Restoring\", \"Recovering\", + \"RecoveryPending\", \"Suspect\", \"Emergency\", \"Offline\", \"Copying\", and + \"OfflineSecondary\".""" + is_read_only: Optional[bool] = rest_field( + name="isReadOnly", visibility=["read", "create", "update", "delete", "query"] + ) + """Whether the database is read only or not.""" + recovery_mode: Optional[Union[str, "_models.RecoveryMode"]] = rest_field( + name="recoveryMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Status of the database. Known values are: \"Full\", \"Bulk-logged\", and \"Simple\".""" + database_options: Optional["_models.SqlServerDatabaseResourcePropertiesDatabaseOptions"] = rest_field( + name="databaseOptions", visibility=["read", "create", "update", "delete", "query"] + ) + """List of features that are enabled for the database.""" + backup_information: Optional["_models.SqlServerDatabaseResourcePropertiesBackupInformation"] = rest_field( + name="backupInformation", visibility=["read", "create", "update", "delete", "query"] + ) + backup_policy: Optional["_models.BackupPolicy"] = rest_field( + name="backupPolicy", visibility=["read", "create", "update", "delete", "query"] + ) + """The backup profile for the SQL server.""" + earliest_restore_date: Optional[datetime.datetime] = rest_field( + name="earliestRestoreDate", visibility=["read"], format="rfc3339" + ) + """This records the earliest start date and time that restore is available for this database + (ISO8601 format).""" + create_mode: Optional[Union[str, "_models.DatabaseCreateMode"]] = rest_field( + name="createMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Database create mode. PointInTimeRestore: Create a database by restoring a point in time backup + of an existing database. sourceDatabaseId and restorePointInTime must be specified. Known + values are: \"Default\" and \"PointInTimeRestore\".""" + source_database_id: Optional[str] = rest_field( + name="sourceDatabaseId", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the source database associated with create operation of this database.""" + vm_id: Optional[str] = rest_field(name="vmId", visibility=["read"]) + """The unique ID of the hybrid machine that this resource belongs to.""" + restore_point_in_time: Optional[datetime.datetime] = rest_field( + name="restorePointInTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point + in time (ISO8601 format) of the source database that will be restored to create the new + database.""" + provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) + """The provisioning state of the Arc-enabled SQL Server database resource.""" + last_database_upload_time: Optional[datetime.datetime] = rest_field( + name="lastDatabaseUploadTime", visibility=["read"], format="rfc3339" + ) + """The time when last successful database upload was performed.""" + migration: Optional["_models.DataBaseMigration"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Migration related configuration.""" + + @overload + def __init__( + self, + *, + collation_name: Optional[str] = None, + database_creation_date: Optional[datetime.datetime] = None, + compatibility_level: Optional[int] = None, + size_mb: Optional[float] = None, + log_file_size_mb: Optional[float] = None, + data_file_size_mb: Optional[float] = None, + space_available_mb: Optional[float] = None, + state: Optional[Union[str, "_models.DatabaseState"]] = None, + is_read_only: Optional[bool] = None, + recovery_mode: Optional[Union[str, "_models.RecoveryMode"]] = None, + database_options: Optional["_models.SqlServerDatabaseResourcePropertiesDatabaseOptions"] = None, + backup_information: Optional["_models.SqlServerDatabaseResourcePropertiesBackupInformation"] = None, + backup_policy: Optional["_models.BackupPolicy"] = None, + create_mode: Optional[Union[str, "_models.DatabaseCreateMode"]] = None, + source_database_id: Optional[str] = None, + restore_point_in_time: Optional[datetime.datetime] = None, + migration: Optional["_models.DataBaseMigration"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerDatabaseResourcePropertiesBackupInformation(_Model): # pylint: disable=name-too-long + """SqlServerDatabaseResourcePropertiesBackupInformation. + + :ivar last_full_backup: Date time of last full backup. + :vartype last_full_backup: ~datetime.datetime + :ivar last_log_backup: Date time of last log backup. + :vartype last_log_backup: ~datetime.datetime + """ + + last_full_backup: Optional[datetime.datetime] = rest_field( + name="lastFullBackup", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Date time of last full backup.""" + last_log_backup: Optional[datetime.datetime] = rest_field( + name="lastLogBackup", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Date time of last log backup.""" + + @overload + def __init__( + self, + *, + last_full_backup: Optional[datetime.datetime] = None, + last_log_backup: Optional[datetime.datetime] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerDatabaseResourcePropertiesDatabaseOptions(_Model): # pylint: disable=name-too-long + """List of features that are enabled for the database. + + :ivar is_auto_close_on: + :vartype is_auto_close_on: bool + :ivar is_auto_shrink_on: + :vartype is_auto_shrink_on: bool + :ivar is_auto_create_stats_on: + :vartype is_auto_create_stats_on: bool + :ivar is_auto_update_stats_on: + :vartype is_auto_update_stats_on: bool + :ivar is_remote_data_archive_enabled: + :vartype is_remote_data_archive_enabled: bool + :ivar is_memory_optimization_enabled: + :vartype is_memory_optimization_enabled: bool + :ivar is_encrypted: + :vartype is_encrypted: bool + :ivar is_trustworthy_on: + :vartype is_trustworthy_on: bool + :ivar is_hekaton_files_on: Whether the database uses the In-Memory OLTP feature for storing + in-memory objects. + :vartype is_hekaton_files_on: bool + :ivar number_of_hekaton_files: How many Hekaton files the DB has on disk, if it uses in-memory + OLTP objects. + :vartype number_of_hekaton_files: int + """ + + is_auto_close_on: Optional[bool] = rest_field( + name="isAutoCloseOn", visibility=["read", "create", "update", "delete", "query"] + ) + is_auto_shrink_on: Optional[bool] = rest_field( + name="isAutoShrinkOn", visibility=["read", "create", "update", "delete", "query"] + ) + is_auto_create_stats_on: Optional[bool] = rest_field( + name="isAutoCreateStatsOn", visibility=["read", "create", "update", "delete", "query"] + ) + is_auto_update_stats_on: Optional[bool] = rest_field( + name="isAutoUpdateStatsOn", visibility=["read", "create", "update", "delete", "query"] + ) + is_remote_data_archive_enabled: Optional[bool] = rest_field( + name="isRemoteDataArchiveEnabled", visibility=["read", "create", "update", "delete", "query"] + ) + is_memory_optimization_enabled: Optional[bool] = rest_field( + name="isMemoryOptimizationEnabled", visibility=["read", "create", "update", "delete", "query"] + ) + is_encrypted: Optional[bool] = rest_field( + name="isEncrypted", visibility=["read", "create", "update", "delete", "query"] + ) + is_trustworthy_on: Optional[bool] = rest_field( + name="isTrustworthyOn", visibility=["read", "create", "update", "delete", "query"] + ) + is_hekaton_files_on: Optional[bool] = rest_field( + name="isHekatonFilesOn", visibility=["read", "create", "update", "delete", "query"] + ) + """Whether the database uses the In-Memory OLTP feature for storing in-memory objects.""" + number_of_hekaton_files: Optional[int] = rest_field( + name="numberOfHekatonFiles", visibility=["read", "create", "update", "delete", "query"] + ) + """How many Hekaton files the DB has on disk, if it uses in-memory OLTP objects.""" + + @overload + def __init__( + self, + *, + is_auto_close_on: Optional[bool] = None, + is_auto_shrink_on: Optional[bool] = None, + is_auto_create_stats_on: Optional[bool] = None, + is_auto_update_stats_on: Optional[bool] = None, + is_remote_data_archive_enabled: Optional[bool] = None, + is_memory_optimization_enabled: Optional[bool] = None, + is_encrypted: Optional[bool] = None, + is_trustworthy_on: Optional[bool] = None, + is_hekaton_files_on: Optional[bool] = None, + number_of_hekaton_files: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerDatabaseUpdate(_Model): + """An update to database resource. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: The data controller's properties. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + properties: Optional["_models.SqlServerDatabaseResourceProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The data controller's properties.""" + + @overload + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerDatabaseResourceProperties"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerEsuLicense(TrackedResource): + """Describe SQL Server ESU license resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: SQL Server ESU license properties. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseProperties + """ + + properties: "_models.SqlServerEsuLicenseProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server ESU license properties. Required.""" + + @overload + def __init__( + self, + *, + location: str, + properties: "_models.SqlServerEsuLicenseProperties", + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerEsuLicenseProperties(_Model): + """Properties of SQL Server ESU license. + + :ivar billing_plan: SQL Server ESU license type. Required. Known values are: "PAYG" and "Paid". + :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :ivar version: The SQL Server version the license covers. Required. Known values are: "SQL + Server 2012", "SQL Server 2014", and "SQL Server 2016". + :vartype version: str or ~azure.mgmt.azurearcdata.models.Version + :ivar unique_id: The unique ID of this license. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + :vartype unique_id: str + :ivar physical_cores: The number of total cores of the license covers. Required. + :vartype physical_cores: int + :ivar activation_state: The activation state of the license. Required. Known values are: + "Inactive", "Active", "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", + and "Suspended". + :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.State + :ivar scope_type: The Azure scope to which the license will apply. Required. Known values are: + "Tenant", "Subscription", and "ResourceGroup". + :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + :ivar activated_at: The timestamp of the activation of the SqlServerEsuLicense in ISO 8601 + date-time format. + :vartype activated_at: ~datetime.datetime + :ivar terminated_at: The timestamp of the termination of the SqlServerEsuLicense in ISO 8601 + date-time format. + :vartype terminated_at: ~datetime.datetime + :ivar tenant_id: The tenantId the SQL Server ESU license resource subscription resides in. + :vartype tenant_id: str + """ + + billing_plan: Union[str, "_models.BillingPlan"] = rest_field( + name="billingPlan", visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server ESU license type. Required. Known values are: \"PAYG\" and \"Paid\".""" + version: Union[str, "_models.Version"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The SQL Server version the license covers. Required. Known values are: \"SQL Server 2012\", + \"SQL Server 2014\", and \"SQL Server 2016\".""" + unique_id: Optional[str] = rest_field(name="uniqueId", visibility=["read"]) + """The unique ID of this license. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000).""" + physical_cores: int = rest_field(name="physicalCores", visibility=["read", "create", "update", "delete", "query"]) + """The number of total cores of the license covers. Required.""" + activation_state: Union[str, "_models.State"] = rest_field( + name="activationState", visibility=["read", "create", "update", "delete", "query"] + ) + """The activation state of the license. Required. Known values are: \"Inactive\", \"Active\", + \"Terminated\", \"Enabled\", \"Disabled\", \"Deleted\", \"Completed\", \"Faulted\", and + \"Suspended\".""" + scope_type: Union[str, "_models.ScopeType"] = rest_field( + name="scopeType", visibility=["read", "create", "update", "delete", "query"] + ) + """The Azure scope to which the license will apply. Required. Known values are: \"Tenant\", + \"Subscription\", and \"ResourceGroup\".""" + activated_at: Optional[datetime.datetime] = rest_field(name="activatedAt", visibility=["read"], format="rfc3339") + """The timestamp of the activation of the SqlServerEsuLicense in ISO 8601 date-time format.""" + terminated_at: Optional[datetime.datetime] = rest_field(name="terminatedAt", visibility=["read"], format="rfc3339") + """The timestamp of the termination of the SqlServerEsuLicense in ISO 8601 date-time format.""" + tenant_id: Optional[str] = rest_field(name="tenantId", visibility=["read"]) + """The tenantId the SQL Server ESU license resource subscription resides in.""" + + @overload + def __init__( + self, + *, + billing_plan: Union[str, "_models.BillingPlan"], + version: Union[str, "_models.Version"], + physical_cores: int, + activation_state: Union[str, "_models.State"], + scope_type: Union[str, "_models.ScopeType"], + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerEsuLicenseUpdate(_Model): + """An update to a SQL Server ESU license resource. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: null. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdateProperties + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + properties: Optional["_models.SqlServerEsuLicenseUpdateProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null.""" + + @overload + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerEsuLicenseUpdateProperties"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerEsuLicenseUpdateProperties(_Model): + """Properties of update SqlServerEsuLicense. + + :ivar billing_plan: SQL Server ESU license type. Known values are: "PAYG" and "Paid". + :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :ivar version: The SQL Server version the license covers. Known values are: "SQL Server 2012", + "SQL Server 2014", and "SQL Server 2016". + :vartype version: str or ~azure.mgmt.azurearcdata.models.Version + :ivar unique_id: The unique ID of this license. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + :vartype unique_id: str + :ivar physical_cores: The number of total cores of the license covers. + :vartype physical_cores: int + :ivar activation_state: The activation state of the license. Known values are: "Inactive", + "Active", "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", and + "Suspended". + :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.State + :ivar scope_type: The Azure scope to which the license will apply. Known values are: "Tenant", + "Subscription", and "ResourceGroup". + :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + :ivar activated_at: The timestamp of the activation of the SqlServerEsuLicense in ISO 8601 + date-time format. + :vartype activated_at: ~datetime.datetime + :ivar terminated_at: The timestamp of the termination of the SqlServerEsuLicense in ISO 8601 + date-time format. + :vartype terminated_at: ~datetime.datetime + :ivar tenant_id: The tenantId the SQL Server ESU license resource subscription resides in. + :vartype tenant_id: str + """ + + billing_plan: Optional[Union[str, "_models.BillingPlan"]] = rest_field( + name="billingPlan", visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server ESU license type. Known values are: \"PAYG\" and \"Paid\".""" + version: Optional[Union[str, "_models.Version"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The SQL Server version the license covers. Known values are: \"SQL Server 2012\", \"SQL Server + 2014\", and \"SQL Server 2016\".""" + unique_id: Optional[str] = rest_field(name="uniqueId", visibility=["read"]) + """The unique ID of this license. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000).""" + physical_cores: Optional[int] = rest_field( + name="physicalCores", visibility=["read", "create", "update", "delete", "query"] + ) + """The number of total cores of the license covers.""" + activation_state: Optional[Union[str, "_models.State"]] = rest_field( + name="activationState", visibility=["read", "create", "update", "delete", "query"] + ) + """The activation state of the license. Known values are: \"Inactive\", \"Active\", + \"Terminated\", \"Enabled\", \"Disabled\", \"Deleted\", \"Completed\", \"Faulted\", and + \"Suspended\".""" + scope_type: Optional[Union[str, "_models.ScopeType"]] = rest_field( + name="scopeType", visibility=["read", "create", "update", "delete", "query"] + ) + """The Azure scope to which the license will apply. Known values are: \"Tenant\", + \"Subscription\", and \"ResourceGroup\".""" + activated_at: Optional[datetime.datetime] = rest_field(name="activatedAt", visibility=["read"], format="rfc3339") + """The timestamp of the activation of the SqlServerEsuLicense in ISO 8601 date-time format.""" + terminated_at: Optional[datetime.datetime] = rest_field(name="terminatedAt", visibility=["read"], format="rfc3339") + """The timestamp of the termination of the SqlServerEsuLicense in ISO 8601 date-time format.""" + tenant_id: Optional[str] = rest_field(name="tenantId", visibility=["read"]) + """The tenantId the SQL Server ESU license resource subscription resides in.""" + + @overload + def __init__( + self, + *, + billing_plan: Optional[Union[str, "_models.BillingPlan"]] = None, + version: Optional[Union[str, "_models.Version"]] = None, + physical_cores: Optional[int] = None, + activation_state: Optional[Union[str, "_models.State"]] = None, + scope_type: Optional[Union[str, "_models.ScopeType"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstance(TrackedResource): + """A SqlServerInstance. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: null. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceProperties + """ + + properties: Optional["_models.SqlServerInstanceProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null.""" + + @overload + def __init__( + self, + *, + location: str, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerInstanceProperties"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceBpaColumn(_Model): + """The SQL best practices assessment result column. + + :ivar name: The name of the result column. + :vartype name: str + :ivar type: The type of the result column. Known values are: "bool", "datetime", "int", "long", + "double", "string", "guid", and "timespan". + :vartype type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumnType + """ + + name: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The name of the result column.""" + type: Optional[Union[str, "_models.SqlServerInstanceBpaColumnType"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The type of the result column. Known values are: \"bool\", \"datetime\", \"int\", \"long\", + \"double\", \"string\", \"guid\", and \"timespan\".""" + + @overload + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[Union[str, "_models.SqlServerInstanceBpaColumnType"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceBpaRequest(_Model): + """The request for retrieving SQL best practices assessment results. + + :ivar report_type: The report type that needs to be fetched. If not specified, the default is + AssessmentSummary. Known values are: "AssessmentDataPoint" and "AssessmentSummary". + :vartype report_type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaReportType + :ivar report_id: The GUID of the report to return best practices assessment results for. If not + specified, summaries for all reports will be returned. + :vartype report_id: str + :ivar skip_token: The opaque token to use to skip to a specific page of the report. If not + specified, the first page will be returned. + :vartype skip_token: str + :ivar query_type: The type of query to run for summarizing the best practices assessment + results. If not specified, the default is 'Basic'. Known values are: "Basic" and + "HistoricalTrends". + :vartype query_type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaQueryType + """ + + report_type: Optional[Union[str, "_models.SqlServerInstanceBpaReportType"]] = rest_field( + name="reportType", visibility=["read", "create", "update", "delete", "query"] + ) + """The report type that needs to be fetched. If not specified, the default is AssessmentSummary. + Known values are: \"AssessmentDataPoint\" and \"AssessmentSummary\".""" + report_id: Optional[str] = rest_field(name="reportId", visibility=["read", "create", "update", "delete", "query"]) + """The GUID of the report to return best practices assessment results for. If not specified, + summaries for all reports will be returned.""" + skip_token: Optional[str] = rest_field(name="skipToken", visibility=["read", "create", "update", "delete", "query"]) + """The opaque token to use to skip to a specific page of the report. If not specified, the first + page will be returned.""" + query_type: Optional[Union[str, "_models.SqlServerInstanceBpaQueryType"]] = rest_field( + name="queryType", visibility=["read", "create", "update", "delete", "query"] + ) + """The type of query to run for summarizing the best practices assessment results. If not + specified, the default is 'Basic'. Known values are: \"Basic\" and \"HistoricalTrends\".""" + + @overload + def __init__( + self, + *, + report_type: Optional[Union[str, "_models.SqlServerInstanceBpaReportType"]] = None, + report_id: Optional[str] = None, + skip_token: Optional[str] = None, + query_type: Optional[Union[str, "_models.SqlServerInstanceBpaQueryType"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceJob(_Model): + """The job running on the SQL Server instance. + + :ivar id: The unique identifier of the job. + :vartype id: str + :ivar instance_name: The name of the SQL Server instance. + :vartype instance_name: str + :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar job_exception: The exception message if the job failed. + :vartype job_exception: str + :ivar background_job: The background job details. + :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :ivar sequencer_actions: The list of sequencer actions. + :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + + id: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The unique identifier of the job.""" + instance_name: Optional[str] = rest_field( + name="instanceName", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the SQL Server instance.""" + job_status: Optional[Union[str, "_models.JobStatus"]] = rest_field( + name="jobStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The status of the job. Known values are: \"NotStarted\", \"InProgress\", \"Succeeded\", and + \"Failed\".""" + job_exception: Optional[str] = rest_field( + name="jobException", visibility=["read", "create", "update", "delete", "query"] + ) + """The exception message if the job failed.""" + background_job: Optional["_models.BackgroundJob"] = rest_field( + name="backgroundJob", visibility=["read", "create", "update", "delete", "query"] + ) + """The background job details.""" + sequencer_actions: Optional[list["_models.SequencerAction"]] = rest_field( + name="sequencerActions", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of sequencer actions.""" + + @overload + def __init__( + self, + *, + id: Optional[str] = None, # pylint: disable=redefined-builtin + instance_name: Optional[str] = None, + job_status: Optional[Union[str, "_models.JobStatus"]] = None, + job_exception: Optional[str] = None, + background_job: Optional["_models.BackgroundJob"] = None, + sequencer_actions: Optional[list["_models.SequencerAction"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceJobsRequest(_Model): + """The request for the jobs running on the SQL Server instance. + + :ivar feature_name: The name of the feature to retrieve the jobs for. + :vartype feature_name: str + :ivar job_type: The type of the job to retrieve the jobs for. + :vartype job_type: str + """ + + feature_name: Optional[str] = rest_field( + name="featureName", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the feature to retrieve the jobs for.""" + job_type: Optional[str] = rest_field(name="jobType", visibility=["read", "create", "update", "delete", "query"]) + """The type of the job to retrieve the jobs for.""" + + @overload + def __init__( + self, + *, + feature_name: Optional[str] = None, + job_type: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceJobsResponse(_Model): + """The response for the jobs running on the SQL Server instance. + + :ivar jobs: The list of jobs running on the SQL Server instance. + :vartype jobs: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceJob] + """ + + jobs: Optional[list["_models.SqlServerInstanceJob"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The list of jobs running on the SQL Server instance.""" + + @overload + def __init__( + self, + *, + jobs: Optional[list["_models.SqlServerInstanceJob"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceJobsStatusRequest(_Model): + """The request for the status of the jobs running on the SQL Server instance. + + :ivar feature_name: The name of the feature to retrieve the job status for. + :vartype feature_name: str + :ivar job_type: The type of the job to retrieve the status for. + :vartype job_type: str + """ + + feature_name: Optional[str] = rest_field( + name="featureName", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the feature to retrieve the job status for.""" + job_type: Optional[str] = rest_field(name="jobType", visibility=["read", "create", "update", "delete", "query"]) + """The type of the job to retrieve the status for.""" + + @overload + def __init__( + self, + *, + feature_name: Optional[str] = None, + job_type: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceJobsStatusResponse(_Model): + """The response for the status of the jobs running on the SQL Server instance. + + :ivar jobs_status: The list of jobs status running on the SQL Server instance. + :vartype jobs_status: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobStatus] + """ + + jobs_status: Optional[list["_models.SqlServerInstanceJobStatus"]] = rest_field( + name="jobsStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of jobs status running on the SQL Server instance.""" + + @overload + def __init__( + self, + *, + jobs_status: Optional[list["_models.SqlServerInstanceJobStatus"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceJobStatus(_Model): + """The status of the job running on the SQL Server instance. + + :ivar id: The unique identifier of the job. + :vartype id: str + :ivar instance_name: The name of the SQL Server instance. + :vartype instance_name: str + :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar job_exception: The exception message if the job failed. + :vartype job_exception: str + :ivar background_job: The background job details. + :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :ivar sequencer_actions: The list of sequencer actions. + :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + + id: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The unique identifier of the job.""" + instance_name: Optional[str] = rest_field( + name="instanceName", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the SQL Server instance.""" + job_status: Optional[Union[str, "_models.JobStatus"]] = rest_field( + name="jobStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The status of the job. Known values are: \"NotStarted\", \"InProgress\", \"Succeeded\", and + \"Failed\".""" + job_exception: Optional[str] = rest_field( + name="jobException", visibility=["read", "create", "update", "delete", "query"] + ) + """The exception message if the job failed.""" + background_job: Optional["_models.BackgroundJob"] = rest_field( + name="backgroundJob", visibility=["read", "create", "update", "delete", "query"] + ) + """The background job details.""" + sequencer_actions: Optional[list["_models.SequencerAction"]] = rest_field( + name="sequencerActions", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of sequencer actions.""" + + @overload + def __init__( + self, + *, + id: Optional[str] = None, # pylint: disable=redefined-builtin + instance_name: Optional[str] = None, + job_status: Optional[Union[str, "_models.JobStatus"]] = None, + job_exception: Optional[str] = None, + background_job: Optional["_models.BackgroundJob"] = None, + sequencer_actions: Optional[list["_models.SequencerAction"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceManagedInstanceLinkAssessment(_Model): # pylint: disable=name-too-long + """The status of an individual requirement for MI Link. + + :ivar name: The name of the requirement. + :vartype name: str + :ivar category: Validation category for the MI Link prerequisites assessment. Known values are: + "SqlInstance", "SqlInstanceDatabase", "ManagedInstance", "ManagedInstanceDatabase", + "ManagedInstanceCrossValidation", "Certificates", "BoxToMiNetworkConnectivity", + "MiToBoxNetworkConnectivity", "DagCrossValidation", and "SqlInstanceAg". + :vartype category: str or ~azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory + :ivar status: The status of the requirement. Known values are: "Success", "Warning", and + "Failure". + :vartype status: str or ~azure.mgmt.azurearcdata.models.AssessmentStatus + :ivar information: The information text about requirement. + :vartype information: str + :ivar additional_information: Additional details about the check, including any recommended + actions. + :vartype additional_information: str + :ivar failing_dbs: List of names of databases that are failing the given assessment. + :vartype failing_dbs: list[str] + """ + + name: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The name of the requirement.""" + category: Optional[Union[str, "_models.MiLinkAssessmentCategory"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Validation category for the MI Link prerequisites assessment. Known values are: + \"SqlInstance\", \"SqlInstanceDatabase\", \"ManagedInstance\", \"ManagedInstanceDatabase\", + \"ManagedInstanceCrossValidation\", \"Certificates\", \"BoxToMiNetworkConnectivity\", + \"MiToBoxNetworkConnectivity\", \"DagCrossValidation\", and \"SqlInstanceAg\".""" + status: Optional[Union[str, "_models.AssessmentStatus"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The status of the requirement. Known values are: \"Success\", \"Warning\", and \"Failure\".""" + information: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The information text about requirement.""" + additional_information: Optional[str] = rest_field( + name="additionalInformation", visibility=["read", "create", "update", "delete", "query"] + ) + """Additional details about the check, including any recommended actions.""" + failing_dbs: Optional[list[str]] = rest_field( + name="failingDbs", visibility=["read", "create", "update", "delete", "query"] + ) + """List of names of databases that are failing the given assessment.""" + + @overload + def __init__( + self, + *, + name: Optional[str] = None, + category: Optional[Union[str, "_models.MiLinkAssessmentCategory"]] = None, + status: Optional[Union[str, "_models.AssessmentStatus"]] = None, + information: Optional[str] = None, + additional_information: Optional[str] = None, + failing_dbs: Optional[list[str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceManagedInstanceLinkAssessmentRequest(_Model): # pylint: disable=name-too-long + """The MI Link assessment request for the SQL Server instance. + + :ivar azure_managed_instance_resource_id: The Azure SQL Managed Instance resource ID to link + with the SQL Server instance. Required. + :vartype azure_managed_instance_resource_id: str + :ivar azure_managed_instance_role: The role of managed instance in a distributed availability + group, can be Primary or Secondary. Known values are: "Primary" and "Secondary". + :vartype azure_managed_instance_role: str or + ~azure.mgmt.azurearcdata.models.AzureManagedInstanceRole + :ivar database_names: An array of strings, where each value represents the name of a database + to be replicated to the Azure SQL Managed Instance. Required. + :vartype database_names: list[str] + :ivar availability_group_name: The name of the availability group to be used for the database + replication. Required. + :vartype availability_group_name: str + :ivar distributed_availability_group_name: The name of the DAG to be used for the database + replication. Also referred to as Link Name. Required. + :vartype distributed_availability_group_name: str + :ivar assessment_categories: An array of strings, where each value represents the category of + the assessment to be run. If this field is not provided, all assessment categories will be run. + :vartype assessment_categories: list[str or + ~azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory] + :ivar sql_server_ip_address: The IP address of the SQL Server instance. + :vartype sql_server_ip_address: str + """ + + azure_managed_instance_resource_id: str = rest_field( + name="azureManagedInstanceResourceId", visibility=["read", "create", "update", "delete", "query"] + ) + """The Azure SQL Managed Instance resource ID to link with the SQL Server instance. Required.""" + azure_managed_instance_role: Optional[Union[str, "_models.AzureManagedInstanceRole"]] = rest_field( + name="azureManagedInstanceRole", visibility=["read", "create", "update", "delete", "query"] + ) + """The role of managed instance in a distributed availability group, can be Primary or Secondary. + Known values are: \"Primary\" and \"Secondary\".""" + database_names: list[str] = rest_field( + name="databaseNames", visibility=["read", "create", "update", "delete", "query"] + ) + """An array of strings, where each value represents the name of a database to be replicated to the + Azure SQL Managed Instance. Required.""" + availability_group_name: str = rest_field( + name="availabilityGroupName", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the availability group to be used for the database replication. Required.""" + distributed_availability_group_name: str = rest_field( + name="distributedAvailabilityGroupName", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the DAG to be used for the database replication. Also referred to as Link Name. + Required.""" + assessment_categories: Optional[list[Union[str, "_models.MiLinkAssessmentCategory"]]] = rest_field( + name="assessmentCategories", visibility=["read", "create", "update", "delete", "query"] + ) + """An array of strings, where each value represents the category of the assessment to be run. If + this field is not provided, all assessment categories will be run.""" + sql_server_ip_address: Optional[str] = rest_field( + name="sqlServerIpAddress", visibility=["read", "create", "update", "delete", "query"] + ) + """The IP address of the SQL Server instance.""" + + @overload + def __init__( + self, + *, + azure_managed_instance_resource_id: str, + database_names: list[str], + availability_group_name: str, + distributed_availability_group_name: str, + azure_managed_instance_role: Optional[Union[str, "_models.AzureManagedInstanceRole"]] = None, + assessment_categories: Optional[list[Union[str, "_models.MiLinkAssessmentCategory"]]] = None, + sql_server_ip_address: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceManagedInstanceLinkAssessmentResponse(_Model): # pylint: disable=name-too-long + """The response containing the results of the MI Link assessment. + + :ivar assessments: The list of the results for MI Link assessment. + :vartype assessments: + list[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessment] + """ + + assessments: Optional[list["_models.SqlServerInstanceManagedInstanceLinkAssessment"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The list of the results for MI Link assessment.""" + + @overload + def __init__( + self, + *, + assessments: Optional[list["_models.SqlServerInstanceManagedInstanceLinkAssessment"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceMigrationReadinessReportResponse(_Model): # pylint: disable=name-too-long + """Represents the response containing the SQL Server Instance Migration Readiness report. + + :ivar report: The migration readiness report as a serialized JSON string. When isCompressed is + true, the value is base64-encoded GZip-compressed and must be decoded and decompressed before + parsing. + :vartype report: str + :ivar is_compressed: Indicates whether the report field contains base64-encoded GZip-compressed + JSON. + :vartype is_compressed: bool + :ivar created_time: The UTC timestamp in ISO 8601 format indicating when the migration + readiness report was created. + :vartype created_time: ~datetime.datetime + """ + + report: Optional[str] = rest_field(visibility=["read"]) + """The migration readiness report as a serialized JSON string. When isCompressed is true, the + value is base64-encoded GZip-compressed and must be decoded and decompressed before parsing.""" + is_compressed: Optional[bool] = rest_field(name="isCompressed", visibility=["read"]) + """Indicates whether the report field contains base64-encoded GZip-compressed JSON.""" + created_time: Optional[datetime.datetime] = rest_field(name="createdTime", visibility=["read"], format="rfc3339") + """The UTC timestamp in ISO 8601 format indicating when the migration readiness report was + created.""" + + +class SqlServerInstanceProperties(_Model): + """Properties of SqlServerInstance. + + :ivar version: SQL Server version. Known values are: "Unknown", "SQL Server 2012", "SQL Server + 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and "SQL + Server 2025". + :vartype version: str or ~azure.mgmt.azurearcdata.models.SqlVersion + :ivar edition: SQL Server edition. Known values are: "Evaluation", "Enterprise", "Standard", + "Web", "Developer", "Express", "Business Intelligence", "Standard Developer", and "Unknown". + :vartype edition: str or ~azure.mgmt.azurearcdata.models.EditionType + :ivar container_resource_id: ARM Resource id of the container resource (Azure Arc for Servers). + :vartype container_resource_id: str + :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. + :vartype vm_id: str + :ivar create_time: The time when the resource was created. + :vartype create_time: str + :ivar v_core: The number of logical processors used by the SQL Server instance. + :vartype v_core: str + :ivar cores: The number of total cores of the Operating System Environment (OSE) hosting the + SQL Server instance. + :vartype cores: str + :ivar status: The cloud connectivity status. Known values are: "Connected", "Disconnected", + "Registered", "Discovered", and "Unknown". + :vartype status: str or ~azure.mgmt.azurearcdata.models.ConnectionStatus + :ivar discovery_source: Indicates the discovery agent or client for this instance. Known values + are: "Azure Arc", "Azure Migrate", "ADS", "SSMS", "SSMA", "Import", "DMS-Portal", "DMS-PS", + "DMS-CLI", "DMS-SDK", and "Other". + :vartype discovery_source: str or ~azure.mgmt.azurearcdata.models.DiscoverySource + :ivar patch_level: SQL Server update level. + :vartype patch_level: str + :ivar collation: SQL Server collation. + :vartype collation: str + :ivar db_master_key_exists: Indicates whether database master key exists in SQL Server. + :vartype db_master_key_exists: bool + :ivar is_hadr_enabled: Indicates whether always On availability groups is enabled in SQL + Server. + :vartype is_hadr_enabled: bool + :ivar trace_flags: An array of integers, where each value represents the enabled trace flags in + SQL Server. + :vartype trace_flags: list[int] + :ivar current_version: SQL Server current version. + :vartype current_version: str + :ivar instance_name: SQL Server instance name. + :vartype instance_name: str + :ivar tcp_dynamic_ports: Dynamic TCP ports used by SQL Server. + :vartype tcp_dynamic_ports: str + :ivar tcp_static_ports: Static TCP ports used by SQL Server. + :vartype tcp_static_ports: str + :ivar product_id: SQL Server product ID. + :vartype product_id: str + :ivar license_type: SQL Server license type. Known values are: "Undefined", "Free", "HADR", + "ServerCAL", "LicenseOnly", "PAYG", "Paid", and "FabricCapacity". + :vartype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerLicenseType + :ivar azure_defender_status_last_updated: Timestamp of last Azure Defender status update. + :vartype azure_defender_status_last_updated: ~datetime.datetime + :ivar azure_defender_status: Status of Azure Defender. Known values are: "Protected", + "Unprotected", and "Unknown". + :vartype azure_defender_status: str or ~azure.mgmt.azurearcdata.models.DefenderStatus + :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server resource. + :vartype provisioning_state: str + :ivar last_inventory_upload_time: The time when last successful inventory upload was performed. + :vartype last_inventory_upload_time: ~datetime.datetime + :ivar last_usage_upload_time: The time when last successful usage upload was performed. + :vartype last_usage_upload_time: ~datetime.datetime + :ivar host_type: Type of host for Azure Arc SQL Server. Known values are: "Azure Virtual + Machine", "Azure VMWare Virtual Machine", "Azure Kubernetes Service", "AWS VMWare Virtual + Machine", "AWS Kubernetes Service", "GCP VMWare Virtual Machine", "GCP Kubernetes Service", + "Container", "Virtual Machine", "Physical Server", "AWS Virtual Machine", "GCP Virtual + Machine", "Hyper-V Virtual Machine", and "Other". + :vartype host_type: str or ~azure.mgmt.azurearcdata.models.HostType + :ivar always_on_role: The role of the SQL Server, based on availability. Known values are: + "None", "FailoverClusterInstance", "FailoverClusterNode", and "AvailabilityGroupReplica". + :vartype always_on_role: str or ~azure.mgmt.azurearcdata.models.AlwaysOnRole + :ivar database_mirroring_endpoint: Database mirroring endpoint related properties. + :vartype database_mirroring_endpoint: ~azure.mgmt.azurearcdata.models.DBMEndpoint + :ivar failover_cluster: Failover Cluster Instance properties. + :vartype failover_cluster: ~azure.mgmt.azurearcdata.models.FailoverCluster + :ivar backup_policy: The backup profile for the SQL server. + :vartype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy + :ivar upgrade_locked_until: Upgrade Action for this resource is locked until it expires. The + Expiration time indicated by this value. It is not locked when it is empty. + :vartype upgrade_locked_until: ~datetime.datetime + :ivar monitoring: The monitoring configuration. + :vartype monitoring: ~azure.mgmt.azurearcdata.models.Monitoring + :ivar migration: Migration related configuration and status. + :vartype migration: ~azure.mgmt.azurearcdata.models.Migration + :ivar best_practices_assessment: The configuration related to SQL best practices assessment. + :vartype best_practices_assessment: ~azure.mgmt.azurearcdata.models.BestPracticesAssessment + :ivar client_connection: Client connection related configuration. + :vartype client_connection: ~azure.mgmt.azurearcdata.models.ClientConnection + :ivar service_type: Indicates if the resource represents a SQL Server engine or a SQL Server + component service installed on the host. Known values are: "Engine", "SSRS", "SSAS", "SSIS", + and "PBIRS". + :vartype service_type: str or ~azure.mgmt.azurearcdata.models.ServiceType + :ivar max_server_memory_mb: maximum server memory (MB) value configured for this instance. + :vartype max_server_memory_mb: int + :ivar is_microsoft_pki_cert_trust_configured: Indicates whether Microsoft PKI root-authority + certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net + domains. + :vartype is_microsoft_pki_cert_trust_configured: bool + :ivar is_digi_cert_pki_cert_trust_configured: Indicates whether DigiCert PKI root-authority + certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net + domains. + :vartype is_digi_cert_pki_cert_trust_configured: bool + :ivar authentication: Authentication related configuration for the SQL Server Instance. + :vartype authentication: ~azure.mgmt.azurearcdata.models.Authentication + """ + + version: Optional[Union[str, "_models.SqlVersion"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server version. Known values are: \"Unknown\", \"SQL Server 2012\", \"SQL Server 2014\", + \"SQL Server 2016\", \"SQL Server 2017\", \"SQL Server 2019\", \"SQL Server 2022\", and \"SQL + Server 2025\".""" + edition: Optional[Union[str, "_models.EditionType"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server edition. Known values are: \"Evaluation\", \"Enterprise\", \"Standard\", \"Web\", + \"Developer\", \"Express\", \"Business Intelligence\", \"Standard Developer\", and \"Unknown\".""" + container_resource_id: Optional[str] = rest_field(name="containerResourceId", visibility=["read"]) + """ARM Resource id of the container resource (Azure Arc for Servers).""" + vm_id: Optional[str] = rest_field(name="vmId", visibility=["read"]) + """The unique ID of the hybrid machine that this resource belongs to.""" + create_time: Optional[str] = rest_field(name="createTime", visibility=["read"]) + """The time when the resource was created.""" + v_core: Optional[str] = rest_field(name="vCore", visibility=["read"]) + """The number of logical processors used by the SQL Server instance.""" + cores: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The number of total cores of the Operating System Environment (OSE) hosting the SQL Server + instance.""" + status: Optional[Union[str, "_models.ConnectionStatus"]] = rest_field(visibility=["read"]) + """The cloud connectivity status. Known values are: \"Connected\", \"Disconnected\", + \"Registered\", \"Discovered\", and \"Unknown\".""" + discovery_source: Optional[Union[str, "_models.DiscoverySource"]] = rest_field( + name="discoverySource", visibility=["read", "create", "update", "delete", "query"] + ) + """Indicates the discovery agent or client for this instance. Known values are: \"Azure Arc\", + \"Azure Migrate\", \"ADS\", \"SSMS\", \"SSMA\", \"Import\", \"DMS-Portal\", \"DMS-PS\", + \"DMS-CLI\", \"DMS-SDK\", and \"Other\".""" + patch_level: Optional[str] = rest_field(name="patchLevel", visibility=["read"]) + """SQL Server update level.""" + collation: Optional[str] = rest_field(visibility=["read"]) + """SQL Server collation.""" + db_master_key_exists: Optional[bool] = rest_field(name="dbMasterKeyExists", visibility=["read"]) + """Indicates whether database master key exists in SQL Server.""" + is_hadr_enabled: Optional[bool] = rest_field(name="isHadrEnabled", visibility=["read"]) + """Indicates whether always On availability groups is enabled in SQL Server.""" + trace_flags: Optional[list[int]] = rest_field(name="traceFlags", visibility=["read"]) + """An array of integers, where each value represents the enabled trace flags in SQL Server.""" + current_version: Optional[str] = rest_field(name="currentVersion", visibility=["read"]) + """SQL Server current version.""" + instance_name: Optional[str] = rest_field( + name="instanceName", visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server instance name.""" + tcp_dynamic_ports: Optional[str] = rest_field(name="tcpDynamicPorts", visibility=["read"]) + """Dynamic TCP ports used by SQL Server.""" + tcp_static_ports: Optional[str] = rest_field(name="tcpStaticPorts", visibility=["read"]) + """Static TCP ports used by SQL Server.""" + product_id: Optional[str] = rest_field(name="productId", visibility=["read"]) + """SQL Server product ID.""" + license_type: Optional[Union[str, "_models.ArcSqlServerLicenseType"]] = rest_field( + name="licenseType", visibility=["read"] + ) + """SQL Server license type. Known values are: \"Undefined\", \"Free\", \"HADR\", \"ServerCAL\", + \"LicenseOnly\", \"PAYG\", \"Paid\", and \"FabricCapacity\".""" + azure_defender_status_last_updated: Optional[datetime.datetime] = rest_field( + name="azureDefenderStatusLastUpdated", visibility=["read"], format="rfc3339" + ) + """Timestamp of last Azure Defender status update.""" + azure_defender_status: Optional[Union[str, "_models.DefenderStatus"]] = rest_field( + name="azureDefenderStatus", visibility=["read"] + ) + """Status of Azure Defender. Known values are: \"Protected\", \"Unprotected\", and \"Unknown\".""" + provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) + """The provisioning state of the Arc-enabled SQL Server resource.""" + last_inventory_upload_time: Optional[datetime.datetime] = rest_field( + name="lastInventoryUploadTime", visibility=["read"], format="rfc3339" + ) + """The time when last successful inventory upload was performed.""" + last_usage_upload_time: Optional[datetime.datetime] = rest_field( + name="lastUsageUploadTime", visibility=["read"], format="rfc3339" + ) + """The time when last successful usage upload was performed.""" + host_type: Optional[Union[str, "_models.HostType"]] = rest_field( + name="hostType", visibility=["read", "create", "update", "delete", "query"] + ) + """Type of host for Azure Arc SQL Server. Known values are: \"Azure Virtual Machine\", \"Azure + VMWare Virtual Machine\", \"Azure Kubernetes Service\", \"AWS VMWare Virtual Machine\", \"AWS + Kubernetes Service\", \"GCP VMWare Virtual Machine\", \"GCP Kubernetes Service\", + \"Container\", \"Virtual Machine\", \"Physical Server\", \"AWS Virtual Machine\", \"GCP Virtual + Machine\", \"Hyper-V Virtual Machine\", and \"Other\".""" + always_on_role: Optional[Union[str, "_models.AlwaysOnRole"]] = rest_field(name="alwaysOnRole", visibility=["read"]) + """The role of the SQL Server, based on availability. Known values are: \"None\", + \"FailoverClusterInstance\", \"FailoverClusterNode\", and \"AvailabilityGroupReplica\".""" + database_mirroring_endpoint: Optional["_models.DBMEndpoint"] = rest_field( + name="databaseMirroringEndpoint", visibility=["read", "create", "update", "delete", "query"] + ) + """Database mirroring endpoint related properties.""" + failover_cluster: Optional["_models.FailoverCluster"] = rest_field( + name="failoverCluster", visibility=["read", "create", "update", "delete", "query"] + ) + """Failover Cluster Instance properties.""" + backup_policy: Optional["_models.BackupPolicy"] = rest_field( + name="backupPolicy", visibility=["read", "create", "update", "delete", "query"] + ) + """The backup profile for the SQL server.""" + upgrade_locked_until: Optional[datetime.datetime] = rest_field( + name="upgradeLockedUntil", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Upgrade Action for this resource is locked until it expires. The Expiration time indicated by + this value. It is not locked when it is empty.""" + monitoring: Optional["_models.Monitoring"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The monitoring configuration.""" + migration: Optional["_models.Migration"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Migration related configuration and status.""" + best_practices_assessment: Optional["_models.BestPracticesAssessment"] = rest_field( + name="bestPracticesAssessment", visibility=["read", "create", "update", "delete", "query"] + ) + """The configuration related to SQL best practices assessment.""" + client_connection: Optional["_models.ClientConnection"] = rest_field( + name="clientConnection", visibility=["read", "create", "update", "delete", "query"] + ) + """Client connection related configuration.""" + service_type: Optional[Union[str, "_models.ServiceType"]] = rest_field( + name="serviceType", visibility=["read", "create", "update", "delete", "query"] + ) + """Indicates if the resource represents a SQL Server engine or a SQL Server component service + installed on the host. Known values are: \"Engine\", \"SSRS\", \"SSAS\", \"SSIS\", and + \"PBIRS\".""" + max_server_memory_mb: Optional[int] = rest_field(name="maxServerMemoryMB", visibility=["read"]) + """maximum server memory (MB) value configured for this instance.""" + is_microsoft_pki_cert_trust_configured: Optional[bool] = rest_field( + name="isMicrosoftPkiCertTrustConfigured", visibility=["read"] + ) + """Indicates whether Microsoft PKI root-authority certificate (trusted by Azure) exists in SQL + Server and trusted for Azure database.windows.net domains.""" + is_digi_cert_pki_cert_trust_configured: Optional[bool] = rest_field( + name="isDigiCertPkiCertTrustConfigured", visibility=["read"] + ) + """Indicates whether DigiCert PKI root-authority certificate (trusted by Azure) exists in SQL + Server and trusted for Azure database.windows.net domains.""" + authentication: Optional["_models.Authentication"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Authentication related configuration for the SQL Server Instance.""" + + @overload + def __init__( # pylint: disable=too-many-locals + self, + *, + version: Optional[Union[str, "_models.SqlVersion"]] = None, + edition: Optional[Union[str, "_models.EditionType"]] = None, + cores: Optional[str] = None, + discovery_source: Optional[Union[str, "_models.DiscoverySource"]] = None, + instance_name: Optional[str] = None, + host_type: Optional[Union[str, "_models.HostType"]] = None, + database_mirroring_endpoint: Optional["_models.DBMEndpoint"] = None, + failover_cluster: Optional["_models.FailoverCluster"] = None, + backup_policy: Optional["_models.BackupPolicy"] = None, + upgrade_locked_until: Optional[datetime.datetime] = None, + monitoring: Optional["_models.Monitoring"] = None, + migration: Optional["_models.Migration"] = None, + best_practices_assessment: Optional["_models.BestPracticesAssessment"] = None, + client_connection: Optional["_models.ClientConnection"] = None, + service_type: Optional[Union[str, "_models.ServiceType"]] = None, + authentication: Optional["_models.Authentication"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceRunBestPracticesAssessmentResponse(_Model): # pylint: disable=name-too-long + """The response object for the request to run SQL best practices assessment. + + :ivar id: The unique identifier of the job. + :vartype id: str + :ivar instance_name: The name of the SQL Server instance. + :vartype instance_name: str + :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar job_exception: The exception message if the job failed. + :vartype job_exception: str + :ivar background_job: The background job details. + :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :ivar sequencer_actions: The list of sequencer actions. + :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + + id: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The unique identifier of the job.""" + instance_name: Optional[str] = rest_field( + name="instanceName", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the SQL Server instance.""" + job_status: Optional[Union[str, "_models.JobStatus"]] = rest_field( + name="jobStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The status of the job. Known values are: \"NotStarted\", \"InProgress\", \"Succeeded\", and + \"Failed\".""" + job_exception: Optional[str] = rest_field( + name="jobException", visibility=["read", "create", "update", "delete", "query"] + ) + """The exception message if the job failed.""" + background_job: Optional["_models.BackgroundJob"] = rest_field( + name="backgroundJob", visibility=["read", "create", "update", "delete", "query"] + ) + """The background job details.""" + sequencer_actions: Optional[list["_models.SequencerAction"]] = rest_field( + name="sequencerActions", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of sequencer actions.""" + + @overload + def __init__( + self, + *, + id: Optional[str] = None, # pylint: disable=redefined-builtin + instance_name: Optional[str] = None, + job_status: Optional[Union[str, "_models.JobStatus"]] = None, + job_exception: Optional[str] = None, + background_job: Optional["_models.BackgroundJob"] = None, + sequencer_actions: Optional[list["_models.SequencerAction"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceRunMigrationAssessmentResponse(_Model): # pylint: disable=name-too-long + """The response for running migration assessment on the SQL Server instance. + + :ivar id: The unique identifier of the job. + :vartype id: str + :ivar instance_name: The name of the SQL Server instance. + :vartype instance_name: str + :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar job_exception: The exception message if the job failed. + :vartype job_exception: str + :ivar background_job: The background job details. + :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :ivar sequencer_actions: The list of sequencer actions. + :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + + id: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The unique identifier of the job.""" + instance_name: Optional[str] = rest_field( + name="instanceName", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the SQL Server instance.""" + job_status: Optional[Union[str, "_models.JobStatus"]] = rest_field( + name="jobStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The status of the job. Known values are: \"NotStarted\", \"InProgress\", \"Succeeded\", and + \"Failed\".""" + job_exception: Optional[str] = rest_field( + name="jobException", visibility=["read", "create", "update", "delete", "query"] + ) + """The exception message if the job failed.""" + background_job: Optional["_models.BackgroundJob"] = rest_field( + name="backgroundJob", visibility=["read", "create", "update", "delete", "query"] + ) + """The background job details.""" + sequencer_actions: Optional[list["_models.SequencerAction"]] = rest_field( + name="sequencerActions", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of sequencer actions.""" + + @overload + def __init__( + self, + *, + id: Optional[str] = None, # pylint: disable=redefined-builtin + instance_name: Optional[str] = None, + job_status: Optional[Union[str, "_models.JobStatus"]] = None, + job_exception: Optional[str] = None, + background_job: Optional["_models.BackgroundJob"] = None, + sequencer_actions: Optional[list["_models.SequencerAction"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceRunMigrationReadinessAssessmentResponse(_Model): # pylint: disable=name-too-long + """The response object for the request to run migration readiness assessment. + + :ivar id: The unique identifier of the job. + :vartype id: str + :ivar instance_name: The name of the SQL Server instance. + :vartype instance_name: str + :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", + "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar job_exception: The exception message if the job failed. + :vartype job_exception: str + :ivar background_job: The background job details. + :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob + :ivar sequencer_actions: The list of sequencer actions. + :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] + """ + + id: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The unique identifier of the job.""" + instance_name: Optional[str] = rest_field( + name="instanceName", visibility=["read", "create", "update", "delete", "query"] + ) + """The name of the SQL Server instance.""" + job_status: Optional[Union[str, "_models.JobStatus"]] = rest_field( + name="jobStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """The status of the job. Known values are: \"NotStarted\", \"InProgress\", \"Succeeded\", and + \"Failed\".""" + job_exception: Optional[str] = rest_field( + name="jobException", visibility=["read", "create", "update", "delete", "query"] + ) + """The exception message if the job failed.""" + background_job: Optional["_models.BackgroundJob"] = rest_field( + name="backgroundJob", visibility=["read", "create", "update", "delete", "query"] + ) + """The background job details.""" + sequencer_actions: Optional[list["_models.SequencerAction"]] = rest_field( + name="sequencerActions", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of sequencer actions.""" + + @overload + def __init__( + self, + *, + id: Optional[str] = None, # pylint: disable=redefined-builtin + instance_name: Optional[str] = None, + job_status: Optional[Union[str, "_models.JobStatus"]] = None, + job_exception: Optional[str] = None, + background_job: Optional["_models.BackgroundJob"] = None, + sequencer_actions: Optional[list["_models.SequencerAction"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceRunTargetRecommendationJobRequest(_Model): # pylint: disable=name-too-long + """The request for running a SQL Server Instance target recommendation job. + + :ivar resource_update_mode: Controls whether the SQL Server instance resource is updated with + the target recommendation details after the job completes. Known values are: + "UpdateAllTargetRecommendationDetails" and "SkipResourceUpdate". + :vartype resource_update_mode: str or ~azure.mgmt.azurearcdata.models.ResourceUpdateMode + :ivar include_file_level_requirements: Specifies whether to include file-level requirements in + the target recommendation report. + :vartype include_file_level_requirements: bool + :ivar target_location: The Azure region used for target SKU pricing and availability (e.g., + 'westus', 'eastus2', 'westeurope'). + :vartype target_location: str + :ivar percentile: The percentile of performance data points used for aggregation (Range: + 1-100). + :vartype percentile: int + :ivar lookback_period_in_days: The lookback period in days for performance data used in the + target recommendation. + :vartype lookback_period_in_days: int + """ + + resource_update_mode: Optional[Union[str, "_models.ResourceUpdateMode"]] = rest_field( + name="resourceUpdateMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Controls whether the SQL Server instance resource is updated with the target recommendation + details after the job completes. Known values are: \"UpdateAllTargetRecommendationDetails\" and + \"SkipResourceUpdate\".""" + include_file_level_requirements: Optional[bool] = rest_field( + name="includeFileLevelRequirements", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies whether to include file-level requirements in the target recommendation report.""" + target_location: Optional[str] = rest_field( + name="targetLocation", visibility=["read", "create", "update", "delete", "query"] + ) + """The Azure region used for target SKU pricing and availability (e.g., 'westus', 'eastus2', + 'westeurope').""" + percentile: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The percentile of performance data points used for aggregation (Range: 1-100).""" + lookback_period_in_days: Optional[int] = rest_field( + name="lookbackPeriodInDays", visibility=["read", "create", "update", "delete", "query"] + ) + """The lookback period in days for performance data used in the target recommendation.""" + + @overload + def __init__( + self, + *, + resource_update_mode: Optional[Union[str, "_models.ResourceUpdateMode"]] = None, + include_file_level_requirements: Optional[bool] = None, + target_location: Optional[str] = None, + percentile: Optional[int] = None, + lookback_period_in_days: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceRunTargetRecommendationJobResponse(_Model): # pylint: disable=name-too-long + """Represents the response of a SQL Server Instance target recommendation job execution. + + :ivar job_status: Represents the current status of the target recommendation job. Known values + are: "NotStarted", "InProgress", "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + """ + + job_status: Optional[Union[str, "_models.JobStatus"]] = rest_field(name="jobStatus", visibility=["read"]) + """Represents the current status of the target recommendation job. Known values are: + \"NotStarted\", \"InProgress\", \"Succeeded\", and \"Failed\".""" + + +class SqlServerInstanceTargetRecommendationReport(_Model): # pylint: disable=name-too-long + """Represents a target recommendation report for a SQL Server instance. + + :ivar report_id: The identifier of the target recommendation report. + :vartype report_id: str + :ivar created_time: The UTC timestamp in ISO 8601 format indicating when the target + recommendation report was generated. + :vartype created_time: ~datetime.datetime + :ivar sections: Collection of sections included in the report. + :vartype sections: + list[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSection] + """ + + report_id: Optional[str] = rest_field(name="reportId", visibility=["read"]) + """The identifier of the target recommendation report.""" + created_time: Optional[datetime.datetime] = rest_field(name="createdTime", visibility=["read"], format="rfc3339") + """The UTC timestamp in ISO 8601 format indicating when the target recommendation report was + generated.""" + sections: Optional[list["_models.SqlServerInstanceTargetRecommendationReportSection"]] = rest_field( + visibility=["read"] + ) + """Collection of sections included in the report.""" + + +class SqlServerInstanceTargetRecommendationReportSection(_Model): # pylint: disable=name-too-long + """Represents a section within a target recommendation report. + + :ivar data: Serialized JSON representation of the section data. If isCompressed is true, the + value contains base64-encoded GZip-compressed JSON. + :vartype data: str + :ivar type: The type of this section. Requirements sections contain source server performance + metrics, while recommendation sections contain suggested Azure target SKUs. Known values are: + "RequirementsPerInstance", "RequirementsPerDatabase", "FileRequirementsPerDatabase", + "SqlVmTargetRecommendationPerInstance", "SqlMiTargetRecommendationPerInstance", and + "SqlDbTargetRecommendationPerDatabase". + :vartype type: str or + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType + :ivar database_name: The name of the database to which this section applies. An empty string + indicates that the section contains instance-level data rather than database-level data. + :vartype database_name: str + :ivar is_compressed: Indicates whether the data field contains base64-encoded GZip-compressed + JSON. + :vartype is_compressed: bool + """ + + data: Optional[str] = rest_field(visibility=["read"]) + """Serialized JSON representation of the section data. If isCompressed is true, the value contains + base64-encoded GZip-compressed JSON.""" + type: Optional[Union[str, "_models.SqlServerInstanceTargetRecommendationReportSectionType"]] = rest_field( + visibility=["read"] + ) + """The type of this section. Requirements sections contain source server performance metrics, + while recommendation sections contain suggested Azure target SKUs. Known values are: + \"RequirementsPerInstance\", \"RequirementsPerDatabase\", \"FileRequirementsPerDatabase\", + \"SqlVmTargetRecommendationPerInstance\", \"SqlMiTargetRecommendationPerInstance\", and + \"SqlDbTargetRecommendationPerDatabase\".""" + database_name: Optional[str] = rest_field(name="databaseName", visibility=["read"]) + """The name of the database to which this section applies. An empty string indicates that the + section contains instance-level data rather than database-level data.""" + is_compressed: Optional[bool] = rest_field(name="isCompressed", visibility=["read"]) + """Indicates whether the data field contains base64-encoded GZip-compressed JSON.""" + + +class SqlServerInstanceTargetRecommendationReportsRequest(_Model): # pylint: disable=name-too-long + """The request for retrieving SQL Server Instance target recommendation reports. + + :ivar report_offset: Zero-based offset indicating where to continue reading reports in the + overall list of reports. Defaults to 0 if not provided. This value must be used together with + the corresponding sectionOffset to resume pagination. The reportOffset advances only after all + sections of the current report have been retrieved. To retrieve subsequent pages, use the + nextReportOffset and nextSectionOffset values from the previous response. + :vartype report_offset: int + :ivar section_offset: Zero-based offset indicating where to continue reading sections within + the current report. Defaults to 0 if not provided. This value must be used together with the + corresponding reportOffset to resume pagination. To retrieve subsequent pages, use the + nextReportOffset and nextSectionOffset values from the previous response. + :vartype section_offset: int + :ivar section_type: Filters the report to a specific section type. If not specified, all + section types are returned. Section types are grouped into two categories: requirements + sections contain performance and resource metrics collected from the source SQL Server, while + recommendation sections contain suggested Azure target SKUs derived from those requirements. + Known values are: "RequirementsPerInstance", "RequirementsPerDatabase", + "FileRequirementsPerDatabase", "SqlVmTargetRecommendationPerInstance", + "SqlMiTargetRecommendationPerInstance", and "SqlDbTargetRecommendationPerDatabase". + :vartype section_type: str or + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType + :ivar database_names: The list of database names to filter the report sections by. If not + specified, sections for all databases are returned. + :vartype database_names: list[str] + """ + + report_offset: Optional[int] = rest_field( + name="reportOffset", visibility=["read", "create", "update", "delete", "query"] + ) + """Zero-based offset indicating where to continue reading reports in the overall list of reports. + Defaults to 0 if not provided. This value must be used together with the corresponding + sectionOffset to resume pagination. The reportOffset advances only after all sections of the + current report have been retrieved. To retrieve subsequent pages, use the nextReportOffset and + nextSectionOffset values from the previous response.""" + section_offset: Optional[int] = rest_field( + name="sectionOffset", visibility=["read", "create", "update", "delete", "query"] + ) + """Zero-based offset indicating where to continue reading sections within the current report. + Defaults to 0 if not provided. This value must be used together with the corresponding + reportOffset to resume pagination. To retrieve subsequent pages, use the nextReportOffset and + nextSectionOffset values from the previous response.""" + section_type: Optional[Union[str, "_models.SqlServerInstanceTargetRecommendationReportSectionType"]] = rest_field( + name="sectionType", visibility=["read", "create", "update", "delete", "query"] + ) + """Filters the report to a specific section type. If not specified, all section types are + returned. Section types are grouped into two categories: requirements sections contain + performance and resource metrics collected from the source SQL Server, while recommendation + sections contain suggested Azure target SKUs derived from those requirements. Known values are: + \"RequirementsPerInstance\", \"RequirementsPerDatabase\", \"FileRequirementsPerDatabase\", + \"SqlVmTargetRecommendationPerInstance\", \"SqlMiTargetRecommendationPerInstance\", and + \"SqlDbTargetRecommendationPerDatabase\".""" + database_names: Optional[list[str]] = rest_field( + name="databaseNames", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of database names to filter the report sections by. If not specified, sections for all + databases are returned.""" + + @overload + def __init__( + self, + *, + report_offset: Optional[int] = None, + section_offset: Optional[int] = None, + section_type: Optional[Union[str, "_models.SqlServerInstanceTargetRecommendationReportSectionType"]] = None, + database_names: Optional[list[str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceTargetRecommendationReportsResponse(_Model): # pylint: disable=name-too-long + """Represents the response containing SQL Server Instance target recommendation reports. + + :ivar job_status: Represents the status of the latest target recommendation job. Report records + are returned only when the job status is Succeeded. Known values are: "NotStarted", + "InProgress", "Succeeded", and "Failed". + :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus + :ivar reports: A collection of target recommendation reports. Returned only when the job status + is Succeeded. + :vartype reports: + list[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReport] + :ivar total_report_count: The total number of target recommendation reports available for + retrieval. Currently, only the latest report is returned, so this value is always 1. + :vartype total_report_count: int + :ivar next_report_offset: The report offset to use in the next request along with + nextSectionOffset to continue retrieving data. This value remains the same until all sections + of the current report have been retrieved. Present only when there is more data to retrieve. + When both nextReportOffset and nextSectionOffset are absent, all data has been returned. + :vartype next_report_offset: int + :ivar next_section_offset: The section offset to use in the next request along with + nextReportOffset to continue retrieving sections of the current report. Present only when there + is more data to retrieve. When both nextReportOffset and nextSectionOffset are absent, all data + has been returned. + :vartype next_section_offset: int + """ + + job_status: Optional[Union[str, "_models.JobStatus"]] = rest_field(name="jobStatus", visibility=["read"]) + """Represents the status of the latest target recommendation job. Report records are returned only + when the job status is Succeeded. Known values are: \"NotStarted\", \"InProgress\", + \"Succeeded\", and \"Failed\".""" + reports: Optional[list["_models.SqlServerInstanceTargetRecommendationReport"]] = rest_field(visibility=["read"]) + """A collection of target recommendation reports. Returned only when the job status is Succeeded.""" + total_report_count: Optional[int] = rest_field(name="totalReportCount", visibility=["read"]) + """The total number of target recommendation reports available for retrieval. Currently, only the + latest report is returned, so this value is always 1.""" + next_report_offset: Optional[int] = rest_field(name="nextReportOffset", visibility=["read"]) + """The report offset to use in the next request along with nextSectionOffset to continue + retrieving data. This value remains the same until all sections of the current report have been + retrieved. Present only when there is more data to retrieve. When both nextReportOffset and + nextSectionOffset are absent, all data has been returned.""" + next_section_offset: Optional[int] = rest_field(name="nextSectionOffset", visibility=["read"]) + """The section offset to use in the next request along with nextReportOffset to continue + retrieving sections of the current report. Present only when there is more data to retrieve. + When both nextReportOffset and nextSectionOffset are absent, all data has been returned.""" + + +class SqlServerInstanceTelemetryColumn(_Model): + """The telemetry column for the SQL Server instance. + + :ivar name: The name of the telemetry column. + :vartype name: str + :ivar type: The type of the telemetry column. Known values are: "bool", "datetime", "int", + "long", "double", "string", "guid", and "timespan". + :vartype type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumnType + """ + + name: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The name of the telemetry column.""" + type: Optional[Union[str, "_models.SqlServerInstanceTelemetryColumnType"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The type of the telemetry column. Known values are: \"bool\", \"datetime\", \"int\", \"long\", + \"double\", \"string\", \"guid\", and \"timespan\".""" + + @overload + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[Union[str, "_models.SqlServerInstanceTelemetryColumnType"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceTelemetryRequest(_Model): + """The Arc SQL Server instance telemetry retrieval request. + + :ivar dataset_name: The name of the telemetry dataset to retrieve. Required. + :vartype dataset_name: str + :ivar start_time: The start time for the time range to fetch telemetry for. If not specified, + the current time minus 1 hour is used. + :vartype start_time: ~datetime.datetime + :ivar end_time: The end time for the time range to fetch telemetry for. If not specified, the + current time is used. + :vartype end_time: ~datetime.datetime + :ivar interval: The time granularity to fetch telemetry for. This is an ISO8601 duration. + Examples: PT15M, PT1H, P1D. + :vartype interval: ~datetime.timedelta + :ivar aggregation_type: The aggregation type to use for the numerical columns in the dataset. + Known values are: "Average", "Minimum", "Maximum", "Sum", and "Count". + :vartype aggregation_type: str or ~azure.mgmt.azurearcdata.models.AggregationType + :ivar database_names: The list of database names to return telemetry for. If not specified, + telemetry for all databases will be aggregated and returned. + :vartype database_names: list[str] + """ + + dataset_name: str = rest_field(name="datasetName", visibility=["read", "create", "update", "delete", "query"]) + """The name of the telemetry dataset to retrieve. Required.""" + start_time: Optional[datetime.datetime] = rest_field( + name="startTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """The start time for the time range to fetch telemetry for. If not specified, the current time + minus 1 hour is used.""" + end_time: Optional[datetime.datetime] = rest_field( + name="endTime", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """The end time for the time range to fetch telemetry for. If not specified, the current time is + used.""" + interval: Optional[datetime.timedelta] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The time granularity to fetch telemetry for. This is an ISO8601 duration. Examples: PT15M, + PT1H, P1D.""" + aggregation_type: Optional[Union[str, "_models.AggregationType"]] = rest_field( + name="aggregationType", visibility=["read", "create", "update", "delete", "query"] + ) + """The aggregation type to use for the numerical columns in the dataset. Known values are: + \"Average\", \"Minimum\", \"Maximum\", \"Sum\", and \"Count\".""" + database_names: Optional[list[str]] = rest_field( + name="databaseNames", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of database names to return telemetry for. If not specified, telemetry for all + databases will be aggregated and returned.""" + + @overload + def __init__( + self, + *, + dataset_name: str, + start_time: Optional[datetime.datetime] = None, + end_time: Optional[datetime.datetime] = None, + interval: Optional[datetime.timedelta] = None, + aggregation_type: Optional[Union[str, "_models.AggregationType"]] = None, + database_names: Optional[list[str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceUpdate(_Model): + """An update to a SQL Server Instance. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: null. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdateProperties + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + properties: Optional["_models.SqlServerInstanceUpdateProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null.""" + + @overload + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerInstanceUpdateProperties"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerInstanceUpdateProperties(_Model): + """Properties of update SqlServerInstance. + + :ivar version: SQL Server version. Known values are: "Unknown", "SQL Server 2012", "SQL Server + 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and "SQL + Server 2025". + :vartype version: str or ~azure.mgmt.azurearcdata.models.SqlVersion + :ivar edition: SQL Server edition. Known values are: "Evaluation", "Enterprise", "Standard", + "Web", "Developer", "Express", "Business Intelligence", "Standard Developer", and "Unknown". + :vartype edition: str or ~azure.mgmt.azurearcdata.models.EditionType + :ivar container_resource_id: ARM Resource id of the container resource (Azure Arc for Servers). + :vartype container_resource_id: str + :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. + :vartype vm_id: str + :ivar create_time: The time when the resource was created. + :vartype create_time: str + :ivar v_core: The number of logical processors used by the SQL Server instance. + :vartype v_core: str + :ivar cores: The number of total cores of the Operating System Environment (OSE) hosting the + SQL Server instance. + :vartype cores: str + :ivar status: The cloud connectivity status. Known values are: "Connected", "Disconnected", + "Registered", "Discovered", and "Unknown". + :vartype status: str or ~azure.mgmt.azurearcdata.models.ConnectionStatus + :ivar discovery_source: Indicates the discovery agent or client for this instance. Default is + Azure Arc. Known values are: "Azure Arc", "Azure Migrate", "ADS", "SSMS", "SSMA", "Import", + "DMS-Portal", "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". + :vartype discovery_source: str or ~azure.mgmt.azurearcdata.models.DiscoverySource + :ivar patch_level: SQL Server update level. + :vartype patch_level: str + :ivar collation: SQL Server collation. + :vartype collation: str + :ivar db_master_key_exists: Indicates whether database master key exists in SQL Server. + :vartype db_master_key_exists: bool + :ivar is_hadr_enabled: Indicates whether always On availability groups is enabled in SQL + Server. + :vartype is_hadr_enabled: bool + :ivar trace_flags: An array of integers, where each value represents the enabled trace flags in + SQL Server. + :vartype trace_flags: list[int] + :ivar current_version: SQL Server current version. + :vartype current_version: str + :ivar instance_name: SQL Server instance name. + :vartype instance_name: str + :ivar tcp_dynamic_ports: Dynamic TCP ports used by SQL Server. + :vartype tcp_dynamic_ports: str + :ivar tcp_static_ports: Static TCP ports used by SQL Server. + :vartype tcp_static_ports: str + :ivar product_id: SQL Server product ID. + :vartype product_id: str + :ivar license_type: SQL Server license type. Known values are: "Undefined", "Free", "HADR", + "ServerCAL", "LicenseOnly", "PAYG", "Paid", and "FabricCapacity". + :vartype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerLicenseType + :ivar azure_defender_status_last_updated: Timestamp of last Azure Defender status update. + :vartype azure_defender_status_last_updated: ~datetime.datetime + :ivar azure_defender_status: Status of Azure Defender. Known values are: "Protected", + "Unprotected", and "Unknown". + :vartype azure_defender_status: str or ~azure.mgmt.azurearcdata.models.DefenderStatus + :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server resource. + :vartype provisioning_state: str + :ivar last_inventory_upload_time: The time when last successful inventory upload was performed. + :vartype last_inventory_upload_time: ~datetime.datetime + :ivar last_usage_upload_time: The time when last successful usage upload was performed. + :vartype last_usage_upload_time: ~datetime.datetime + :ivar host_type: Type of host for Azure Arc SQL Server. Known values are: "Azure Virtual + Machine", "Azure VMWare Virtual Machine", "Azure Kubernetes Service", "AWS VMWare Virtual + Machine", "AWS Kubernetes Service", "GCP VMWare Virtual Machine", "GCP Kubernetes Service", + "Container", "Virtual Machine", "Physical Server", "AWS Virtual Machine", "GCP Virtual + Machine", "Hyper-V Virtual Machine", and "Other". + :vartype host_type: str or ~azure.mgmt.azurearcdata.models.HostType + :ivar always_on_role: The role of the SQL Server, based on availability. Known values are: + "None", "FailoverClusterInstance", "FailoverClusterNode", and "AvailabilityGroupReplica". + :vartype always_on_role: str or ~azure.mgmt.azurearcdata.models.AlwaysOnRole + :ivar failover_cluster: Failover Cluster Instance properties. + :vartype failover_cluster: ~azure.mgmt.azurearcdata.models.FailoverCluster + :ivar backup_policy: The backup profile for the SQL server. + :vartype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy + :ivar upgrade_locked_until: Upgrade Action for this resource is locked until it expires. The + Expiration time indicated by this value. It is not locked when it is empty. + :vartype upgrade_locked_until: ~datetime.datetime + :ivar monitoring: The monitoring configuration. + :vartype monitoring: ~azure.mgmt.azurearcdata.models.Monitoring + :ivar migration: Migration related configuration. + :vartype migration: ~azure.mgmt.azurearcdata.models.Migration + :ivar best_practices_assessment: The configuration related to SQL best practices assessment. + :vartype best_practices_assessment: ~azure.mgmt.azurearcdata.models.BestPracticesAssessment + :ivar client_connection: Client connection related configuration. + :vartype client_connection: ~azure.mgmt.azurearcdata.models.ClientConnection + :ivar service_type: Indicates if the resource represents a SQL Server engine or a SQL Server + component service installed on the host. Known values are: "Engine", "SSRS", "SSAS", "SSIS", + and "PBIRS". + :vartype service_type: str or ~azure.mgmt.azurearcdata.models.ServiceType + :ivar authentication: Authentication related configuration for the SQL Server Instance. + :vartype authentication: ~azure.mgmt.azurearcdata.models.Authentication + :ivar database_mirroring_endpoint: Database mirroring endpoint related properties. + :vartype database_mirroring_endpoint: ~azure.mgmt.azurearcdata.models.DBMEndpoint + :ivar is_microsoft_pki_cert_trust_configured: Indicates whether Microsoft PKI root-authority + certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net + domains. + :vartype is_microsoft_pki_cert_trust_configured: bool + :ivar is_digi_cert_pki_cert_trust_configured: Indicates whether DigiCert PKI root-authority + certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net + domains. + :vartype is_digi_cert_pki_cert_trust_configured: bool + :ivar max_server_memory_mb: maximum server memory (MB) value configured for this instance. + :vartype max_server_memory_mb: int + """ + + version: Optional[Union[str, "_models.SqlVersion"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server version. Known values are: \"Unknown\", \"SQL Server 2012\", \"SQL Server 2014\", + \"SQL Server 2016\", \"SQL Server 2017\", \"SQL Server 2019\", \"SQL Server 2022\", and \"SQL + Server 2025\".""" + edition: Optional[Union[str, "_models.EditionType"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server edition. Known values are: \"Evaluation\", \"Enterprise\", \"Standard\", \"Web\", + \"Developer\", \"Express\", \"Business Intelligence\", \"Standard Developer\", and \"Unknown\".""" + container_resource_id: Optional[str] = rest_field(name="containerResourceId", visibility=["read"]) + """ARM Resource id of the container resource (Azure Arc for Servers).""" + vm_id: Optional[str] = rest_field(name="vmId", visibility=["read"]) + """The unique ID of the hybrid machine that this resource belongs to.""" + create_time: Optional[str] = rest_field(name="createTime", visibility=["read"]) + """The time when the resource was created.""" + v_core: Optional[str] = rest_field(name="vCore", visibility=["read"]) + """The number of logical processors used by the SQL Server instance.""" + cores: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The number of total cores of the Operating System Environment (OSE) hosting the SQL Server + instance.""" + status: Optional[Union[str, "_models.ConnectionStatus"]] = rest_field(visibility=["read"]) + """The cloud connectivity status. Known values are: \"Connected\", \"Disconnected\", + \"Registered\", \"Discovered\", and \"Unknown\".""" + discovery_source: Optional[Union[str, "_models.DiscoverySource"]] = rest_field( + name="discoverySource", visibility=["read", "create", "update", "delete", "query"] + ) + """Indicates the discovery agent or client for this instance. Default is Azure Arc. Known values + are: \"Azure Arc\", \"Azure Migrate\", \"ADS\", \"SSMS\", \"SSMA\", \"Import\", \"DMS-Portal\", + \"DMS-PS\", \"DMS-CLI\", \"DMS-SDK\", and \"Other\".""" + patch_level: Optional[str] = rest_field(name="patchLevel", visibility=["read"]) + """SQL Server update level.""" + collation: Optional[str] = rest_field(visibility=["read"]) + """SQL Server collation.""" + db_master_key_exists: Optional[bool] = rest_field(name="dbMasterKeyExists", visibility=["read"]) + """Indicates whether database master key exists in SQL Server.""" + is_hadr_enabled: Optional[bool] = rest_field(name="isHadrEnabled", visibility=["read"]) + """Indicates whether always On availability groups is enabled in SQL Server.""" + trace_flags: Optional[list[int]] = rest_field(name="traceFlags", visibility=["read"]) + """An array of integers, where each value represents the enabled trace flags in SQL Server.""" + current_version: Optional[str] = rest_field(name="currentVersion", visibility=["read"]) + """SQL Server current version.""" + instance_name: Optional[str] = rest_field( + name="instanceName", visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server instance name.""" + tcp_dynamic_ports: Optional[str] = rest_field(name="tcpDynamicPorts", visibility=["read"]) + """Dynamic TCP ports used by SQL Server.""" + tcp_static_ports: Optional[str] = rest_field(name="tcpStaticPorts", visibility=["read"]) + """Static TCP ports used by SQL Server.""" + product_id: Optional[str] = rest_field(name="productId", visibility=["read"]) + """SQL Server product ID.""" + license_type: Optional[Union[str, "_models.ArcSqlServerLicenseType"]] = rest_field( + name="licenseType", visibility=["read"] + ) + """SQL Server license type. Known values are: \"Undefined\", \"Free\", \"HADR\", \"ServerCAL\", + \"LicenseOnly\", \"PAYG\", \"Paid\", and \"FabricCapacity\".""" + azure_defender_status_last_updated: Optional[datetime.datetime] = rest_field( + name="azureDefenderStatusLastUpdated", visibility=["read"], format="rfc3339" + ) + """Timestamp of last Azure Defender status update.""" + azure_defender_status: Optional[Union[str, "_models.DefenderStatus"]] = rest_field( + name="azureDefenderStatus", visibility=["read"] + ) + """Status of Azure Defender. Known values are: \"Protected\", \"Unprotected\", and \"Unknown\".""" + provisioning_state: Optional[str] = rest_field(name="provisioningState", visibility=["read"]) + """The provisioning state of the Arc-enabled SQL Server resource.""" + last_inventory_upload_time: Optional[datetime.datetime] = rest_field( + name="lastInventoryUploadTime", visibility=["read"], format="rfc3339" + ) + """The time when last successful inventory upload was performed.""" + last_usage_upload_time: Optional[datetime.datetime] = rest_field( + name="lastUsageUploadTime", visibility=["read"], format="rfc3339" + ) + """The time when last successful usage upload was performed.""" + host_type: Optional[Union[str, "_models.HostType"]] = rest_field( + name="hostType", visibility=["read", "create", "update", "delete", "query"] + ) + """Type of host for Azure Arc SQL Server. Known values are: \"Azure Virtual Machine\", \"Azure + VMWare Virtual Machine\", \"Azure Kubernetes Service\", \"AWS VMWare Virtual Machine\", \"AWS + Kubernetes Service\", \"GCP VMWare Virtual Machine\", \"GCP Kubernetes Service\", + \"Container\", \"Virtual Machine\", \"Physical Server\", \"AWS Virtual Machine\", \"GCP Virtual + Machine\", \"Hyper-V Virtual Machine\", and \"Other\".""" + always_on_role: Optional[Union[str, "_models.AlwaysOnRole"]] = rest_field(name="alwaysOnRole", visibility=["read"]) + """The role of the SQL Server, based on availability. Known values are: \"None\", + \"FailoverClusterInstance\", \"FailoverClusterNode\", and \"AvailabilityGroupReplica\".""" + failover_cluster: Optional["_models.FailoverCluster"] = rest_field( + name="failoverCluster", visibility=["read", "create", "update", "delete", "query"] + ) + """Failover Cluster Instance properties.""" + backup_policy: Optional["_models.BackupPolicy"] = rest_field( + name="backupPolicy", visibility=["read", "create", "update", "delete", "query"] + ) + """The backup profile for the SQL server.""" + upgrade_locked_until: Optional[datetime.datetime] = rest_field( + name="upgradeLockedUntil", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Upgrade Action for this resource is locked until it expires. The Expiration time indicated by + this value. It is not locked when it is empty.""" + monitoring: Optional["_models.Monitoring"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The monitoring configuration.""" + migration: Optional["_models.Migration"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Migration related configuration.""" + best_practices_assessment: Optional["_models.BestPracticesAssessment"] = rest_field( + name="bestPracticesAssessment", visibility=["read", "create", "update", "delete", "query"] + ) + """The configuration related to SQL best practices assessment.""" + client_connection: Optional["_models.ClientConnection"] = rest_field( + name="clientConnection", visibility=["read", "create", "update", "delete", "query"] + ) + """Client connection related configuration.""" + service_type: Optional[Union[str, "_models.ServiceType"]] = rest_field( + name="serviceType", visibility=["read", "create", "update", "delete", "query"] + ) + """Indicates if the resource represents a SQL Server engine or a SQL Server component service + installed on the host. Known values are: \"Engine\", \"SSRS\", \"SSAS\", \"SSIS\", and + \"PBIRS\".""" + authentication: Optional["_models.Authentication"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Authentication related configuration for the SQL Server Instance.""" + database_mirroring_endpoint: Optional["_models.DBMEndpoint"] = rest_field( + name="databaseMirroringEndpoint", visibility=["read", "create", "update", "delete", "query"] + ) + """Database mirroring endpoint related properties.""" + is_microsoft_pki_cert_trust_configured: Optional[bool] = rest_field( + name="isMicrosoftPkiCertTrustConfigured", visibility=["read", "create", "update", "delete", "query"] + ) + """Indicates whether Microsoft PKI root-authority certificate (trusted by Azure) exists in SQL + Server and trusted for Azure database.windows.net domains.""" + is_digi_cert_pki_cert_trust_configured: Optional[bool] = rest_field( + name="isDigiCertPkiCertTrustConfigured", visibility=["read", "create", "update", "delete", "query"] + ) + """Indicates whether DigiCert PKI root-authority certificate (trusted by Azure) exists in SQL + Server and trusted for Azure database.windows.net domains.""" + max_server_memory_mb: Optional[int] = rest_field( + name="maxServerMemoryMB", visibility=["read", "create", "update", "delete", "query"] + ) + """maximum server memory (MB) value configured for this instance.""" + + @overload + def __init__( # pylint: disable=too-many-locals + self, + *, + version: Optional[Union[str, "_models.SqlVersion"]] = None, + edition: Optional[Union[str, "_models.EditionType"]] = None, + cores: Optional[str] = None, + discovery_source: Optional[Union[str, "_models.DiscoverySource"]] = None, + instance_name: Optional[str] = None, + host_type: Optional[Union[str, "_models.HostType"]] = None, + failover_cluster: Optional["_models.FailoverCluster"] = None, + backup_policy: Optional["_models.BackupPolicy"] = None, + upgrade_locked_until: Optional[datetime.datetime] = None, + monitoring: Optional["_models.Monitoring"] = None, + migration: Optional["_models.Migration"] = None, + best_practices_assessment: Optional["_models.BestPracticesAssessment"] = None, + client_connection: Optional["_models.ClientConnection"] = None, + service_type: Optional[Union[str, "_models.ServiceType"]] = None, + authentication: Optional["_models.Authentication"] = None, + database_mirroring_endpoint: Optional["_models.DBMEndpoint"] = None, + is_microsoft_pki_cert_trust_configured: Optional[bool] = None, + is_digi_cert_pki_cert_trust_configured: Optional[bool] = None, + max_server_memory_mb: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerLicense(TrackedResource): + """Describe SQL Server license resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: SQL Server license properties. Required. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerLicenseProperties + """ + + properties: "_models.SqlServerLicenseProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server license properties. Required.""" + + @overload + def __init__( + self, + *, + location: str, + properties: "_models.SqlServerLicenseProperties", + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerLicenseProperties(_Model): + """Properties of SQL Server License. + + :ivar billing_plan: SQL Server license type. Required. Known values are: "PAYG" and "Paid". + :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :ivar physical_cores: The number of total cores of the license covers. Required. + :vartype physical_cores: int + :ivar license_category: This property represents the choice between SQL Server Core and ESU + licenses. Required. "Core" + :vartype license_category: str or ~azure.mgmt.azurearcdata.models.LicenseCategory + :ivar activation_state: The activation state of the license. Required. Known values are: + "Activated" and "Deactivated". + :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.ActivationState + :ivar scope_type: The Azure scope to which the license will apply. Required. Known values are: + "Tenant", "Subscription", and "ResourceGroup". + :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + :ivar last_activated_at: The timestamp of the most recent activation of the SqlServerLicense. + :vartype last_activated_at: ~datetime.datetime + :ivar last_deactivated_at: The timestamp of the most recent deactivation of the + SqlServerLicense. + :vartype last_deactivated_at: ~datetime.datetime + :ivar tenant_id: The tenantId the SQL Server license resource subscription resides in. + :vartype tenant_id: str + """ + + billing_plan: Union[str, "_models.BillingPlan"] = rest_field( + name="billingPlan", visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server license type. Required. Known values are: \"PAYG\" and \"Paid\".""" + physical_cores: int = rest_field(name="physicalCores", visibility=["read", "create", "update", "delete", "query"]) + """The number of total cores of the license covers. Required.""" + license_category: Union[str, "_models.LicenseCategory"] = rest_field( + name="licenseCategory", visibility=["read", "create"] + ) + """This property represents the choice between SQL Server Core and ESU licenses. Required. + \"Core\"""" + activation_state: Union[str, "_models.ActivationState"] = rest_field( + name="activationState", visibility=["read", "create", "update", "delete", "query"] + ) + """The activation state of the license. Required. Known values are: \"Activated\" and + \"Deactivated\".""" + scope_type: Union[str, "_models.ScopeType"] = rest_field( + name="scopeType", visibility=["read", "create", "update", "delete", "query"] + ) + """The Azure scope to which the license will apply. Required. Known values are: \"Tenant\", + \"Subscription\", and \"ResourceGroup\".""" + last_activated_at: Optional[datetime.datetime] = rest_field( + name="lastActivatedAt", visibility=["read"], format="rfc3339" + ) + """The timestamp of the most recent activation of the SqlServerLicense.""" + last_deactivated_at: Optional[datetime.datetime] = rest_field( + name="lastDeactivatedAt", visibility=["read"], format="rfc3339" + ) + """The timestamp of the most recent deactivation of the SqlServerLicense.""" + tenant_id: Optional[str] = rest_field(name="tenantId", visibility=["read"]) + """The tenantId the SQL Server license resource subscription resides in.""" + + @overload + def __init__( + self, + *, + billing_plan: Union[str, "_models.BillingPlan"], + physical_cores: int, + license_category: Union[str, "_models.LicenseCategory"], + activation_state: Union[str, "_models.ActivationState"], + scope_type: Union[str, "_models.ScopeType"], + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerLicenseUpdate(_Model): + """An update to a SQL Server license resource. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar properties: null. + :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdateProperties + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + properties: Optional["_models.SqlServerLicenseUpdateProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """null.""" + + @overload + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + properties: Optional["_models.SqlServerLicenseUpdateProperties"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SqlServerLicenseUpdateProperties(_Model): + """Properties of update SqlServerLicense. + + :ivar billing_plan: SQL Server license type. Known values are: "PAYG" and "Paid". + :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan + :ivar physical_cores: The number of total cores of the license covers. + :vartype physical_cores: int + :ivar license_category: This property represents the choice between SQL Server Core and ESU + licenses. "Core" + :vartype license_category: str or ~azure.mgmt.azurearcdata.models.LicenseCategory + :ivar activation_state: The activation state of the license. Known values are: "Activated" and + "Deactivated". + :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.ActivationState + :ivar scope_type: The Azure scope to which the license will apply. Known values are: "Tenant", + "Subscription", and "ResourceGroup". + :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType + :ivar last_activated_at: The timestamp of the most recent activation of the SqlServerLicense. + :vartype last_activated_at: ~datetime.datetime + :ivar last_deactivated_at: The timestamp of the most recent deactivation of the + SqlServerLicense. + :vartype last_deactivated_at: ~datetime.datetime + :ivar tenant_id: The tenantId the SQL Server license resource subscription resides in. + :vartype tenant_id: str + """ + + billing_plan: Optional[Union[str, "_models.BillingPlan"]] = rest_field( + name="billingPlan", visibility=["read", "create", "update", "delete", "query"] + ) + """SQL Server license type. Known values are: \"PAYG\" and \"Paid\".""" + physical_cores: Optional[int] = rest_field( + name="physicalCores", visibility=["read", "create", "update", "delete", "query"] + ) + """The number of total cores of the license covers.""" + license_category: Optional[Union[str, "_models.LicenseCategory"]] = rest_field( + name="licenseCategory", visibility=["read", "create"] + ) + """This property represents the choice between SQL Server Core and ESU licenses. \"Core\"""" + activation_state: Optional[Union[str, "_models.ActivationState"]] = rest_field( + name="activationState", visibility=["read", "create", "update", "delete", "query"] + ) + """The activation state of the license. Known values are: \"Activated\" and \"Deactivated\".""" + scope_type: Optional[Union[str, "_models.ScopeType"]] = rest_field( + name="scopeType", visibility=["read", "create", "update", "delete", "query"] + ) + """The Azure scope to which the license will apply. Known values are: \"Tenant\", + \"Subscription\", and \"ResourceGroup\".""" + last_activated_at: Optional[datetime.datetime] = rest_field( + name="lastActivatedAt", visibility=["read"], format="rfc3339" + ) + """The timestamp of the most recent activation of the SqlServerLicense.""" + last_deactivated_at: Optional[datetime.datetime] = rest_field( + name="lastDeactivatedAt", visibility=["read"], format="rfc3339" + ) + """The timestamp of the most recent deactivation of the SqlServerLicense.""" + tenant_id: Optional[str] = rest_field(name="tenantId", visibility=["read"]) + """The tenantId the SQL Server license resource subscription resides in.""" + + @overload + def __init__( + self, + *, + billing_plan: Optional[Union[str, "_models.BillingPlan"]] = None, + physical_cores: Optional[int] = None, + license_category: Optional[Union[str, "_models.LicenseCategory"]] = None, + activation_state: Optional[Union[str, "_models.ActivationState"]] = None, + scope_type: Optional[Union[str, "_models.ScopeType"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SystemData(_Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Known values are: + "User", "Application", "ManagedIdentity", and "Key". + :vartype created_by_type: str or ~azure.mgmt.azurearcdata.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Known values + are: "User", "Application", "ManagedIdentity", and "Key". + :vartype last_modified_by_type: str or ~azure.mgmt.azurearcdata.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + created_by: Optional[str] = rest_field(name="createdBy", visibility=["read", "create", "update", "delete", "query"]) + """The identity that created the resource.""" + created_by_type: Optional[Union[str, "_models.CreatedByType"]] = rest_field( + name="createdByType", visibility=["read", "create", "update", "delete", "query"] + ) + """The type of identity that created the resource. Known values are: \"User\", \"Application\", + \"ManagedIdentity\", and \"Key\".""" + created_at: Optional[datetime.datetime] = rest_field( + name="createdAt", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """The timestamp of resource creation (UTC).""" + last_modified_by: Optional[str] = rest_field( + name="lastModifiedBy", visibility=["read", "create", "update", "delete", "query"] + ) + """The identity that last modified the resource.""" + last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = rest_field( + name="lastModifiedByType", visibility=["read", "create", "update", "delete", "query"] + ) + """The type of identity that last modified the resource. Known values are: \"User\", + \"Application\", \"ManagedIdentity\", and \"Key\".""" + last_modified_at: Optional[datetime.datetime] = rest_field( + name="lastModifiedAt", visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """The timestamp of resource last modification (UTC).""" + + @overload + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "_models.CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class TargetReadiness(_Model): + """The target readiness for migration for this database. + + :ivar azure_sql_database: The SKU recommendation summary. + :vartype azure_sql_database: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary + :ivar azure_sql_managed_instance: The SKU recommendation summary. + :vartype azure_sql_managed_instance: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary + :ivar azure_sql_virtual_machine: The SKU recommendation summary. + :vartype azure_sql_virtual_machine: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary + """ + + azure_sql_database: Optional["_models.SkuRecommendationSummary"] = rest_field( + name="azureSqlDatabase", visibility=["read", "create", "update", "delete", "query"] + ) + """The SKU recommendation summary.""" + azure_sql_managed_instance: Optional["_models.SkuRecommendationSummary"] = rest_field( + name="azureSqlManagedInstance", visibility=["read", "create", "update", "delete", "query"] + ) + """The SKU recommendation summary.""" + azure_sql_virtual_machine: Optional["_models.SkuRecommendationSummary"] = rest_field( + name="azureSqlVirtualMachine", visibility=["read", "create", "update", "delete", "query"] + ) + """The SKU recommendation summary.""" + + @overload + def __init__( + self, + *, + azure_sql_database: Optional["_models.SkuRecommendationSummary"] = None, + azure_sql_managed_instance: Optional["_models.SkuRecommendationSummary"] = None, + azure_sql_virtual_machine: Optional["_models.SkuRecommendationSummary"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class UploadServicePrincipal(_Model): + """Service principal for uploading billing, metrics and logs. + + :ivar client_id: Client ID of the service principal for uploading data. + :vartype client_id: str + :ivar tenant_id: Tenant ID of the service principal. + :vartype tenant_id: str + :ivar authority: Authority for the service principal. Example: + `https://login.microsoftonline.com/ `_. + :vartype authority: str + :ivar client_secret: Secret of the service principal. + :vartype client_secret: str + """ + + client_id: Optional[str] = rest_field(name="clientId", visibility=["read", "create", "update", "delete", "query"]) + """Client ID of the service principal for uploading data.""" + tenant_id: Optional[str] = rest_field(name="tenantId", visibility=["read", "create", "update", "delete", "query"]) + """Tenant ID of the service principal.""" + authority: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Authority for the service principal. Example: `https://login.microsoftonline.com/ + `_.""" + client_secret: Optional[str] = rest_field(name="clientSecret", visibility=["create", "update"]) + """Secret of the service principal.""" + + @overload + def __init__( + self, + *, + client_id: Optional[str] = None, + tenant_id: Optional[str] = None, + authority: Optional[str] = None, + client_secret: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class UploadWatermark(_Model): + """Properties on upload watermark. Mostly timestamp for each upload data type. + + :ivar metrics: Last uploaded date for metrics from kubernetes cluster. Defaults to current date + time. + :vartype metrics: ~datetime.datetime + :ivar logs: Last uploaded date for logs from kubernetes cluster. Defaults to current date time. + :vartype logs: ~datetime.datetime + :ivar usages: Last uploaded date for usages from kubernetes cluster. Defaults to current date + time. + :vartype usages: ~datetime.datetime + """ + + metrics: Optional[datetime.datetime] = rest_field( + visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Last uploaded date for metrics from kubernetes cluster. Defaults to current date time.""" + logs: Optional[datetime.datetime] = rest_field( + visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Last uploaded date for logs from kubernetes cluster. Defaults to current date time.""" + usages: Optional[datetime.datetime] = rest_field( + visibility=["read", "create", "update", "delete", "query"], format="rfc3339" + ) + """Last uploaded date for usages from kubernetes cluster. Defaults to current date time.""" + + @overload + def __init__( + self, + *, + metrics: Optional[datetime.datetime] = None, + logs: Optional[datetime.datetime] = None, + usages: Optional[datetime.datetime] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models_py3.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models_py3.py deleted file mode 100644 index 04ff0866e126..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models_py3.py +++ /dev/null @@ -1,9708 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression,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 __future__ import annotations -from collections.abc import MutableMapping -import datetime -from typing import Any, Literal, Optional, TYPE_CHECKING, Union - -from .._utils import serialization as _serialization - -if TYPE_CHECKING: - from .. import models as _models -JSON = MutableMapping[str, Any] - - -class ActiveDirectoryConnectorDNSDetails(_serialization.Model): - """DNS server details. - - All required parameters must be populated in order to send to server. - - :ivar domain_name: DNS domain name for which DNS lookups should be forwarded to the Active - Directory DNS servers. - :vartype domain_name: str - :ivar nameserver_ip_addresses: List of Active Directory DNS server IP addresses. Required. - :vartype nameserver_ip_addresses: list[str] - :ivar replicas: Replica count for DNS proxy service. Default value is 1. - :vartype replicas: int - :ivar prefer_k8_s_dns_for_ptr_lookups: Flag indicating whether to prefer Kubernetes DNS server - response over AD DNS server response for IP address lookups. - :vartype prefer_k8_s_dns_for_ptr_lookups: bool - """ - - _validation = { - "nameserver_ip_addresses": {"required": True}, - } - - _attribute_map = { - "domain_name": {"key": "domainName", "type": "str"}, - "nameserver_ip_addresses": {"key": "nameserverIPAddresses", "type": "[str]"}, - "replicas": {"key": "replicas", "type": "int"}, - "prefer_k8_s_dns_for_ptr_lookups": {"key": "preferK8sDnsForPtrLookups", "type": "bool"}, - } - - def __init__( - self, - *, - nameserver_ip_addresses: list[str], - domain_name: Optional[str] = None, - replicas: int = 1, - prefer_k8_s_dns_for_ptr_lookups: bool = True, - **kwargs: Any - ) -> None: - """ - :keyword domain_name: DNS domain name for which DNS lookups should be forwarded to the Active - Directory DNS servers. - :paramtype domain_name: str - :keyword nameserver_ip_addresses: List of Active Directory DNS server IP addresses. Required. - :paramtype nameserver_ip_addresses: list[str] - :keyword replicas: Replica count for DNS proxy service. Default value is 1. - :paramtype replicas: int - :keyword prefer_k8_s_dns_for_ptr_lookups: Flag indicating whether to prefer Kubernetes DNS - server response over AD DNS server response for IP address lookups. - :paramtype prefer_k8_s_dns_for_ptr_lookups: bool - """ - super().__init__(**kwargs) - self.domain_name = domain_name - self.nameserver_ip_addresses = nameserver_ip_addresses - self.replicas = replicas - self.prefer_k8_s_dns_for_ptr_lookups = prefer_k8_s_dns_for_ptr_lookups - - -class ActiveDirectoryConnectorDomainDetails(_serialization.Model): - """Active Directory domain details. - - All required parameters must be populated in order to send to server. - - :ivar realm: Name (uppercase) of the Active Directory domain that this AD connector will be - associated with. Required. - :vartype realm: str - :ivar netbios_domain_name: NETBIOS name of the Active Directory domain. - :vartype netbios_domain_name: str - :ivar service_account_provisioning: The service account provisioning mode for this Active - Directory connector. Known values are: "automatic" and "manual". - :vartype service_account_provisioning: str or - ~azure.mgmt.azurearcdata.models.AccountProvisioningMode - :ivar ou_distinguished_name: The distinguished name of the Active Directory Organizational - Unit. - :vartype ou_distinguished_name: str - :ivar domain_controllers: null. - :vartype domain_controllers: ~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainControllers - """ - - _validation = { - "realm": {"required": True}, - } - - _attribute_map = { - "realm": {"key": "realm", "type": "str"}, - "netbios_domain_name": {"key": "netbiosDomainName", "type": "str"}, - "service_account_provisioning": {"key": "serviceAccountProvisioning", "type": "str"}, - "ou_distinguished_name": {"key": "ouDistinguishedName", "type": "str"}, - "domain_controllers": {"key": "domainControllers", "type": "ActiveDirectoryDomainControllers"}, - } - - def __init__( - self, - *, - realm: str, - netbios_domain_name: Optional[str] = None, - service_account_provisioning: Union[str, "_models.AccountProvisioningMode"] = "manual", - ou_distinguished_name: Optional[str] = None, - domain_controllers: Optional["_models.ActiveDirectoryDomainControllers"] = None, - **kwargs: Any - ) -> None: - """ - :keyword realm: Name (uppercase) of the Active Directory domain that this AD connector will be - associated with. Required. - :paramtype realm: str - :keyword netbios_domain_name: NETBIOS name of the Active Directory domain. - :paramtype netbios_domain_name: str - :keyword service_account_provisioning: The service account provisioning mode for this Active - Directory connector. Known values are: "automatic" and "manual". - :paramtype service_account_provisioning: str or - ~azure.mgmt.azurearcdata.models.AccountProvisioningMode - :keyword ou_distinguished_name: The distinguished name of the Active Directory Organizational - Unit. - :paramtype ou_distinguished_name: str - :keyword domain_controllers: null. - :paramtype domain_controllers: ~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainControllers - """ - super().__init__(**kwargs) - self.realm = realm - self.netbios_domain_name = netbios_domain_name - self.service_account_provisioning = service_account_provisioning - self.ou_distinguished_name = ou_distinguished_name - self.domain_controllers = domain_controllers - - -class ActiveDirectoryConnectorListResult(_serialization.Model): - """A list of active directory connectors. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[ActiveDirectoryConnectorResource]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.value: Optional[list["_models.ActiveDirectoryConnectorResource"]] = None - self.next_link: Optional[str] = None - - -class ActiveDirectoryConnectorProperties(_serialization.Model): - """The properties of an Active Directory connector resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar domain_service_account_login_information: Username and password for domain service - account authentication. - :vartype domain_service_account_login_information: - ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar provisioning_state: The provisioning state of the Active Directory connector resource. - :vartype provisioning_state: str - :ivar spec: null. Required. - :vartype spec: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorSpec - :ivar status: null. - :vartype status: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorStatus - """ - - _validation = { - "provisioning_state": {"readonly": True}, - "spec": {"required": True}, - } - - _attribute_map = { - "domain_service_account_login_information": { - "key": "domainServiceAccountLoginInformation", - "type": "BasicLoginInformation", - }, - "provisioning_state": {"key": "provisioningState", "type": "str"}, - "spec": {"key": "spec", "type": "ActiveDirectoryConnectorSpec"}, - "status": {"key": "status", "type": "ActiveDirectoryConnectorStatus"}, - } - - def __init__( - self, - *, - spec: "_models.ActiveDirectoryConnectorSpec", - domain_service_account_login_information: Optional["_models.BasicLoginInformation"] = None, - status: Optional["_models.ActiveDirectoryConnectorStatus"] = None, - **kwargs: Any - ) -> None: - """ - :keyword domain_service_account_login_information: Username and password for domain service - account authentication. - :paramtype domain_service_account_login_information: - ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :keyword spec: null. Required. - :paramtype spec: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorSpec - :keyword status: null. - :paramtype status: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorStatus - """ - super().__init__(**kwargs) - self.domain_service_account_login_information = domain_service_account_login_information - self.provisioning_state: Optional[str] = None - self.spec = spec - self.status = status - - -class Resource(_serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.id: Optional[str] = None - self.name: Optional[str] = None - self.type: Optional[str] = None - self.system_data: Optional["_models.SystemData"] = None - - -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have - tags and a location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - """ - - -class ActiveDirectoryConnectorResource(ProxyResource): - """Active directory connector resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar properties: null. Required. - :vartype properties: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorProperties - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "properties": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "properties": {"key": "properties", "type": "ActiveDirectoryConnectorProperties"}, - } - - def __init__(self, *, properties: "_models.ActiveDirectoryConnectorProperties", **kwargs: Any) -> None: - """ - :keyword properties: null. Required. - :paramtype properties: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorProperties - """ - super().__init__(**kwargs) - self.properties = properties - - -class ActiveDirectoryConnectorSpec(_serialization.Model): - """The specifications of the AD Kubernetes resource. - - All required parameters must be populated in order to send to server. - - :ivar active_directory: null. Required. - :vartype active_directory: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDomainDetails - :ivar dns: null. Required. - :vartype dns: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDNSDetails - """ - - _validation = { - "active_directory": {"required": True}, - "dns": {"required": True}, - } - - _attribute_map = { - "active_directory": {"key": "activeDirectory", "type": "ActiveDirectoryConnectorDomainDetails"}, - "dns": {"key": "dns", "type": "ActiveDirectoryConnectorDNSDetails"}, - } - - def __init__( - self, - *, - active_directory: "_models.ActiveDirectoryConnectorDomainDetails", - dns: "_models.ActiveDirectoryConnectorDNSDetails", - **kwargs: Any - ) -> None: - """ - :keyword active_directory: null. Required. - :paramtype active_directory: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDomainDetails - :keyword dns: null. Required. - :paramtype dns: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorDNSDetails - """ - super().__init__(**kwargs) - self.active_directory = active_directory - self.dns = dns - - -class ActiveDirectoryConnectorStatus(_serialization.Model): - """The status of the Kubernetes custom resource. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, any] - :ivar last_update_time: The time that the custom resource was last updated. - :vartype last_update_time: str - :ivar observed_generation: The version of the replicaSet associated with the AD connector - custom resource. - :vartype observed_generation: int - :ivar state: The state of the AD connector custom resource. - :vartype state: str - """ - - _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "last_update_time": {"key": "lastUpdateTime", "type": "str"}, - "observed_generation": {"key": "observedGeneration", "type": "int"}, - "state": {"key": "state", "type": "str"}, - } - - def __init__( - self, - *, - additional_properties: Optional[dict[str, Any]] = None, - last_update_time: Optional[str] = None, - observed_generation: Optional[int] = None, - state: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, any] - :keyword last_update_time: The time that the custom resource was last updated. - :paramtype last_update_time: str - :keyword observed_generation: The version of the replicaSet associated with the AD connector - custom resource. - :paramtype observed_generation: int - :keyword state: The state of the AD connector custom resource. - :paramtype state: str - """ - super().__init__(**kwargs) - self.additional_properties = additional_properties - self.last_update_time = last_update_time - self.observed_generation = observed_generation - self.state = state - - -class ActiveDirectoryDomainController(_serialization.Model): - """Information about a domain controller in the AD domain. - - All required parameters must be populated in order to send to server. - - :ivar hostname: Fully-qualified domain name of a domain controller in the AD domain. Required. - :vartype hostname: str - """ - - _validation = { - "hostname": {"required": True}, - } - - _attribute_map = { - "hostname": {"key": "hostname", "type": "str"}, - } - - def __init__(self, *, hostname: str, **kwargs: Any) -> None: - """ - :keyword hostname: Fully-qualified domain name of a domain controller in the AD domain. - Required. - :paramtype hostname: str - """ - super().__init__(**kwargs) - self.hostname = hostname - - -class ActiveDirectoryDomainControllers(_serialization.Model): - """Details about the Active Directory domain controllers associated with this AD connector - instance. - - :ivar primary_domain_controller: Information about the Primary Domain Controller (PDC) in the - AD domain. - :vartype primary_domain_controller: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainController - :ivar secondary_domain_controllers: null. - :vartype secondary_domain_controllers: - list[~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainController] - """ - - _attribute_map = { - "primary_domain_controller": {"key": "primaryDomainController", "type": "ActiveDirectoryDomainController"}, - "secondary_domain_controllers": { - "key": "secondaryDomainControllers", - "type": "[ActiveDirectoryDomainController]", - }, - } - - def __init__( - self, - *, - primary_domain_controller: Optional["_models.ActiveDirectoryDomainController"] = None, - secondary_domain_controllers: Optional[list["_models.ActiveDirectoryDomainController"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword primary_domain_controller: Information about the Primary Domain Controller (PDC) in - the AD domain. - :paramtype primary_domain_controller: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainController - :keyword secondary_domain_controllers: null. - :paramtype secondary_domain_controllers: - list[~azure.mgmt.azurearcdata.models.ActiveDirectoryDomainController] - """ - super().__init__(**kwargs) - self.primary_domain_controller = primary_domain_controller - self.secondary_domain_controllers = secondary_domain_controllers - - -class ActiveDirectoryInformation(_serialization.Model): - """Active Directory information that related to the resource. - - :ivar keytab_information: Keytab information that is used for the Sql Managed Instance when - Active Directory authentication is used. - :vartype keytab_information: ~azure.mgmt.azurearcdata.models.KeytabInformation - """ - - _attribute_map = { - "keytab_information": {"key": "keytabInformation", "type": "KeytabInformation"}, - } - - def __init__(self, *, keytab_information: Optional["_models.KeytabInformation"] = None, **kwargs: Any) -> None: - """ - :keyword keytab_information: Keytab information that is used for the Sql Managed Instance when - Active Directory authentication is used. - :paramtype keytab_information: ~azure.mgmt.azurearcdata.models.KeytabInformation - """ - super().__init__(**kwargs) - self.keytab_information = keytab_information - - -class AdditionalMigrationJobAttributes(_serialization.Model): - """Any other migration type specific attributes to associate with this job. - - :ivar key_name: Unique attribute name. - :vartype key_name: str - :ivar key_value: Attribute value. - :vartype key_value: str - """ - - _attribute_map = { - "key_name": {"key": "keyName", "type": "str"}, - "key_value": {"key": "keyValue", "type": "str"}, - } - - def __init__(self, *, key_name: Optional[str] = None, key_value: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword key_name: Unique attribute name. - :paramtype key_name: str - :keyword key_value: Attribute value. - :paramtype key_value: str - """ - super().__init__(**kwargs) - self.key_name = key_name - self.key_value = key_value - - -class ArcSqlServerAvailabilityGroupListResult(_serialization.Model): - """A list of Arc Sql Server Availability Groups. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of Arc Sql Server Availability Groups. - :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[SqlServerAvailabilityGroupResource]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.value: Optional[list["_models.SqlServerAvailabilityGroupResource"]] = None - self.next_link: Optional[str] = None - - -class ArcSqlServerDatabaseListResult(_serialization.Model): - """A list of Arc Sql Server database. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of Arc Sql Server database. - :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[SqlServerDatabaseResource]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.value: Optional[list["_models.SqlServerDatabaseResource"]] = None - self.next_link: Optional[str] = None - - -class Authentication(_serialization.Model): - """Authentication related configuration for the SQL Server Instance. - - :ivar mode: Mode of authentication in SqlServer. Known values are: "Mixed", "Windows", and - "Undefined". - :vartype mode: str or ~azure.mgmt.azurearcdata.models.Mode - :ivar sql_server_entra_identity: Entra Authentication configuration for the SQL Server - Instance. - :vartype sql_server_entra_identity: list[~azure.mgmt.azurearcdata.models.EntraAuthentication] - """ - - _attribute_map = { - "mode": {"key": "mode", "type": "str"}, - "sql_server_entra_identity": {"key": "sqlServerEntraIdentity", "type": "[EntraAuthentication]"}, - } - - def __init__( - self, - *, - mode: Optional[Union[str, "_models.Mode"]] = None, - sql_server_entra_identity: Optional[list["_models.EntraAuthentication"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword mode: Mode of authentication in SqlServer. Known values are: "Mixed", "Windows", and - "Undefined". - :paramtype mode: str or ~azure.mgmt.azurearcdata.models.Mode - :keyword sql_server_entra_identity: Entra Authentication configuration for the SQL Server - Instance. - :paramtype sql_server_entra_identity: list[~azure.mgmt.azurearcdata.models.EntraAuthentication] - """ - super().__init__(**kwargs) - self.mode = mode - self.sql_server_entra_identity = sql_server_entra_identity - - -class AvailabilityGroupConfigure(_serialization.Model): - """The specifications of the availability group replica configuration. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar endpoint_name: Name of the mirroring endpoint URL. - :vartype endpoint_name: str - :ivar endpoint_url: Mirroring endpoint URL of availability group replica. - :vartype endpoint_url: str - :ivar endpoint_authentication_mode: Permitted authentication modes for the mirroring endpoint. - Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", "Certificate", - "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", "Windows_Negotiate_Certificate", - "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", and - "Certificate_Windows_Negotiate". - :vartype endpoint_authentication_mode: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth - :ivar certificate_name: Name of certificate to use for authentication. Required if any - CERTIFICATE authentication modes are specified. - :vartype certificate_name: str - :ivar endpoint_connect_login: The login which will connect to the mirroring endpoint. - :vartype endpoint_connect_login: str - :ivar availability_mode: Property that determines whether a given availability replica can run - in synchronous-commit mode. Known values are: "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". - :vartype availability_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode - :ivar availability_mode_description: The Availability Synchronization mode of the availability - group replica. - :vartype availability_mode_description: str - :ivar failover_mode: Property to set the failover mode of the availability group replica. Known - values are: "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". - :vartype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode - :ivar failover_mode_description: The failover mode of the availability group replica. - :vartype failover_mode_description: str - :ivar session_timeout: The time-out period of availability group session replica, in seconds. - :vartype session_timeout: int - :ivar primary_allow_connections: Whether the primary replica should allow all connections or - only READ_WRITE connections (disallowing ReadOnly connections). Known values are: "ALL" and - "READ_WRITE". - :vartype primary_allow_connections: str or - ~azure.mgmt.azurearcdata.models.PrimaryAllowConnections - :ivar primary_role_allow_connections_description: Whether the availability allows all - connections or only read-write connections. - :vartype primary_role_allow_connections_description: str - :ivar secondary_allow_connections: Whether the secondary replica should allow all connections, - no connections, or only ReadOnly connections. Known values are: "NO", "ALL", and "READ_ONLY". - :vartype secondary_allow_connections: str or - ~azure.mgmt.azurearcdata.models.SecondaryAllowConnections - :ivar secondary_role_allow_connections_description: Whether an availability replica that is - performing the secondary role (that is, a secondary replica) can accept connections from - clients. - :vartype secondary_role_allow_connections_description: str - :ivar replica_create_date: Date that the replica was created. - :vartype replica_create_date: ~datetime.datetime - :ivar replica_modify_date: Date that the replica was modified. - :vartype replica_modify_date: ~datetime.datetime - :ivar backup_priority: Represents the user-specified priority for performing backups on this - replica relative to the other replicas in the same availability group. - :vartype backup_priority: int - :ivar read_only_routing_url: Connectivity endpoint (URL) of the read only availability replica. - :vartype read_only_routing_url: str - :ivar read_write_routing_url: Connectivity endpoint (URL) of the read write availability - replica. - :vartype read_write_routing_url: str - :ivar seeding_mode: Specifies how the secondary replica will be initially seeded. AUTOMATIC - enables direct seeding. This method will seed the secondary replica over the network. This - method does not require you to backup and restore a copy of the primary database on the - replica. MANUAL specifies manual seeding (default). This method requires you to create a backup - of the database on the primary replica and manually restore that backup on the secondary - replica. Known values are: "AUTOMATIC" and "MANUAL". - :vartype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode - :ivar seeding_mode_description: Describes seeding mode. - :vartype seeding_mode_description: str - """ - - _validation = { - "availability_mode_description": {"readonly": True}, - "failover_mode_description": {"readonly": True}, - "primary_role_allow_connections_description": {"readonly": True}, - "secondary_role_allow_connections_description": {"readonly": True}, - "replica_create_date": {"readonly": True}, - "replica_modify_date": {"readonly": True}, - "seeding_mode_description": {"readonly": True}, - } - - _attribute_map = { - "endpoint_name": {"key": "endpointName", "type": "str"}, - "endpoint_url": {"key": "endpointUrl", "type": "str"}, - "endpoint_authentication_mode": {"key": "endpointAuthenticationMode", "type": "str"}, - "certificate_name": {"key": "certificateName", "type": "str"}, - "endpoint_connect_login": {"key": "endpointConnectLogin", "type": "str"}, - "availability_mode": {"key": "availabilityMode", "type": "str"}, - "availability_mode_description": {"key": "availabilityModeDescription", "type": "str"}, - "failover_mode": {"key": "failoverMode", "type": "str"}, - "failover_mode_description": {"key": "failoverModeDescription", "type": "str"}, - "session_timeout": {"key": "sessionTimeout", "type": "int"}, - "primary_allow_connections": {"key": "primaryAllowConnections", "type": "str"}, - "primary_role_allow_connections_description": {"key": "primaryRoleAllowConnectionsDescription", "type": "str"}, - "secondary_allow_connections": {"key": "secondaryAllowConnections", "type": "str"}, - "secondary_role_allow_connections_description": { - "key": "secondaryRoleAllowConnectionsDescription", - "type": "str", - }, - "replica_create_date": {"key": "replicaCreateDate", "type": "iso-8601"}, - "replica_modify_date": {"key": "replicaModifyDate", "type": "iso-8601"}, - "backup_priority": {"key": "backupPriority", "type": "int"}, - "read_only_routing_url": {"key": "readOnlyRoutingUrl", "type": "str"}, - "read_write_routing_url": {"key": "readWriteRoutingUrl", "type": "str"}, - "seeding_mode": {"key": "seedingMode", "type": "str"}, - "seeding_mode_description": {"key": "seedingModeDescription", "type": "str"}, - } - - def __init__( - self, - *, - endpoint_name: Optional[str] = None, - endpoint_url: Optional[str] = None, - endpoint_authentication_mode: Optional[Union[str, "_models.ConnectionAuth"]] = None, - certificate_name: Optional[str] = None, - endpoint_connect_login: Optional[str] = None, - availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = None, - failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = None, - session_timeout: Optional[int] = None, - primary_allow_connections: Optional[Union[str, "_models.PrimaryAllowConnections"]] = None, - secondary_allow_connections: Optional[Union[str, "_models.SecondaryAllowConnections"]] = None, - backup_priority: Optional[int] = None, - read_only_routing_url: Optional[str] = None, - read_write_routing_url: Optional[str] = None, - seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword endpoint_name: Name of the mirroring endpoint URL. - :paramtype endpoint_name: str - :keyword endpoint_url: Mirroring endpoint URL of availability group replica. - :paramtype endpoint_url: str - :keyword endpoint_authentication_mode: Permitted authentication modes for the mirroring - endpoint. Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", - "Certificate", "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", - "Windows_Negotiate_Certificate", "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", - and "Certificate_Windows_Negotiate". - :paramtype endpoint_authentication_mode: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth - :keyword certificate_name: Name of certificate to use for authentication. Required if any - CERTIFICATE authentication modes are specified. - :paramtype certificate_name: str - :keyword endpoint_connect_login: The login which will connect to the mirroring endpoint. - :paramtype endpoint_connect_login: str - :keyword availability_mode: Property that determines whether a given availability replica can - run in synchronous-commit mode. Known values are: "SYNCHRONOUS_COMMIT" and - "ASYNCHRONOUS_COMMIT". - :paramtype availability_mode: str or - ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode - :keyword failover_mode: Property to set the failover mode of the availability group replica. - Known values are: "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". - :paramtype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode - :keyword session_timeout: The time-out period of availability group session replica, in - seconds. - :paramtype session_timeout: int - :keyword primary_allow_connections: Whether the primary replica should allow all connections or - only READ_WRITE connections (disallowing ReadOnly connections). Known values are: "ALL" and - "READ_WRITE". - :paramtype primary_allow_connections: str or - ~azure.mgmt.azurearcdata.models.PrimaryAllowConnections - :keyword secondary_allow_connections: Whether the secondary replica should allow all - connections, no connections, or only ReadOnly connections. Known values are: "NO", "ALL", and - "READ_ONLY". - :paramtype secondary_allow_connections: str or - ~azure.mgmt.azurearcdata.models.SecondaryAllowConnections - :keyword backup_priority: Represents the user-specified priority for performing backups on this - replica relative to the other replicas in the same availability group. - :paramtype backup_priority: int - :keyword read_only_routing_url: Connectivity endpoint (URL) of the read only availability - replica. - :paramtype read_only_routing_url: str - :keyword read_write_routing_url: Connectivity endpoint (URL) of the read write availability - replica. - :paramtype read_write_routing_url: str - :keyword seeding_mode: Specifies how the secondary replica will be initially seeded. AUTOMATIC - enables direct seeding. This method will seed the secondary replica over the network. This - method does not require you to backup and restore a copy of the primary database on the - replica. MANUAL specifies manual seeding (default). This method requires you to create a backup - of the database on the primary replica and manually restore that backup on the secondary - replica. Known values are: "AUTOMATIC" and "MANUAL". - :paramtype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode - """ - super().__init__(**kwargs) - self.endpoint_name = endpoint_name - self.endpoint_url = endpoint_url - self.endpoint_authentication_mode = endpoint_authentication_mode - self.certificate_name = certificate_name - self.endpoint_connect_login = endpoint_connect_login - self.availability_mode = availability_mode - self.availability_mode_description: Optional[str] = None - self.failover_mode = failover_mode - self.failover_mode_description: Optional[str] = None - self.session_timeout = session_timeout - self.primary_allow_connections = primary_allow_connections - self.primary_role_allow_connections_description: Optional[str] = None - self.secondary_allow_connections = secondary_allow_connections - self.secondary_role_allow_connections_description: Optional[str] = None - self.replica_create_date: Optional[datetime.datetime] = None - self.replica_modify_date: Optional[datetime.datetime] = None - self.backup_priority = backup_priority - self.read_only_routing_url = read_only_routing_url - self.read_write_routing_url = read_write_routing_url - self.seeding_mode = seeding_mode - self.seeding_mode_description: Optional[str] = None - - -class AvailabilityGroupCreateUpdateConfiguration(_serialization.Model): # pylint: disable=name-too-long - """Options used in creating an availability group. - - :ivar availability_group_name: Name of the availability group. - :vartype availability_group_name: str - :ivar replicas: List of availability group replicas. - :vartype replicas: - list[~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateReplicaConfiguration] - :ivar databases: List of databases to include in the availability group. - :vartype databases: list[str] - :ivar automated_backup_preference: Preferred replica for running automated backups. Known - values are: "PRIMARY", "SECONDARY_ONLY", "SECONDARY", and "NONE". - :vartype automated_backup_preference: str or - ~azure.mgmt.azurearcdata.models.AutomatedBackupPreference - :ivar failure_condition_level: User-defined failure condition level under which an automatic - failover must be triggered. Known values are: 1, 2, 3, 4, and 5. - :vartype failure_condition_level: int or ~azure.mgmt.azurearcdata.models.FailureConditionLevel - :ivar health_check_timeout: Wait time (in milliseconds) for the sp_server_diagnostics system - stored procedure to return server-health information, before the server instance is assumed to - be slow or not responding. - :vartype health_check_timeout: int - :ivar db_failover: Specifies whether the availability group supports failover for database - health conditions. Known values are: "ON" and "OFF". - :vartype db_failover: str or ~azure.mgmt.azurearcdata.models.DbFailover - :ivar dtc_support: Specifies whether DTC support has been enabled for this availability group. - Known values are: "PER_DB" and "NONE". - :vartype dtc_support: str or ~azure.mgmt.azurearcdata.models.DtcSupport - :ivar required_synchronized_secondaries_to_commit: The number of secondary replicas that must - be in a synchronized state for a commit to complete. - :vartype required_synchronized_secondaries_to_commit: int - :ivar cluster_type: Set to WSFC when availability group is on a failover cluster instance on a - Windows Server failover cluster. Set to NONE when availability group not using WSFC for cluster - coordination. Known values are: "WSFC" and "NONE". - :vartype cluster_type: str or ~azure.mgmt.azurearcdata.models.ClusterType - :ivar listener: The listener for the sql server availability group. - :vartype listener: - ~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties - """ - - _attribute_map = { - "availability_group_name": {"key": "availabilityGroupName", "type": "str"}, - "replicas": {"key": "replicas", "type": "[AvailabilityGroupCreateUpdateReplicaConfiguration]"}, - "databases": {"key": "databases", "type": "[str]"}, - "automated_backup_preference": {"key": "automatedBackupPreference", "type": "str"}, - "failure_condition_level": {"key": "failureConditionLevel", "type": "int"}, - "health_check_timeout": {"key": "healthCheckTimeout", "type": "int"}, - "db_failover": {"key": "dbFailover", "type": "str"}, - "dtc_support": {"key": "dtcSupport", "type": "str"}, - "required_synchronized_secondaries_to_commit": { - "key": "requiredSynchronizedSecondariesToCommit", - "type": "int", - }, - "cluster_type": {"key": "clusterType", "type": "str"}, - "listener": {"key": "listener", "type": "SqlAvailabilityGroupStaticIPListenerProperties"}, - } - - def __init__( - self, - *, - availability_group_name: Optional[str] = None, - replicas: Optional[list["_models.AvailabilityGroupCreateUpdateReplicaConfiguration"]] = None, - databases: Optional[list[str]] = None, - automated_backup_preference: Optional[Union[str, "_models.AutomatedBackupPreference"]] = None, - failure_condition_level: Optional[Union[int, "_models.FailureConditionLevel"]] = None, - health_check_timeout: Optional[int] = None, - db_failover: Optional[Union[str, "_models.DbFailover"]] = None, - dtc_support: Optional[Union[str, "_models.DtcSupport"]] = None, - required_synchronized_secondaries_to_commit: Optional[int] = None, - cluster_type: Optional[Union[str, "_models.ClusterType"]] = None, - listener: Optional["_models.SqlAvailabilityGroupStaticIPListenerProperties"] = None, - **kwargs: Any - ) -> None: - """ - :keyword availability_group_name: Name of the availability group. - :paramtype availability_group_name: str - :keyword replicas: List of availability group replicas. - :paramtype replicas: - list[~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateReplicaConfiguration] - :keyword databases: List of databases to include in the availability group. - :paramtype databases: list[str] - :keyword automated_backup_preference: Preferred replica for running automated backups. Known - values are: "PRIMARY", "SECONDARY_ONLY", "SECONDARY", and "NONE". - :paramtype automated_backup_preference: str or - ~azure.mgmt.azurearcdata.models.AutomatedBackupPreference - :keyword failure_condition_level: User-defined failure condition level under which an automatic - failover must be triggered. Known values are: 1, 2, 3, 4, and 5. - :paramtype failure_condition_level: int or - ~azure.mgmt.azurearcdata.models.FailureConditionLevel - :keyword health_check_timeout: Wait time (in milliseconds) for the sp_server_diagnostics system - stored procedure to return server-health information, before the server instance is assumed to - be slow or not responding. - :paramtype health_check_timeout: int - :keyword db_failover: Specifies whether the availability group supports failover for database - health conditions. Known values are: "ON" and "OFF". - :paramtype db_failover: str or ~azure.mgmt.azurearcdata.models.DbFailover - :keyword dtc_support: Specifies whether DTC support has been enabled for this availability - group. Known values are: "PER_DB" and "NONE". - :paramtype dtc_support: str or ~azure.mgmt.azurearcdata.models.DtcSupport - :keyword required_synchronized_secondaries_to_commit: The number of secondary replicas that - must be in a synchronized state for a commit to complete. - :paramtype required_synchronized_secondaries_to_commit: int - :keyword cluster_type: Set to WSFC when availability group is on a failover cluster instance on - a Windows Server failover cluster. Set to NONE when availability group not using WSFC for - cluster coordination. Known values are: "WSFC" and "NONE". - :paramtype cluster_type: str or ~azure.mgmt.azurearcdata.models.ClusterType - :keyword listener: The listener for the sql server availability group. - :paramtype listener: - ~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties - """ - super().__init__(**kwargs) - self.availability_group_name = availability_group_name - self.replicas = replicas - self.databases = databases - self.automated_backup_preference = automated_backup_preference - self.failure_condition_level = failure_condition_level - self.health_check_timeout = health_check_timeout - self.db_failover = db_failover - self.dtc_support = dtc_support - self.required_synchronized_secondaries_to_commit = required_synchronized_secondaries_to_commit - self.cluster_type = cluster_type - self.listener = listener - - -class AvailabilityGroupCreateUpdateReplicaConfiguration(_serialization.Model): # pylint: disable=name-too-long - """The specifications of the availability group replica configuration. - - :ivar server_instance: the server instance hosting the replica. - :vartype server_instance: str - :ivar endpoint_name: Name of the database mirroring endpoint URL for the availability group - replica. - :vartype endpoint_name: str - :ivar endpoint_url: Database mirroring endpoint URL of availability group replica. - :vartype endpoint_url: str - :ivar endpoint_authentication_mode: Permitted authentication modes for the mirroring endpoint. - Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", "Certificate", - "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", "Windows_Negotiate_Certificate", - "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", and - "Certificate_Windows_Negotiate". - :vartype endpoint_authentication_mode: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth - :ivar certificate_name: Name of certificate to use for authentication. Required if any - CERTIFICATE authentication modes are specified. - :vartype certificate_name: str - :ivar endpoint_connect_login: The login which will connect to the mirroring endpoint. - :vartype endpoint_connect_login: str - :ivar availability_mode: Property that determines whether a given availability replica can run - in synchronous-commit mode. Known values are: "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". - :vartype availability_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode - :ivar failover_mode: Property to set the failover mode of the availability group replica. Known - values are: "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". - :vartype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode - :ivar seeding_mode: Specifies how the secondary replica will be initially seeded. AUTOMATIC - enables direct seeding. This method will seed the secondary replica over the network. This - method does not require you to backup and restore a copy of the primary database on the - replica. MANUAL specifies manual seeding (default). This method requires you to create a backup - of the database on the primary replica and manually restore that backup on the secondary - replica. Known values are: "AUTOMATIC" and "MANUAL". - :vartype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode - :ivar backup_priority: Represents the user-specified priority for performing backups on this - replica relative to the other replicas in the same availability group. - :vartype backup_priority: int - :ivar secondary_role_allow_connections: Whether the secondary replica should allow all - connections, no connections, or only ReadOnly connections. Known values are: "NO", "ALL", and - "READ_ONLY". - :vartype secondary_role_allow_connections: str or - ~azure.mgmt.azurearcdata.models.SecondaryAllowConnections - :ivar secondary_role_read_only_routing_url: Connectivity endpoint (URL) of the read only - availability replica. - :vartype secondary_role_read_only_routing_url: str - :ivar primary_role_allow_connections: Whether the primary replica should allow all connections - or only READ_WRITE connections (disallowing ReadOnly connections). Known values are: "ALL" and - "READ_WRITE". - :vartype primary_role_allow_connections: str or - ~azure.mgmt.azurearcdata.models.PrimaryAllowConnections - :ivar primary_role_read_only_routing_list: List of read only routing URLs. - :vartype primary_role_read_only_routing_list: list[str] - :ivar session_timeout: The time-out period of availability group session replica, in seconds. - :vartype session_timeout: int - """ - - _attribute_map = { - "server_instance": {"key": "serverInstance", "type": "str"}, - "endpoint_name": {"key": "endpointName", "type": "str"}, - "endpoint_url": {"key": "endpointUrl", "type": "str"}, - "endpoint_authentication_mode": {"key": "endpointAuthenticationMode", "type": "str"}, - "certificate_name": {"key": "certificateName", "type": "str"}, - "endpoint_connect_login": {"key": "endpointConnectLogin", "type": "str"}, - "availability_mode": {"key": "availabilityMode", "type": "str"}, - "failover_mode": {"key": "failoverMode", "type": "str"}, - "seeding_mode": {"key": "seedingMode", "type": "str"}, - "backup_priority": {"key": "backupPriority", "type": "int"}, - "secondary_role_allow_connections": {"key": "secondaryRoleAllowConnections", "type": "str"}, - "secondary_role_read_only_routing_url": {"key": "secondaryRoleReadOnlyRoutingUrl", "type": "str"}, - "primary_role_allow_connections": {"key": "primaryRoleAllowConnections", "type": "str"}, - "primary_role_read_only_routing_list": {"key": "primaryRoleReadOnlyRoutingList", "type": "[str]"}, - "session_timeout": {"key": "sessionTimeout", "type": "int"}, - } - - def __init__( - self, - *, - server_instance: Optional[str] = None, - endpoint_name: Optional[str] = None, - endpoint_url: Optional[str] = None, - endpoint_authentication_mode: Optional[Union[str, "_models.ConnectionAuth"]] = None, - certificate_name: Optional[str] = None, - endpoint_connect_login: Optional[str] = None, - availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = None, - failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = None, - seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = None, - backup_priority: Optional[int] = None, - secondary_role_allow_connections: Optional[Union[str, "_models.SecondaryAllowConnections"]] = None, - secondary_role_read_only_routing_url: Optional[str] = None, - primary_role_allow_connections: Optional[Union[str, "_models.PrimaryAllowConnections"]] = None, - primary_role_read_only_routing_list: Optional[list[str]] = None, - session_timeout: Optional[int] = None, - **kwargs: Any - ) -> None: - """ - :keyword server_instance: the server instance hosting the replica. - :paramtype server_instance: str - :keyword endpoint_name: Name of the database mirroring endpoint URL for the availability group - replica. - :paramtype endpoint_name: str - :keyword endpoint_url: Database mirroring endpoint URL of availability group replica. - :paramtype endpoint_url: str - :keyword endpoint_authentication_mode: Permitted authentication modes for the mirroring - endpoint. Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", - "Certificate", "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", - "Windows_Negotiate_Certificate", "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", - and "Certificate_Windows_Negotiate". - :paramtype endpoint_authentication_mode: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth - :keyword certificate_name: Name of certificate to use for authentication. Required if any - CERTIFICATE authentication modes are specified. - :paramtype certificate_name: str - :keyword endpoint_connect_login: The login which will connect to the mirroring endpoint. - :paramtype endpoint_connect_login: str - :keyword availability_mode: Property that determines whether a given availability replica can - run in synchronous-commit mode. Known values are: "SYNCHRONOUS_COMMIT" and - "ASYNCHRONOUS_COMMIT". - :paramtype availability_mode: str or - ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode - :keyword failover_mode: Property to set the failover mode of the availability group replica. - Known values are: "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". - :paramtype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode - :keyword seeding_mode: Specifies how the secondary replica will be initially seeded. AUTOMATIC - enables direct seeding. This method will seed the secondary replica over the network. This - method does not require you to backup and restore a copy of the primary database on the - replica. MANUAL specifies manual seeding (default). This method requires you to create a backup - of the database on the primary replica and manually restore that backup on the secondary - replica. Known values are: "AUTOMATIC" and "MANUAL". - :paramtype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode - :keyword backup_priority: Represents the user-specified priority for performing backups on this - replica relative to the other replicas in the same availability group. - :paramtype backup_priority: int - :keyword secondary_role_allow_connections: Whether the secondary replica should allow all - connections, no connections, or only ReadOnly connections. Known values are: "NO", "ALL", and - "READ_ONLY". - :paramtype secondary_role_allow_connections: str or - ~azure.mgmt.azurearcdata.models.SecondaryAllowConnections - :keyword secondary_role_read_only_routing_url: Connectivity endpoint (URL) of the read only - availability replica. - :paramtype secondary_role_read_only_routing_url: str - :keyword primary_role_allow_connections: Whether the primary replica should allow all - connections or only READ_WRITE connections (disallowing ReadOnly connections). Known values - are: "ALL" and "READ_WRITE". - :paramtype primary_role_allow_connections: str or - ~azure.mgmt.azurearcdata.models.PrimaryAllowConnections - :keyword primary_role_read_only_routing_list: List of read only routing URLs. - :paramtype primary_role_read_only_routing_list: list[str] - :keyword session_timeout: The time-out period of availability group session replica, in - seconds. - :paramtype session_timeout: int - """ - super().__init__(**kwargs) - self.server_instance = server_instance - self.endpoint_name = endpoint_name - self.endpoint_url = endpoint_url - self.endpoint_authentication_mode = endpoint_authentication_mode - self.certificate_name = certificate_name - self.endpoint_connect_login = endpoint_connect_login - self.availability_mode = availability_mode - self.failover_mode = failover_mode - self.seeding_mode = seeding_mode - self.backup_priority = backup_priority - self.secondary_role_allow_connections = secondary_role_allow_connections - self.secondary_role_read_only_routing_url = secondary_role_read_only_routing_url - self.primary_role_allow_connections = primary_role_allow_connections - self.primary_role_read_only_routing_list = primary_role_read_only_routing_list - self.session_timeout = session_timeout - - -class AvailabilityGroupInfo(_serialization.Model): - """The specifications of the availability group state. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar failure_condition_level: User-defined failure condition level under which an automatic - failover must be triggered. - :vartype failure_condition_level: int - :ivar health_check_timeout: Wait time (in milliseconds) for the sp_server_diagnostics system - stored procedure to return server-health information, before the server instance is assumed to - be slow or not responding. - :vartype health_check_timeout: int - :ivar automated_backup_preference_description: Preferred location for performing backups on the - availability databases in this availability group. - :vartype automated_backup_preference_description: str - :ivar version: SQL Server availability group current version. - :vartype version: int - :ivar basic_features: Specifies whether this is a basic availability group. - :vartype basic_features: bool - :ivar dtc_support: Specifies whether DTC support has been enabled for this availability group. - :vartype dtc_support: bool - :ivar db_failover: Specifies whether the availability group supports failover for database - health conditions. - :vartype db_failover: bool - :ivar is_distributed: Specifies whether this is a distributed availability group. - :vartype is_distributed: bool - :ivar cluster_type_description: SQL Server availability group cluster type description. - :vartype cluster_type_description: str - :ivar required_synchronized_secondaries_to_commit: The number of secondary replicas that must - be in a synchronized state for a commit to complete. - :vartype required_synchronized_secondaries_to_commit: int - :ivar is_contained: SQL Server availability group contained system databases. - :vartype is_contained: bool - :ivar primary_replica: Name of the server instance that is hosting the current primary replica. - :vartype primary_replica: str - :ivar primary_recovery_health_description: Indicates the recovery health of the primary - replica. - :vartype primary_recovery_health_description: str - :ivar secondary_recovery_health_description: Indicates the recovery health of a secondary - replica. - :vartype secondary_recovery_health_description: str - :ivar synchronization_health_description: Reflects a roll-up of the synchronization health of - all availability replicas in the availability group. - :vartype synchronization_health_description: str - :ivar replication_partner_type: Known values are: "SQLServer", "AzureSQLVM", - "AzureSQLManagedInstance", and "Unknown". - :vartype replication_partner_type: str or - ~azure.mgmt.azurearcdata.models.ReplicationPartnerType - :ivar listener: The listener for the sql server availability group. - :vartype listener: - ~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties - """ - - _validation = { - "automated_backup_preference_description": {"readonly": True}, - "version": {"readonly": True}, - "cluster_type_description": {"readonly": True}, - "primary_replica": {"readonly": True}, - "primary_recovery_health_description": {"readonly": True}, - "secondary_recovery_health_description": {"readonly": True}, - "synchronization_health_description": {"readonly": True}, - "replication_partner_type": {"readonly": True}, - } - - _attribute_map = { - "failure_condition_level": {"key": "failureConditionLevel", "type": "int"}, - "health_check_timeout": {"key": "healthCheckTimeout", "type": "int"}, - "automated_backup_preference_description": {"key": "automatedBackupPreferenceDescription", "type": "str"}, - "version": {"key": "version", "type": "int"}, - "basic_features": {"key": "basicFeatures", "type": "bool"}, - "dtc_support": {"key": "dtcSupport", "type": "bool"}, - "db_failover": {"key": "dbFailover", "type": "bool"}, - "is_distributed": {"key": "isDistributed", "type": "bool"}, - "cluster_type_description": {"key": "clusterTypeDescription", "type": "str"}, - "required_synchronized_secondaries_to_commit": { - "key": "requiredSynchronizedSecondariesToCommit", - "type": "int", - }, - "is_contained": {"key": "isContained", "type": "bool"}, - "primary_replica": {"key": "primaryReplica", "type": "str"}, - "primary_recovery_health_description": {"key": "primaryRecoveryHealthDescription", "type": "str"}, - "secondary_recovery_health_description": {"key": "secondaryRecoveryHealthDescription", "type": "str"}, - "synchronization_health_description": {"key": "synchronizationHealthDescription", "type": "str"}, - "replication_partner_type": {"key": "replicationPartnerType", "type": "str"}, - "listener": {"key": "listener", "type": "SqlAvailabilityGroupStaticIPListenerProperties"}, - } - - def __init__( - self, - *, - failure_condition_level: Optional[int] = None, - health_check_timeout: Optional[int] = None, - basic_features: Optional[bool] = None, - dtc_support: Optional[bool] = None, - db_failover: Optional[bool] = None, - is_distributed: Optional[bool] = None, - required_synchronized_secondaries_to_commit: Optional[int] = None, - is_contained: Optional[bool] = None, - listener: Optional["_models.SqlAvailabilityGroupStaticIPListenerProperties"] = None, - **kwargs: Any - ) -> None: - """ - :keyword failure_condition_level: User-defined failure condition level under which an automatic - failover must be triggered. - :paramtype failure_condition_level: int - :keyword health_check_timeout: Wait time (in milliseconds) for the sp_server_diagnostics system - stored procedure to return server-health information, before the server instance is assumed to - be slow or not responding. - :paramtype health_check_timeout: int - :keyword basic_features: Specifies whether this is a basic availability group. - :paramtype basic_features: bool - :keyword dtc_support: Specifies whether DTC support has been enabled for this availability - group. - :paramtype dtc_support: bool - :keyword db_failover: Specifies whether the availability group supports failover for database - health conditions. - :paramtype db_failover: bool - :keyword is_distributed: Specifies whether this is a distributed availability group. - :paramtype is_distributed: bool - :keyword required_synchronized_secondaries_to_commit: The number of secondary replicas that - must be in a synchronized state for a commit to complete. - :paramtype required_synchronized_secondaries_to_commit: int - :keyword is_contained: SQL Server availability group contained system databases. - :paramtype is_contained: bool - :keyword listener: The listener for the sql server availability group. - :paramtype listener: - ~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties - """ - super().__init__(**kwargs) - self.failure_condition_level = failure_condition_level - self.health_check_timeout = health_check_timeout - self.automated_backup_preference_description: Optional[str] = None - self.version: Optional[int] = None - self.basic_features = basic_features - self.dtc_support = dtc_support - self.db_failover = db_failover - self.is_distributed = is_distributed - self.cluster_type_description: Optional[str] = None - self.required_synchronized_secondaries_to_commit = required_synchronized_secondaries_to_commit - self.is_contained = is_contained - self.primary_replica: Optional[str] = None - self.primary_recovery_health_description: Optional[str] = None - self.secondary_recovery_health_description: Optional[str] = None - self.synchronization_health_description: Optional[str] = None - self.replication_partner_type: Optional[Union[str, "_models.ReplicationPartnerType"]] = None - self.listener = listener - - -class AvailabilityGroupRetrievalFilters(_serialization.Model): - """AvailabilityGroupRetrievalFilters. - - :ivar availability_group_type_filter: Filter retrieval based on availability group type. Known - values are: "CONTAINED", "DISTRIBUTED", and "DEFAULT". - :vartype availability_group_type_filter: str or - ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityGroupTypeFilter - :ivar replication_partner_type_filter: Known values are: "SQLServer", "AzureSQLVM", - "AzureSQLManagedInstance", and "Unknown". - :vartype replication_partner_type_filter: str or - ~azure.mgmt.azurearcdata.models.ReplicationPartnerType - """ - - _attribute_map = { - "availability_group_type_filter": {"key": "availabilityGroupTypeFilter", "type": "str"}, - "replication_partner_type_filter": {"key": "replicationPartnerTypeFilter", "type": "str"}, - } - - def __init__( - self, - *, - availability_group_type_filter: Optional[Union[str, "_models.ArcSqlServerAvailabilityGroupTypeFilter"]] = None, - replication_partner_type_filter: Optional[Union[str, "_models.ReplicationPartnerType"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword availability_group_type_filter: Filter retrieval based on availability group type. - Known values are: "CONTAINED", "DISTRIBUTED", and "DEFAULT". - :paramtype availability_group_type_filter: str or - ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityGroupTypeFilter - :keyword replication_partner_type_filter: Known values are: "SQLServer", "AzureSQLVM", - "AzureSQLManagedInstance", and "Unknown". - :paramtype replication_partner_type_filter: str or - ~azure.mgmt.azurearcdata.models.ReplicationPartnerType - """ - super().__init__(**kwargs) - self.availability_group_type_filter = availability_group_type_filter - self.replication_partner_type_filter = replication_partner_type_filter - - -class AvailabilityGroupState(_serialization.Model): - """The specifications of the availability group state. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar availability_group_replica_role: Current Always On availability groups role of the - availability group replica. - :vartype availability_group_replica_role: str - :ivar operational_state_description: Current operational state of the availability group - replica. - :vartype operational_state_description: str - :ivar recovery_health_description: Recovery health of the availability group replica. - :vartype recovery_health_description: str - :ivar synchronization_health_description: Reflects a rollup of the database synchronization - state (synchronization_state) of all joined availability databases (also known as replicas) and - the availability mode of the replica (synchronous-commit or asynchronous-commit mode). The - rollup will reflect the least healthy accumulated state the databases on the replica. - :vartype synchronization_health_description: str - :ivar connected_state_description: Whether a secondary replica is currently connected to the - primary replica. - :vartype connected_state_description: str - :ivar last_connect_error_description: Text description of the last connection error of the - availability group replica. - :vartype last_connect_error_description: str - :ivar last_connect_error_timestamp: Date and time timestamp indicating when the last connect - error occurred. - :vartype last_connect_error_timestamp: ~datetime.datetime - """ - - _validation = { - "availability_group_replica_role": {"readonly": True}, - "operational_state_description": {"readonly": True}, - "recovery_health_description": {"readonly": True}, - "synchronization_health_description": {"readonly": True}, - "connected_state_description": {"readonly": True}, - "last_connect_error_description": {"readonly": True}, - "last_connect_error_timestamp": {"readonly": True}, - } - - _attribute_map = { - "availability_group_replica_role": {"key": "availabilityGroupReplicaRole", "type": "str"}, - "operational_state_description": {"key": "operationalStateDescription", "type": "str"}, - "recovery_health_description": {"key": "recoveryHealthDescription", "type": "str"}, - "synchronization_health_description": {"key": "synchronizationHealthDescription", "type": "str"}, - "connected_state_description": {"key": "connectedStateDescription", "type": "str"}, - "last_connect_error_description": {"key": "lastConnectErrorDescription", "type": "str"}, - "last_connect_error_timestamp": {"key": "lastConnectErrorTimestamp", "type": "iso-8601"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.availability_group_replica_role: Optional[str] = None - self.operational_state_description: Optional[str] = None - self.recovery_health_description: Optional[str] = None - self.synchronization_health_description: Optional[str] = None - self.connected_state_description: Optional[str] = None - self.last_connect_error_description: Optional[str] = None - self.last_connect_error_timestamp: Optional[datetime.datetime] = None - - -class BackgroundJob(_serialization.Model): - """The background job details. - - :ivar state: The state of the background job. Known values are: "Inactive", "Active", - "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", and "Suspended". - :vartype state: str or ~azure.mgmt.azurearcdata.models.State - :ivar execution_state: The execution state of the background job. Known values are: "Waiting" - and "Running". - :vartype execution_state: str or ~azure.mgmt.azurearcdata.models.ExecutionState - :ivar start_time: The start time of the background job. - :vartype start_time: ~datetime.datetime - :ivar end_time: The end time of the background job. - :vartype end_time: ~datetime.datetime - :ivar last_execution_status: The last execution status of the background job. Known values are: - "Succeeded", "Completed", "Failed", "Faulted", "Postponed", and "Rescheduled". - :vartype last_execution_status: str or ~azure.mgmt.azurearcdata.models.LastExecutionStatus - :ivar last_execution_time: The last execution time of the background job in ISO 8601 date-time - format. - :vartype last_execution_time: ~datetime.datetime - :ivar next_execution_time: The next execution time of the background job in ISO 8601 date-time - format. - :vartype next_execution_time: ~datetime.datetime - """ - - _attribute_map = { - "state": {"key": "state", "type": "str"}, - "execution_state": {"key": "executionState", "type": "str"}, - "start_time": {"key": "startTime", "type": "iso-8601"}, - "end_time": {"key": "endTime", "type": "iso-8601"}, - "last_execution_status": {"key": "lastExecutionStatus", "type": "str"}, - "last_execution_time": {"key": "lastExecutionTime", "type": "iso-8601"}, - "next_execution_time": {"key": "nextExecutionTime", "type": "iso-8601"}, - } - - def __init__( - self, - *, - state: Optional[Union[str, "_models.State"]] = None, - execution_state: Optional[Union[str, "_models.ExecutionState"]] = None, - start_time: Optional[datetime.datetime] = None, - end_time: Optional[datetime.datetime] = None, - last_execution_status: Optional[Union[str, "_models.LastExecutionStatus"]] = None, - last_execution_time: Optional[datetime.datetime] = None, - next_execution_time: Optional[datetime.datetime] = None, - **kwargs: Any - ) -> None: - """ - :keyword state: The state of the background job. Known values are: "Inactive", "Active", - "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", and "Suspended". - :paramtype state: str or ~azure.mgmt.azurearcdata.models.State - :keyword execution_state: The execution state of the background job. Known values are: - "Waiting" and "Running". - :paramtype execution_state: str or ~azure.mgmt.azurearcdata.models.ExecutionState - :keyword start_time: The start time of the background job. - :paramtype start_time: ~datetime.datetime - :keyword end_time: The end time of the background job. - :paramtype end_time: ~datetime.datetime - :keyword last_execution_status: The last execution status of the background job. Known values - are: "Succeeded", "Completed", "Failed", "Faulted", "Postponed", and "Rescheduled". - :paramtype last_execution_status: str or ~azure.mgmt.azurearcdata.models.LastExecutionStatus - :keyword last_execution_time: The last execution time of the background job in ISO 8601 - date-time format. - :paramtype last_execution_time: ~datetime.datetime - :keyword next_execution_time: The next execution time of the background job in ISO 8601 - date-time format. - :paramtype next_execution_time: ~datetime.datetime - """ - super().__init__(**kwargs) - self.state = state - self.execution_state = execution_state - self.start_time = start_time - self.end_time = end_time - self.last_execution_status = last_execution_status - self.last_execution_time = last_execution_time - self.next_execution_time = next_execution_time - - -class BackupPolicy(_serialization.Model): - """The backup profile for the SQL server. - - :ivar retention_period_days: The retention period for all the databases in this managed - instance. - :vartype retention_period_days: int - :ivar full_backup_days: The value indicating days between full backups. - :vartype full_backup_days: int - :ivar differential_backup_hours: The differential backup interval in hours. Known values are: - 12 and 24. - :vartype differential_backup_hours: int or - ~azure.mgmt.azurearcdata.models.DifferentialBackupHours - :ivar transaction_log_backup_minutes: The value indicating minutes between transaction log - backups. - :vartype transaction_log_backup_minutes: int - """ - - _validation = { - "retention_period_days": {"maximum": 35, "minimum": 0}, - "full_backup_days": {"maximum": 7, "minimum": 0}, - "transaction_log_backup_minutes": {"maximum": 60, "minimum": 0}, - } - - _attribute_map = { - "retention_period_days": {"key": "retentionPeriodDays", "type": "int"}, - "full_backup_days": {"key": "fullBackupDays", "type": "int"}, - "differential_backup_hours": {"key": "differentialBackupHours", "type": "int"}, - "transaction_log_backup_minutes": {"key": "transactionLogBackupMinutes", "type": "int"}, - } - - def __init__( - self, - *, - retention_period_days: Optional[int] = None, - full_backup_days: Optional[int] = None, - differential_backup_hours: Optional[Union[int, "_models.DifferentialBackupHours"]] = None, - transaction_log_backup_minutes: Optional[int] = None, - **kwargs: Any - ) -> None: - """ - :keyword retention_period_days: The retention period for all the databases in this managed - instance. - :paramtype retention_period_days: int - :keyword full_backup_days: The value indicating days between full backups. - :paramtype full_backup_days: int - :keyword differential_backup_hours: The differential backup interval in hours. Known values - are: 12 and 24. - :paramtype differential_backup_hours: int or - ~azure.mgmt.azurearcdata.models.DifferentialBackupHours - :keyword transaction_log_backup_minutes: The value indicating minutes between transaction log - backups. - :paramtype transaction_log_backup_minutes: int - """ - super().__init__(**kwargs) - self.retention_period_days = retention_period_days - self.full_backup_days = full_backup_days - self.differential_backup_hours = differential_backup_hours - self.transaction_log_backup_minutes = transaction_log_backup_minutes - - -class BasicLoginInformation(_serialization.Model): - """Username and password for basic login authentication. - - :ivar username: Login username. - :vartype username: str - :ivar password: Login password. - :vartype password: str - """ - - _attribute_map = { - "username": {"key": "username", "type": "str"}, - "password": {"key": "password", "type": "str"}, - } - - def __init__(self, *, username: Optional[str] = None, password: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword username: Login username. - :paramtype username: str - :keyword password: Login password. - :paramtype password: str - """ - super().__init__(**kwargs) - self.username = username - self.password = password - - -class BestPracticesAssessment(_serialization.Model): - """The configuration related to SQL best practices assessment. - - :ivar enabled: Indicates if SQL best practices assessment is enabled for the SQL Server - instance. - :vartype enabled: bool - :ivar schedule: The scheduling configuration. - :vartype schedule: ~azure.mgmt.azurearcdata.models.Schedule - """ - - _attribute_map = { - "enabled": {"key": "enabled", "type": "bool"}, - "schedule": {"key": "schedule", "type": "Schedule"}, - } - - def __init__( - self, *, enabled: Optional[bool] = None, schedule: Optional["_models.Schedule"] = None, **kwargs: Any - ) -> None: - """ - :keyword enabled: Indicates if SQL best practices assessment is enabled for the SQL Server - instance. - :paramtype enabled: bool - :keyword schedule: The scheduling configuration. - :paramtype schedule: ~azure.mgmt.azurearcdata.models.Schedule - """ - super().__init__(**kwargs) - self.enabled = enabled - self.schedule = schedule - - -class ClientConnection(_serialization.Model): - """Client connection related configuration. - - :ivar enabled: Indicates if client connection is enabled for this SQL Server instance. - :vartype enabled: bool - """ - - _attribute_map = { - "enabled": {"key": "enabled", "type": "bool"}, - } - - def __init__(self, *, enabled: Optional[bool] = None, **kwargs: Any) -> None: - """ - :keyword enabled: Indicates if client connection is enabled for this SQL Server instance. - :paramtype enabled: bool - """ - super().__init__(**kwargs) - self.enabled = enabled - - -class CommonSku(_serialization.Model): - """The resource model definition representing SKU for ARM resources. - - All required parameters must be populated in order to send to server. - - :ivar name: The name of the SKU. It is typically a letter+number code. Required. - :vartype name: str - :ivar dev: Whether dev/test is enabled. When the dev field is set to true, the resource is used - for dev/test purpose. - :vartype dev: bool - :ivar size: The SKU size. When the name field is the combination of tier and some other value, - this would be the standalone code. - :vartype size: str - :ivar family: If the service has different generations of hardware, for the same SKU, then that - can be captured here. - :vartype family: str - :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included. - If scale out/in is not possible for the resource this may be omitted. - :vartype capacity: int - """ - - _validation = { - "name": {"required": True}, - } - - _attribute_map = { - "name": {"key": "name", "type": "str"}, - "dev": {"key": "dev", "type": "bool"}, - "size": {"key": "size", "type": "str"}, - "family": {"key": "family", "type": "str"}, - "capacity": {"key": "capacity", "type": "int"}, - } - - def __init__( - self, - *, - name: str, - dev: bool = True, - size: Optional[str] = None, - family: Optional[str] = None, - capacity: Optional[int] = None, - **kwargs: Any - ) -> None: - """ - :keyword name: The name of the SKU. It is typically a letter+number code. Required. - :paramtype name: str - :keyword dev: Whether dev/test is enabled. When the dev field is set to true, the resource is - used for dev/test purpose. - :paramtype dev: bool - :keyword size: The SKU size. When the name field is the combination of tier and some other - value, this would be the standalone code. - :paramtype size: str - :keyword family: If the service has different generations of hardware, for the same SKU, then - that can be captured here. - :paramtype family: str - :keyword capacity: If the SKU supports scale out/in then the capacity integer should be - included. If scale out/in is not possible for the resource this may be omitted. - :paramtype capacity: int - """ - super().__init__(**kwargs) - self.name = name - self.dev = dev - self.size = size - self.family = family - self.capacity = capacity - - -class CostOptionSelectedValues(_serialization.Model): - """Cost option value for the different cost factors selected. - - :ivar compute_and_storage_cost_option: selected cost saving option e.g. With1YearASPAndDevTest. - :vartype compute_and_storage_cost_option: str - :ivar sql_license_cost_option: With Azure Hybrid Benefit(AHB) or not for SQL. - :vartype sql_license_cost_option: str - :ivar windows_license_cost_option: With Azure Hybrid Benefit(AHB) or not for Windows. - :vartype windows_license_cost_option: str - """ - - _attribute_map = { - "compute_and_storage_cost_option": {"key": "computeAndStorageCostOption", "type": "str"}, - "sql_license_cost_option": {"key": "sqlLicenseCostOption", "type": "str"}, - "windows_license_cost_option": {"key": "windowsLicenseCostOption", "type": "str"}, - } - - def __init__( - self, - *, - compute_and_storage_cost_option: Optional[str] = None, - sql_license_cost_option: Optional[str] = None, - windows_license_cost_option: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword compute_and_storage_cost_option: selected cost saving option e.g. - With1YearASPAndDevTest. - :paramtype compute_and_storage_cost_option: str - :keyword sql_license_cost_option: With Azure Hybrid Benefit(AHB) or not for SQL. - :paramtype sql_license_cost_option: str - :keyword windows_license_cost_option: With Azure Hybrid Benefit(AHB) or not for Windows. - :paramtype windows_license_cost_option: str - """ - super().__init__(**kwargs) - self.compute_and_storage_cost_option = compute_and_storage_cost_option - self.sql_license_cost_option = sql_license_cost_option - self.windows_license_cost_option = windows_license_cost_option - - -class CostTypeValues(_serialization.Model): - """The Monthly cost of the particular SKU. - - :ivar compute_cost: Represents the Cost of Compute. - :vartype compute_cost: float - :ivar storage_cost: Represents the Cost of Storage. - :vartype storage_cost: float - :ivar iops_cost: Represents the Cost of IOPS. - :vartype iops_cost: float - """ - - _attribute_map = { - "compute_cost": {"key": "computeCost", "type": "float"}, - "storage_cost": {"key": "storageCost", "type": "float"}, - "iops_cost": {"key": "iopsCost", "type": "float"}, - } - - def __init__( - self, - *, - compute_cost: Optional[float] = None, - storage_cost: Optional[float] = None, - iops_cost: Optional[float] = None, - **kwargs: Any - ) -> None: - """ - :keyword compute_cost: Represents the Cost of Compute. - :paramtype compute_cost: float - :keyword storage_cost: Represents the Cost of Storage. - :paramtype storage_cost: float - :keyword iops_cost: Represents the Cost of IOPS. - :paramtype iops_cost: float - """ - super().__init__(**kwargs) - self.compute_cost = compute_cost - self.storage_cost = storage_cost - self.iops_cost = iops_cost - - -class CronTrigger(_serialization.Model): - """The cron trigger configuration. - - :ivar start_time: Indicates the start time for the trigger. The default value is the time at - which the trigger was created. - :vartype start_time: str - :ivar time_zone: The time zone in which the trigger is scheduled. - :vartype time_zone: str - :ivar expression: A cron string representing a CronTab expression. A crontab expression is a - very compact way to express a recurring schedule with the following format: '{minutes} {hours} - {days} {months} {days-of-week}'. - :vartype expression: str - """ - - _attribute_map = { - "start_time": {"key": "startTime", "type": "str"}, - "time_zone": {"key": "timeZone", "type": "str"}, - "expression": {"key": "expression", "type": "str"}, - } - - def __init__( - self, - *, - start_time: Optional[str] = None, - time_zone: Optional[str] = None, - expression: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword start_time: Indicates the start time for the trigger. The default value is the time at - which the trigger was created. - :paramtype start_time: str - :keyword time_zone: The time zone in which the trigger is scheduled. - :paramtype time_zone: str - :keyword expression: A cron string representing a CronTab expression. A crontab expression is a - very compact way to express a recurring schedule with the following format: '{minutes} {hours} - {days} {months} {days-of-week}'. - :paramtype expression: str - """ - super().__init__(**kwargs) - self.start_time = start_time - self.time_zone = time_zone - self.expression = expression - - -class DatabaseAssessmentsItem(_serialization.Model): - """DatabaseAssessmentsItem. - - :ivar applies_to_migration_target_platform: - :vartype applies_to_migration_target_platform: str - :ivar feature_id: - :vartype feature_id: str - :ivar issue_category: - :vartype issue_category: str - :ivar more_information: - :vartype more_information: str - """ - - _attribute_map = { - "applies_to_migration_target_platform": {"key": "appliesToMigrationTargetPlatform", "type": "str"}, - "feature_id": {"key": "featureId", "type": "str"}, - "issue_category": {"key": "issueCategory", "type": "str"}, - "more_information": {"key": "moreInformation", "type": "str"}, - } - - def __init__( - self, - *, - applies_to_migration_target_platform: Optional[str] = None, - feature_id: Optional[str] = None, - issue_category: Optional[str] = None, - more_information: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword applies_to_migration_target_platform: - :paramtype applies_to_migration_target_platform: str - :keyword feature_id: - :paramtype feature_id: str - :keyword issue_category: - :paramtype issue_category: str - :keyword more_information: - :paramtype more_information: str - """ - super().__init__(**kwargs) - self.applies_to_migration_target_platform = applies_to_migration_target_platform - self.feature_id = feature_id - self.issue_category = issue_category - self.more_information = more_information - - -class DataBaseMigration(_serialization.Model): - """Migration related configuration. - - :ivar assessment: Migration assessments related configuration. - :vartype assessment: ~azure.mgmt.azurearcdata.models.DataBaseMigrationAssessment - :ivar jobs: Migration jobs/actual data movement/data migrations associated with this database - related information. - :vartype jobs: list[~azure.mgmt.azurearcdata.models.DatabaseMigrationJobsItem] - """ - - _attribute_map = { - "assessment": {"key": "assessment", "type": "DataBaseMigrationAssessment"}, - "jobs": {"key": "jobs", "type": "[DatabaseMigrationJobsItem]"}, - } - - def __init__( - self, - *, - assessment: Optional["_models.DataBaseMigrationAssessment"] = None, - jobs: Optional[list["_models.DatabaseMigrationJobsItem"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword assessment: Migration assessments related configuration. - :paramtype assessment: ~azure.mgmt.azurearcdata.models.DataBaseMigrationAssessment - :keyword jobs: Migration jobs/actual data movement/data migrations associated with this - database related information. - :paramtype jobs: list[~azure.mgmt.azurearcdata.models.DatabaseMigrationJobsItem] - """ - super().__init__(**kwargs) - self.assessment = assessment - self.jobs = jobs - - -class DataBaseMigrationAssessment(_serialization.Model): - """The migration assessment related configuration. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar assessment_upload_time: The time when Migration Assessment Report upload was last - performed. - :vartype assessment_upload_time: ~datetime.datetime - :ivar target_recommendation_generation_time: The UTC timestamp in ISO 8601 format indicating - when the latest target recommendations were generated for this database. This value is set as - part of a successful RunTargetRecommendation job and is independent of when the migration - readiness results were uploaded (assessmentUploadTime). - :vartype target_recommendation_generation_time: ~datetime.datetime - :ivar database_assessments: Issues and warnings impacting the migration of Database to - particular Azure Migration Target. - :vartype database_assessments: list[~azure.mgmt.azurearcdata.models.DatabaseAssessmentsItem] - :ivar target_readiness: The target readiness for migration for this database. - :vartype target_readiness: ~azure.mgmt.azurearcdata.models.TargetReadiness - """ - - _validation = { - "assessment_upload_time": {"readonly": True}, - "target_recommendation_generation_time": {"readonly": True}, - "database_assessments": {"readonly": True}, - "target_readiness": {"readonly": True}, - } - - _attribute_map = { - "assessment_upload_time": {"key": "assessmentUploadTime", "type": "iso-8601"}, - "target_recommendation_generation_time": {"key": "targetRecommendationGenerationTime", "type": "iso-8601"}, - "database_assessments": {"key": "databaseAssessments", "type": "[DatabaseAssessmentsItem]"}, - "target_readiness": {"key": "targetReadiness", "type": "TargetReadiness"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.assessment_upload_time: Optional[datetime.datetime] = None - self.target_recommendation_generation_time: Optional[datetime.datetime] = None - self.database_assessments: Optional[list["_models.DatabaseAssessmentsItem"]] = None - self.target_readiness: Optional["_models.TargetReadiness"] = None - - -class DatabaseMigrationJobsItem(_serialization.Model): - """DatabaseMigrationJobsItem. - - :ivar migration_tracking_id: Reference identifier for tracking purposes/optional link to system - initiating this migration. e.g. Arc MI link job id, DMS resource id. - :vartype migration_tracking_id: str - :ivar migration_mode: Mode/type of migration. Known values are: "LogShipping", "MILink", - "Logical", "Other", and "Unknown". - :vartype migration_mode: str or ~azure.mgmt.azurearcdata.models.MigrationMode - :ivar initiated_from: To indicate the client from which the migration is initiated from e.g. - Azure Arc, DMS-Azure Portal/PS/CLI for additional tracking. Known values are: "Azure Arc", - "ADS", "SSMS", "SSMA", "DMS-Portal", "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". - :vartype initiated_from: str or ~azure.mgmt.azurearcdata.models.InitiatedFrom - :ivar status: Status of the migration job. Known values are: "NotStarted", "InProgress", - "InProgressWithWarnings", "Cancelled", "Failed", "Successful", and "Unknown". - :vartype status: str or ~azure.mgmt.azurearcdata.models.MigrationStatus - :ivar last_error: Last error if any associated with this migration job. - :vartype last_error: str - :ivar target_type: Type of target in Azure this database is being migrated to. Known values - are: "AzureSqlDatabase", "AzureSqlManagedInstance", and "AzureSqlVirtualMachine". - :vartype target_type: str or ~azure.mgmt.azurearcdata.models.TargetType - :ivar target_resource_id: Resource Id of the target SQL resource for this migration job. - :vartype target_resource_id: str - :ivar start_time: Time when migration job was started. - :vartype start_time: ~datetime.datetime - :ivar end_time: Time when migration job reached terminal state. - :vartype end_time: ~datetime.datetime - :ivar additional_attributes: - :vartype additional_attributes: - list[~azure.mgmt.azurearcdata.models.AdditionalMigrationJobAttributes] - """ - - _attribute_map = { - "migration_tracking_id": {"key": "migrationTrackingId", "type": "str"}, - "migration_mode": {"key": "migrationMode", "type": "str"}, - "initiated_from": {"key": "initiatedFrom", "type": "str"}, - "status": {"key": "status", "type": "str"}, - "last_error": {"key": "lastError", "type": "str"}, - "target_type": {"key": "targetType", "type": "str"}, - "target_resource_id": {"key": "targetResourceId", "type": "str"}, - "start_time": {"key": "startTime", "type": "iso-8601"}, - "end_time": {"key": "endTime", "type": "iso-8601"}, - "additional_attributes": {"key": "additionalAttributes", "type": "[AdditionalMigrationJobAttributes]"}, - } - - def __init__( - self, - *, - migration_tracking_id: Optional[str] = None, - migration_mode: Optional[Union[str, "_models.MigrationMode"]] = None, - initiated_from: Optional[Union[str, "_models.InitiatedFrom"]] = None, - status: Optional[Union[str, "_models.MigrationStatus"]] = None, - last_error: Optional[str] = None, - target_type: Optional[Union[str, "_models.TargetType"]] = None, - target_resource_id: Optional[str] = None, - start_time: Optional[datetime.datetime] = None, - end_time: Optional[datetime.datetime] = None, - additional_attributes: Optional[list["_models.AdditionalMigrationJobAttributes"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword migration_tracking_id: Reference identifier for tracking purposes/optional link to - system initiating this migration. e.g. Arc MI link job id, DMS resource id. - :paramtype migration_tracking_id: str - :keyword migration_mode: Mode/type of migration. Known values are: "LogShipping", "MILink", - "Logical", "Other", and "Unknown". - :paramtype migration_mode: str or ~azure.mgmt.azurearcdata.models.MigrationMode - :keyword initiated_from: To indicate the client from which the migration is initiated from e.g. - Azure Arc, DMS-Azure Portal/PS/CLI for additional tracking. Known values are: "Azure Arc", - "ADS", "SSMS", "SSMA", "DMS-Portal", "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". - :paramtype initiated_from: str or ~azure.mgmt.azurearcdata.models.InitiatedFrom - :keyword status: Status of the migration job. Known values are: "NotStarted", "InProgress", - "InProgressWithWarnings", "Cancelled", "Failed", "Successful", and "Unknown". - :paramtype status: str or ~azure.mgmt.azurearcdata.models.MigrationStatus - :keyword last_error: Last error if any associated with this migration job. - :paramtype last_error: str - :keyword target_type: Type of target in Azure this database is being migrated to. Known values - are: "AzureSqlDatabase", "AzureSqlManagedInstance", and "AzureSqlVirtualMachine". - :paramtype target_type: str or ~azure.mgmt.azurearcdata.models.TargetType - :keyword target_resource_id: Resource Id of the target SQL resource for this migration job. - :paramtype target_resource_id: str - :keyword start_time: Time when migration job was started. - :paramtype start_time: ~datetime.datetime - :keyword end_time: Time when migration job reached terminal state. - :paramtype end_time: ~datetime.datetime - :keyword additional_attributes: - :paramtype additional_attributes: - list[~azure.mgmt.azurearcdata.models.AdditionalMigrationJobAttributes] - """ - super().__init__(**kwargs) - self.migration_tracking_id = migration_tracking_id - self.migration_mode = migration_mode - self.initiated_from = initiated_from - self.status = status - self.last_error = last_error - self.target_type = target_type - self.target_resource_id = target_resource_id - self.start_time = start_time - self.end_time = end_time - self.additional_attributes = additional_attributes - - -class Databases(_serialization.Model): - """List of database names. - - :ivar values: List of database names. - :vartype values: list[str] - """ - - _attribute_map = { - "values": {"key": "values", "type": "[str]"}, - } - - def __init__(self, *, values: Optional[list[str]] = None, **kwargs: Any) -> None: - """ - :keyword values: List of database names. - :paramtype values: list[str] - """ - super().__init__(**kwargs) - self.values = values - - -class DataControllerProperties(_serialization.Model): - """The data controller properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar infrastructure: The infrastructure the data controller is running on. Known values are: - "azure", "gcp", "aws", "alibaba", "onpremises", and "other". - :vartype infrastructure: str or ~azure.mgmt.azurearcdata.models.Infrastructure - :ivar on_premise_property: Properties from the Kubernetes data controller. - :vartype on_premise_property: ~azure.mgmt.azurearcdata.models.OnPremiseProperty - :ivar k8_s_raw: The raw kubernetes information. - :vartype k8_s_raw: JSON - :ivar upload_watermark: Properties on upload watermark. Mostly timestamp for each upload data - type. - :vartype upload_watermark: ~azure.mgmt.azurearcdata.models.UploadWatermark - :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date - time. - :vartype last_uploaded_date: ~datetime.datetime - :ivar basic_login_information: Deprecated. Azure Arc Data Services data controller no longer - expose any endpoint. All traffic are exposed through Kubernetes native API. - :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar metrics_dashboard_credential: Login credential for metrics dashboard on the Kubernetes - cluster. - :vartype metrics_dashboard_credential: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar logs_dashboard_credential: Login credential for logs dashboard on the Kubernetes cluster. - :vartype logs_dashboard_credential: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar log_analytics_workspace_config: Log analytics workspace id and primary key. - :vartype log_analytics_workspace_config: - ~azure.mgmt.azurearcdata.models.LogAnalyticsWorkspaceConfig - :ivar upload_service_principal: Deprecated. Service principal is deprecated in favor of Arc - Kubernetes service extension managed identity. - :vartype upload_service_principal: ~azure.mgmt.azurearcdata.models.UploadServicePrincipal - :ivar provisioning_state: The provisioning state of the Arc Data Controller resource. - :vartype provisioning_state: str - :ivar cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected - cluster the custom location belongs to. - :vartype cluster_id: str - :ivar extension_id: If a CustomLocation is provided, this contains the ARM id of the extension - the custom location belongs to. - :vartype extension_id: str - """ - - _validation = { - "provisioning_state": {"readonly": True}, - } - - _attribute_map = { - "infrastructure": {"key": "infrastructure", "type": "str"}, - "on_premise_property": {"key": "onPremiseProperty", "type": "OnPremiseProperty"}, - "k8_s_raw": {"key": "k8sRaw", "type": "object"}, - "upload_watermark": {"key": "uploadWatermark", "type": "UploadWatermark"}, - "last_uploaded_date": {"key": "lastUploadedDate", "type": "iso-8601"}, - "basic_login_information": {"key": "basicLoginInformation", "type": "BasicLoginInformation"}, - "metrics_dashboard_credential": {"key": "metricsDashboardCredential", "type": "BasicLoginInformation"}, - "logs_dashboard_credential": {"key": "logsDashboardCredential", "type": "BasicLoginInformation"}, - "log_analytics_workspace_config": {"key": "logAnalyticsWorkspaceConfig", "type": "LogAnalyticsWorkspaceConfig"}, - "upload_service_principal": {"key": "uploadServicePrincipal", "type": "UploadServicePrincipal"}, - "provisioning_state": {"key": "provisioningState", "type": "str"}, - "cluster_id": {"key": "clusterId", "type": "str"}, - "extension_id": {"key": "extensionId", "type": "str"}, - } - - def __init__( - self, - *, - infrastructure: Union[str, "_models.Infrastructure"] = "other", - on_premise_property: Optional["_models.OnPremiseProperty"] = None, - k8_s_raw: Optional[JSON] = None, - upload_watermark: Optional["_models.UploadWatermark"] = None, - last_uploaded_date: Optional[datetime.datetime] = None, - basic_login_information: Optional["_models.BasicLoginInformation"] = None, - metrics_dashboard_credential: Optional["_models.BasicLoginInformation"] = None, - logs_dashboard_credential: Optional["_models.BasicLoginInformation"] = None, - log_analytics_workspace_config: Optional["_models.LogAnalyticsWorkspaceConfig"] = None, - upload_service_principal: Optional["_models.UploadServicePrincipal"] = None, - cluster_id: Optional[str] = None, - extension_id: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword infrastructure: The infrastructure the data controller is running on. Known values - are: "azure", "gcp", "aws", "alibaba", "onpremises", and "other". - :paramtype infrastructure: str or ~azure.mgmt.azurearcdata.models.Infrastructure - :keyword on_premise_property: Properties from the Kubernetes data controller. - :paramtype on_premise_property: ~azure.mgmt.azurearcdata.models.OnPremiseProperty - :keyword k8_s_raw: The raw kubernetes information. - :paramtype k8_s_raw: JSON - :keyword upload_watermark: Properties on upload watermark. Mostly timestamp for each upload - data type. - :paramtype upload_watermark: ~azure.mgmt.azurearcdata.models.UploadWatermark - :keyword last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current - date time. - :paramtype last_uploaded_date: ~datetime.datetime - :keyword basic_login_information: Deprecated. Azure Arc Data Services data controller no longer - expose any endpoint. All traffic are exposed through Kubernetes native API. - :paramtype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :keyword metrics_dashboard_credential: Login credential for metrics dashboard on the Kubernetes - cluster. - :paramtype metrics_dashboard_credential: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :keyword logs_dashboard_credential: Login credential for logs dashboard on the Kubernetes - cluster. - :paramtype logs_dashboard_credential: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :keyword log_analytics_workspace_config: Log analytics workspace id and primary key. - :paramtype log_analytics_workspace_config: - ~azure.mgmt.azurearcdata.models.LogAnalyticsWorkspaceConfig - :keyword upload_service_principal: Deprecated. Service principal is deprecated in favor of Arc - Kubernetes service extension managed identity. - :paramtype upload_service_principal: ~azure.mgmt.azurearcdata.models.UploadServicePrincipal - :keyword cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected - cluster the custom location belongs to. - :paramtype cluster_id: str - :keyword extension_id: If a CustomLocation is provided, this contains the ARM id of the - extension the custom location belongs to. - :paramtype extension_id: str - """ - super().__init__(**kwargs) - self.infrastructure = infrastructure - self.on_premise_property = on_premise_property - self.k8_s_raw = k8_s_raw - self.upload_watermark = upload_watermark - self.last_uploaded_date = last_uploaded_date - self.basic_login_information = basic_login_information - self.metrics_dashboard_credential = metrics_dashboard_credential - self.logs_dashboard_credential = logs_dashboard_credential - self.log_analytics_workspace_config = log_analytics_workspace_config - self.upload_service_principal = upload_service_principal - self.provisioning_state: Optional[str] = None - self.cluster_id = cluster_id - self.extension_id = extension_id - - -class TrackedResource(Resource): - """The resource model definition for an Azure Resource Manager tracked top level resource which - has 'tags' and a 'location'. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - } - - def __init__(self, *, location: str, tags: Optional[dict[str, str]] = None, **kwargs: Any) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - """ - super().__init__(**kwargs) - self.tags = tags - self.location = location - - -class DataControllerResource(TrackedResource): - """Data controller resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar extended_location: The extendedLocation of the resource. - :vartype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation - :ivar properties: The data controller's properties. Required. - :vartype properties: ~azure.mgmt.azurearcdata.models.DataControllerProperties - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - "properties": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"}, - "properties": {"key": "properties", "type": "DataControllerProperties"}, - } - - def __init__( - self, - *, - location: str, - properties: "_models.DataControllerProperties", - tags: Optional[dict[str, str]] = None, - extended_location: Optional["_models.ExtendedLocation"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword extended_location: The extendedLocation of the resource. - :paramtype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation - :keyword properties: The data controller's properties. Required. - :paramtype properties: ~azure.mgmt.azurearcdata.models.DataControllerProperties - """ - super().__init__(tags=tags, location=location, **kwargs) - self.extended_location = extended_location - self.properties = properties - - -class DataControllerUpdate(_serialization.Model): - """Used for updating a data controller resource. - - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar properties: The data controller's properties. - :vartype properties: ~azure.mgmt.azurearcdata.models.DataControllerProperties - """ - - _attribute_map = { - "tags": {"key": "tags", "type": "{str}"}, - "properties": {"key": "properties", "type": "DataControllerProperties"}, - } - - def __init__( - self, - *, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.DataControllerProperties"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword properties: The data controller's properties. - :paramtype properties: ~azure.mgmt.azurearcdata.models.DataControllerProperties - """ - super().__init__(**kwargs) - self.tags = tags - self.properties = properties - - -class DBMEndpoint(_serialization.Model): - """Database mirroring endpoint related properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar endpoint_name: Name of the database mirroring endpoint. - :vartype endpoint_name: str - :ivar role: Mirroring Role. Known values are: "NONE", "PARTNER", "WITNESS", and "ALL". - :vartype role: str or ~azure.mgmt.azurearcdata.models.Role - :ivar is_encryption_enabled: Is Encryption enabled. - :vartype is_encryption_enabled: bool - :ivar encryption_algorithm: Encryption Algorithm. Known values are: "NONE", "RC4", "AES", - "NONE, RC4", "NONE, AES", "RC4, AES", "AES, RC4", "NONE, RC4, AES", and "NONE, AES, RC4". - :vartype encryption_algorithm: str or ~azure.mgmt.azurearcdata.models.EncryptionAlgorithm - :ivar connection_auth: The type of connection authentication required for connections to this - endpoint. Known values are: "Windows_NTLM", "Windows_Kerberos", "Windows_Negotiate", - "Certificate", "Windows_NTLM_Certificate", "Windows_Kerberos_Certificate", - "Windows_Negotiate_Certificate", "Certificate_Windows_NTLM", "Certificate_Windows_Kerberos", - and "Certificate_Windows_Negotiate". - :vartype connection_auth: str or ~azure.mgmt.azurearcdata.models.ConnectionAuth - :ivar port: The port number that the endpoint is listening on. - :vartype port: int - :ivar is_dynamic_port: Is the port number dynamically assigned. - :vartype is_dynamic_port: bool - :ivar ip_address: Listener IP address. - :vartype ip_address: str - :ivar certificate_name: Name of the certificate. - :vartype certificate_name: str - :ivar certificate_expiry_date: The certificate expiry date. - :vartype certificate_expiry_date: ~datetime.datetime - """ - - _validation = { - "endpoint_name": {"readonly": True}, - "role": {"readonly": True}, - "is_encryption_enabled": {"readonly": True}, - "encryption_algorithm": {"readonly": True}, - "connection_auth": {"readonly": True}, - "port": {"readonly": True}, - "is_dynamic_port": {"readonly": True}, - "ip_address": {"readonly": True}, - "certificate_name": {"readonly": True}, - "certificate_expiry_date": {"readonly": True}, - } - - _attribute_map = { - "endpoint_name": {"key": "endpointName", "type": "str"}, - "role": {"key": "role", "type": "str"}, - "is_encryption_enabled": {"key": "isEncryptionEnabled", "type": "bool"}, - "encryption_algorithm": {"key": "encryptionAlgorithm", "type": "str"}, - "connection_auth": {"key": "connectionAuth", "type": "str"}, - "port": {"key": "port", "type": "int"}, - "is_dynamic_port": {"key": "isDynamicPort", "type": "bool"}, - "ip_address": {"key": "ipAddress", "type": "str"}, - "certificate_name": {"key": "certificateName", "type": "str"}, - "certificate_expiry_date": {"key": "certificateExpiryDate", "type": "iso-8601"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.endpoint_name: Optional[str] = None - self.role: Optional[Union[str, "_models.Role"]] = None - self.is_encryption_enabled: Optional[bool] = None - self.encryption_algorithm: Optional[Union[str, "_models.EncryptionAlgorithm"]] = None - self.connection_auth: Optional[Union[str, "_models.ConnectionAuth"]] = None - self.port: Optional[int] = None - self.is_dynamic_port: Optional[bool] = None - self.ip_address: Optional[str] = None - self.certificate_name: Optional[str] = None - self.certificate_expiry_date: Optional[datetime.datetime] = None - - -class DiskSizes(_serialization.Model): - """disk size values. - - :ivar disk_type: Type of managed disk. - :vartype disk_type: str - :ivar redundancy: Redundancy option. - :vartype redundancy: str - :ivar size: Size of the managed disk - e.g. P30, P40. - :vartype size: str - :ivar caching: Caching configuration - e.g. read only caching. - :vartype caching: str - :ivar max_size_in_gib: maximum disk size in GiB. - :vartype max_size_in_gib: float - :ivar max_throughput_in_mbps: maximum throughput in MB/s. - :vartype max_throughput_in_mbps: float - :ivar max_iops: maximum IO requirements/s (IOPS). - :vartype max_iops: float - """ - - _attribute_map = { - "disk_type": {"key": "diskType", "type": "str"}, - "redundancy": {"key": "redundancy", "type": "str"}, - "size": {"key": "size", "type": "str"}, - "caching": {"key": "caching", "type": "str"}, - "max_size_in_gib": {"key": "maxSizeInGib", "type": "float"}, - "max_throughput_in_mbps": {"key": "maxThroughputInMbps", "type": "float"}, - "max_iops": {"key": "maxIops", "type": "float"}, - } - - def __init__( - self, - *, - disk_type: Optional[str] = None, - redundancy: Optional[str] = None, - size: Optional[str] = None, - caching: Optional[str] = None, - max_size_in_gib: Optional[float] = None, - max_throughput_in_mbps: Optional[float] = None, - max_iops: Optional[float] = None, - **kwargs: Any - ) -> None: - """ - :keyword disk_type: Type of managed disk. - :paramtype disk_type: str - :keyword redundancy: Redundancy option. - :paramtype redundancy: str - :keyword size: Size of the managed disk - e.g. P30, P40. - :paramtype size: str - :keyword caching: Caching configuration - e.g. read only caching. - :paramtype caching: str - :keyword max_size_in_gib: maximum disk size in GiB. - :paramtype max_size_in_gib: float - :keyword max_throughput_in_mbps: maximum throughput in MB/s. - :paramtype max_throughput_in_mbps: float - :keyword max_iops: maximum IO requirements/s (IOPS). - :paramtype max_iops: float - """ - super().__init__(**kwargs) - self.disk_type = disk_type - self.redundancy = redundancy - self.size = size - self.caching = caching - self.max_size_in_gib = max_size_in_gib - self.max_throughput_in_mbps = max_throughput_in_mbps - self.max_iops = max_iops - - -class DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration( - _serialization.Model -): # pylint: disable=name-too-long - """The availability group certificate configuration. - - :ivar certificate_name: Name of the certificate. - :vartype certificate_name: str - """ - - _attribute_map = { - "certificate_name": {"key": "certificateName", "type": "str"}, - } - - def __init__(self, *, certificate_name: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword certificate_name: Name of the certificate. - :paramtype certificate_name: str - """ - super().__init__(**kwargs) - self.certificate_name = certificate_name - - -class DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration( - _serialization.Model -): # pylint: disable=name-too-long - """The availability group configuration specification for a distributed availability group. - - :ivar availability_group: The azure resource identifier for the availability group. - :vartype availability_group: str - :ivar listener_url: The listener URL of the availability group. - :vartype listener_url: str - :ivar availability_mode: The availability mode of the availability group. Known values are: - "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". - :vartype availability_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode - :ivar failover_mode: The failover mode of the availability group. Known values are: - "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". - :vartype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode - :ivar seeding_mode: The seeding mode of the availability group. Known values are: "AUTOMATIC" - and "MANUAL". - :vartype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode - :ivar certificate_configuration: The certificate configuration for the availability group. - :vartype certificate_configuration: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration - """ - - _attribute_map = { - "availability_group": {"key": "availabilityGroup", "type": "str"}, - "listener_url": {"key": "listenerUrl", "type": "str"}, - "availability_mode": {"key": "availabilityMode", "type": "str"}, - "failover_mode": {"key": "failoverMode", "type": "str"}, - "seeding_mode": {"key": "seedingMode", "type": "str"}, - "certificate_configuration": { - "key": "certificateConfiguration", - "type": "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration", - }, - } - - def __init__( - self, - *, - availability_group: Optional[str] = None, - listener_url: Optional[str] = None, - availability_mode: Optional[Union[str, "_models.ArcSqlServerAvailabilityMode"]] = None, - failover_mode: Optional[Union[str, "_models.ArcSqlServerFailoverMode"]] = None, - seeding_mode: Optional[Union[str, "_models.SeedingMode"]] = None, - certificate_configuration: Optional[ - "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration" - ] = None, - **kwargs: Any - ) -> None: - """ - :keyword availability_group: The azure resource identifier for the availability group. - :paramtype availability_group: str - :keyword listener_url: The listener URL of the availability group. - :paramtype listener_url: str - :keyword availability_mode: The availability mode of the availability group. Known values are: - "SYNCHRONOUS_COMMIT" and "ASYNCHRONOUS_COMMIT". - :paramtype availability_mode: str or - ~azure.mgmt.azurearcdata.models.ArcSqlServerAvailabilityMode - :keyword failover_mode: The failover mode of the availability group. Known values are: - "AUTOMATIC", "MANUAL", "EXTERNAL", and "NONE". - :paramtype failover_mode: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerFailoverMode - :keyword seeding_mode: The seeding mode of the availability group. Known values are: - "AUTOMATIC" and "MANUAL". - :paramtype seeding_mode: str or ~azure.mgmt.azurearcdata.models.SeedingMode - :keyword certificate_configuration: The certificate configuration for the availability group. - :paramtype certificate_configuration: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration - """ - super().__init__(**kwargs) - self.availability_group = availability_group - self.listener_url = listener_url - self.availability_mode = availability_mode - self.failover_mode = failover_mode - self.seeding_mode = seeding_mode - self.certificate_configuration = certificate_configuration - - -class DistributedAvailabilityGroupCreateUpdateConfiguration(_serialization.Model): # pylint: disable=name-too-long - """Options used in creating a distributed availability group. - - :ivar availability_group_name: Name of the availability group. - :vartype availability_group_name: str - :ivar primary_availability_group: The initial primary availability group for the distributed - availability group. - :vartype primary_availability_group: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration - :ivar secondary_availability_group: The initial secondary availability group for the - distributed availability group. - :vartype secondary_availability_group: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration - """ - - _attribute_map = { - "availability_group_name": {"key": "availabilityGroupName", "type": "str"}, - "primary_availability_group": { - "key": "primaryAvailabilityGroup", - "type": "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration", - }, - "secondary_availability_group": { - "key": "secondaryAvailabilityGroup", - "type": "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration", - }, - } - - def __init__( - self, - *, - availability_group_name: Optional[str] = None, - primary_availability_group: Optional[ - "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration" - ] = None, - secondary_availability_group: Optional[ - "_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration" - ] = None, - **kwargs: Any - ) -> None: - """ - :keyword availability_group_name: Name of the availability group. - :paramtype availability_group_name: str - :keyword primary_availability_group: The initial primary availability group for the distributed - availability group. - :paramtype primary_availability_group: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration - :keyword secondary_availability_group: The initial secondary availability group for the - distributed availability group. - :paramtype secondary_availability_group: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration - """ - super().__init__(**kwargs) - self.availability_group_name = availability_group_name - self.primary_availability_group = primary_availability_group - self.secondary_availability_group = secondary_availability_group - - -class EntraAuthentication(_serialization.Model): - """Entra Authentication configuration. - - :ivar identity_type: The method used for Entra authentication. Known values are: - "SystemAssignedManagedIdentity" and "UserAssignedManagedIdentity". - :vartype identity_type: str or ~azure.mgmt.azurearcdata.models.IdentityType - :ivar client_id: The client Id of the Managed Identity to query Microsoft Graph API. An empty - string must be used for the system assigned Managed Identity. - :vartype client_id: str - """ - - _attribute_map = { - "identity_type": {"key": "identityType", "type": "str"}, - "client_id": {"key": "clientId", "type": "str"}, - } - - def __init__( - self, - *, - identity_type: Optional[Union[str, "_models.IdentityType"]] = None, - client_id: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword identity_type: The method used for Entra authentication. Known values are: - "SystemAssignedManagedIdentity" and "UserAssignedManagedIdentity". - :paramtype identity_type: str or ~azure.mgmt.azurearcdata.models.IdentityType - :keyword client_id: The client Id of the Managed Identity to query Microsoft Graph API. An - empty string must be used for the system assigned Managed Identity. - :paramtype client_id: str - """ - super().__init__(**kwargs) - self.identity_type = identity_type - self.client_id = client_id - - -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: Optional[str] = None - self.info: Optional[JSON] = 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.azurearcdata.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: list[~azure.mgmt.azurearcdata.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: Optional[str] = None - self.message: Optional[str] = None - self.target: Optional[str] = None - self.details: Optional[list["_models.ErrorDetail"]] = None - self.additional_info: Optional[list["_models.ErrorAdditionalInfo"]] = 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.azurearcdata.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.azurearcdata.models.ErrorDetail - """ - super().__init__(**kwargs) - self.error = error - - -class ExtendedLocation(_serialization.Model): - """The complex type of the extended location. - - :ivar name: The name of the extended location. - :vartype name: str - :ivar type: The type of the extended location. "CustomLocation" - :vartype type: str or ~azure.mgmt.azurearcdata.models.ExtendedLocationTypes - """ - - _attribute_map = { - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - type: Optional[Union[str, "_models.ExtendedLocationTypes"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword name: The name of the extended location. - :paramtype name: str - :keyword type: The type of the extended location. "CustomLocation" - :paramtype type: str or ~azure.mgmt.azurearcdata.models.ExtendedLocationTypes - """ - super().__init__(**kwargs) - self.name = name - self.type = type - - -class FailoverCluster(_serialization.Model): - """Failover Cluster Instance properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The GUID of the SQL Server's underlying Failover Cluster. - :vartype id: str - :ivar network_name: The network name to connect to the SQL FCI. - :vartype network_name: str - :ivar sql_instance_ids: The ARM IDs of the Arc SQL Server resources, belonging to the current - server's Failover cluster. - :vartype sql_instance_ids: list[str] - :ivar host_names: The host names which are part of the SQL FCI resource group. - :vartype host_names: list[str] - :ivar host_ip_addresses: The IP addresses and subnet masks associated with the SQL Failover - Cluster Instance on this host. - :vartype host_ip_addresses: list[~azure.mgmt.azurearcdata.models.HostIPAddressInformation] - """ - - _validation = { - "id": {"readonly": True}, - "network_name": {"readonly": True}, - "sql_instance_ids": {"readonly": True}, - "host_names": {"readonly": True}, - "host_ip_addresses": {"readonly": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "network_name": {"key": "networkName", "type": "str"}, - "sql_instance_ids": {"key": "sqlInstanceIds", "type": "[str]"}, - "host_names": {"key": "hostNames", "type": "[str]"}, - "host_ip_addresses": {"key": "hostIPAddresses", "type": "[HostIPAddressInformation]"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.id: Optional[str] = None - self.network_name: Optional[str] = None - self.sql_instance_ids: Optional[list[str]] = None - self.host_names: Optional[list[str]] = None - self.host_ip_addresses: Optional[list["_models.HostIPAddressInformation"]] = None - - -class FailoverGroupListResult(_serialization.Model): - """A list of failover groups. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of failover group results. - :vartype value: list[~azure.mgmt.azurearcdata.models.FailoverGroupResource] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[FailoverGroupResource]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.value: Optional[list["_models.FailoverGroupResource"]] = None - self.next_link: Optional[str] = None - - -class FailoverGroupProperties(_serialization.Model): - """The properties of a failover group resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, any] - :ivar provisioning_state: The provisioning state of the failover group resource. Known values - are: "Succeeded", "Failed", "Canceled", and "Accepted". - :vartype provisioning_state: str or ~azure.mgmt.azurearcdata.models.ProvisioningState - :ivar partner_managed_instance_id: The resource ID of the partner SQL managed instance. - Required. - :vartype partner_managed_instance_id: str - :ivar spec: The specifications of the failover group resource. Required. - :vartype spec: ~azure.mgmt.azurearcdata.models.FailoverGroupSpec - :ivar status: The status of the failover group custom resource. - :vartype status: JSON - """ - - _validation = { - "provisioning_state": {"readonly": True}, - "partner_managed_instance_id": {"required": True}, - "spec": {"required": True}, - } - - _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "provisioning_state": {"key": "provisioningState", "type": "str"}, - "partner_managed_instance_id": {"key": "partnerManagedInstanceId", "type": "str"}, - "spec": {"key": "spec", "type": "FailoverGroupSpec"}, - "status": {"key": "status", "type": "object"}, - } - - def __init__( - self, - *, - partner_managed_instance_id: str, - spec: "_models.FailoverGroupSpec", - additional_properties: Optional[dict[str, Any]] = None, - status: Optional[JSON] = None, - **kwargs: Any - ) -> None: - """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, any] - :keyword partner_managed_instance_id: The resource ID of the partner SQL managed instance. - Required. - :paramtype partner_managed_instance_id: str - :keyword spec: The specifications of the failover group resource. Required. - :paramtype spec: ~azure.mgmt.azurearcdata.models.FailoverGroupSpec - :keyword status: The status of the failover group custom resource. - :paramtype status: JSON - """ - super().__init__(**kwargs) - self.additional_properties = additional_properties - self.provisioning_state: Optional[Union[str, "_models.ProvisioningState"]] = None - self.partner_managed_instance_id = partner_managed_instance_id - self.spec = spec - self.status = status - - -class FailoverGroupResource(ProxyResource): - """A failover group resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar properties: null. Required. - :vartype properties: ~azure.mgmt.azurearcdata.models.FailoverGroupProperties - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "properties": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "properties": {"key": "properties", "type": "FailoverGroupProperties"}, - } - - def __init__(self, *, properties: "_models.FailoverGroupProperties", **kwargs: Any) -> None: - """ - :keyword properties: null. Required. - :paramtype properties: ~azure.mgmt.azurearcdata.models.FailoverGroupProperties - """ - super().__init__(**kwargs) - self.properties = properties - - -class FailoverGroupSpec(_serialization.Model): - """The specifications of the failover group resource. - - All required parameters must be populated in order to send to server. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, any] - :ivar shared_name: The shared name of the failover group for this SQL managed instance. Both - SQL managed instance and its partner have to use the same shared name. - :vartype shared_name: str - :ivar source_mi: The name of the SQL managed instance with this failover group role. - :vartype source_mi: str - :ivar partner_mi: The name of the partner SQL managed instance. - :vartype partner_mi: str - :ivar partner_mirroring_url: The mirroring endpoint URL of the partner SQL managed instance. - :vartype partner_mirroring_url: str - :ivar partner_mirroring_cert: The mirroring endpoint public certificate for the partner SQL - managed instance. Only PEM format is supported. - :vartype partner_mirroring_cert: str - :ivar partner_sync_mode: The partner sync mode of the SQL managed instance. Known values are: - "async" and "sync". - :vartype partner_sync_mode: str or ~azure.mgmt.azurearcdata.models.FailoverGroupPartnerSyncMode - :ivar role: The role of the SQL managed instance in this failover group. Known values are: - "primary", "secondary", "force-primary-allow-data-loss", and "force-secondary". - :vartype role: str or ~azure.mgmt.azurearcdata.models.InstanceFailoverGroupRole - """ - - _validation = { - "role": {"required": True}, - } - - _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "shared_name": {"key": "sharedName", "type": "str"}, - "source_mi": {"key": "sourceMI", "type": "str"}, - "partner_mi": {"key": "partnerMI", "type": "str"}, - "partner_mirroring_url": {"key": "partnerMirroringURL", "type": "str"}, - "partner_mirroring_cert": {"key": "partnerMirroringCert", "type": "str"}, - "partner_sync_mode": {"key": "partnerSyncMode", "type": "str"}, - "role": {"key": "role", "type": "str"}, - } - - def __init__( - self, - *, - role: Union[str, "_models.InstanceFailoverGroupRole"] = "primary", - additional_properties: Optional[dict[str, Any]] = None, - shared_name: Optional[str] = None, - source_mi: Optional[str] = None, - partner_mi: Optional[str] = None, - partner_mirroring_url: Optional[str] = None, - partner_mirroring_cert: Optional[str] = None, - partner_sync_mode: Union[str, "_models.FailoverGroupPartnerSyncMode"] = "async", - **kwargs: Any - ) -> None: - """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, any] - :keyword shared_name: The shared name of the failover group for this SQL managed instance. Both - SQL managed instance and its partner have to use the same shared name. - :paramtype shared_name: str - :keyword source_mi: The name of the SQL managed instance with this failover group role. - :paramtype source_mi: str - :keyword partner_mi: The name of the partner SQL managed instance. - :paramtype partner_mi: str - :keyword partner_mirroring_url: The mirroring endpoint URL of the partner SQL managed instance. - :paramtype partner_mirroring_url: str - :keyword partner_mirroring_cert: The mirroring endpoint public certificate for the partner SQL - managed instance. Only PEM format is supported. - :paramtype partner_mirroring_cert: str - :keyword partner_sync_mode: The partner sync mode of the SQL managed instance. Known values - are: "async" and "sync". - :paramtype partner_sync_mode: str or - ~azure.mgmt.azurearcdata.models.FailoverGroupPartnerSyncMode - :keyword role: The role of the SQL managed instance in this failover group. Known values are: - "primary", "secondary", "force-primary-allow-data-loss", and "force-secondary". - :paramtype role: str or ~azure.mgmt.azurearcdata.models.InstanceFailoverGroupRole - """ - super().__init__(**kwargs) - self.additional_properties = additional_properties - self.shared_name = shared_name - self.source_mi = source_mi - self.partner_mi = partner_mi - self.partner_mirroring_url = partner_mirroring_url - self.partner_mirroring_cert = partner_mirroring_cert - self.partner_sync_mode = partner_sync_mode - self.role = role - - -class FailoverMiLinkResourceId(_serialization.Model): - """The azure resource identifier for the Sql Managed Instance. - - :ivar managed_instance_id: Azure resource id for the sql managed instance. - :vartype managed_instance_id: str - :ivar force: Whether to perform a Force Failover as opposed to just a regular Failover. - :vartype force: bool - """ - - _attribute_map = { - "managed_instance_id": {"key": "managedInstanceId", "type": "str"}, - "force": {"key": "force", "type": "bool"}, - } - - def __init__( - self, *, managed_instance_id: Optional[str] = None, force: Optional[bool] = None, **kwargs: Any - ) -> None: - """ - :keyword managed_instance_id: Azure resource id for the sql managed instance. - :paramtype managed_instance_id: str - :keyword force: Whether to perform a Force Failover as opposed to just a regular Failover. - :paramtype force: bool - """ - super().__init__(**kwargs) - self.managed_instance_id = managed_instance_id - self.force = force - - -class HostIPAddressInformation(_serialization.Model): - """IP address and subnet mask. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar ip_address: IP address. - :vartype ip_address: str - :ivar subnet_mask: Subnet mask. - :vartype subnet_mask: str - """ - - _validation = { - "ip_address": {"readonly": True}, - "subnet_mask": {"readonly": True}, - } - - _attribute_map = { - "ip_address": {"key": "ipAddress", "type": "str"}, - "subnet_mask": {"key": "subnetMask", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.ip_address: Optional[str] = None - self.subnet_mask: Optional[str] = None - - -class ImpactedObjectsInfo(_serialization.Model): - """summary information about the incompatible feature id, number of objects impacted and category - of issue (warning/error). - - :ivar feature_id: Represents the feature id from - https://learn.microsoft.com/en-us/data-migration/sql-server/database/assessment-rules?view=azuresql. - OR - https://learn.microsoft.com/en-us/data-migration/sql-server/managed-instance/assessment-rules?view=azuresql. - :vartype feature_id: str - :ivar number_impacted: Represents the number of issues/warnings. - :vartype number_impacted: int - :ivar issue_category: Issue or Warning. - :vartype issue_category: str - """ - - _attribute_map = { - "feature_id": {"key": "featureId", "type": "str"}, - "number_impacted": {"key": "numberImpacted", "type": "int"}, - "issue_category": {"key": "issueCategory", "type": "str"}, - } - - def __init__( - self, - *, - feature_id: Optional[str] = None, - number_impacted: Optional[int] = None, - issue_category: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword feature_id: Represents the feature id from - https://learn.microsoft.com/en-us/data-migration/sql-server/database/assessment-rules?view=azuresql. - OR - https://learn.microsoft.com/en-us/data-migration/sql-server/managed-instance/assessment-rules?view=azuresql. - :paramtype feature_id: str - :keyword number_impacted: Represents the number of issues/warnings. - :paramtype number_impacted: int - :keyword issue_category: Issue or Warning. - :paramtype issue_category: str - """ - super().__init__(**kwargs) - self.feature_id = feature_id - self.number_impacted = number_impacted - self.issue_category = issue_category - - -class ImpactedObjectsSuitabilitySummary(_serialization.Model): - """Represents a summary of migration readiness issues/warnings per feature type for Azure SQL DB - and SQL MI targets. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar azure_sql_database: - :vartype azure_sql_database: list[~azure.mgmt.azurearcdata.models.ImpactedObjectsInfo] - :ivar azure_sql_managed_instance: - :vartype azure_sql_managed_instance: list[~azure.mgmt.azurearcdata.models.ImpactedObjectsInfo] - """ - - _validation = { - "azure_sql_database": {"readonly": True}, - "azure_sql_managed_instance": {"readonly": True}, - } - - _attribute_map = { - "azure_sql_database": {"key": "azureSqlDatabase", "type": "[ImpactedObjectsInfo]"}, - "azure_sql_managed_instance": {"key": "azureSqlManagedInstance", "type": "[ImpactedObjectsInfo]"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.azure_sql_database: Optional[list["_models.ImpactedObjectsInfo"]] = None - self.azure_sql_managed_instance: Optional[list["_models.ImpactedObjectsInfo"]] = None - - -class K8SActiveDirectory(_serialization.Model): - """The kubernetes active directory information. - - :ivar connector: - :vartype connector: ~azure.mgmt.azurearcdata.models.K8SActiveDirectoryConnector - :ivar account_name: Account name for AAD. - :vartype account_name: str - :ivar keytab_secret: Keytab secret used to authenticate with Active Directory. - :vartype keytab_secret: str - :ivar encryption_types: An array of encryption types. - :vartype encryption_types: list[str] - """ - - _attribute_map = { - "connector": {"key": "connector", "type": "K8SActiveDirectoryConnector"}, - "account_name": {"key": "accountName", "type": "str"}, - "keytab_secret": {"key": "keytabSecret", "type": "str"}, - "encryption_types": {"key": "encryptionTypes", "type": "[str]"}, - } - - def __init__( - self, - *, - connector: Optional["_models.K8SActiveDirectoryConnector"] = None, - account_name: Optional[str] = None, - keytab_secret: Optional[str] = None, - encryption_types: Optional[list[str]] = None, - **kwargs: Any - ) -> None: - """ - :keyword connector: - :paramtype connector: ~azure.mgmt.azurearcdata.models.K8SActiveDirectoryConnector - :keyword account_name: Account name for AAD. - :paramtype account_name: str - :keyword keytab_secret: Keytab secret used to authenticate with Active Directory. - :paramtype keytab_secret: str - :keyword encryption_types: An array of encryption types. - :paramtype encryption_types: list[str] - """ - super().__init__(**kwargs) - self.connector = connector - self.account_name = account_name - self.keytab_secret = keytab_secret - self.encryption_types = encryption_types - - -class K8SActiveDirectoryConnector(_serialization.Model): - """K8SActiveDirectoryConnector. - - :ivar name: Name of the connector. - :vartype name: str - :ivar namespace: Name space of the connector. - :vartype namespace: str - """ - - _attribute_map = { - "name": {"key": "name", "type": "str"}, - "namespace": {"key": "namespace", "type": "str"}, - } - - def __init__(self, *, name: Optional[str] = None, namespace: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword name: Name of the connector. - :paramtype name: str - :keyword namespace: Name space of the connector. - :paramtype namespace: str - """ - super().__init__(**kwargs) - self.name = name - self.namespace = namespace - - -class K8SNetworkSettings(_serialization.Model): - """The kubernetes network settings information. - - :ivar forceencryption: If 1, then SQL Server forces all connections to be encrypted. By - default, this option is 0. - :vartype forceencryption: int - :ivar tlsciphers: Specifies which ciphers are allowed by SQL Server for TLS. - :vartype tlsciphers: str - :ivar tlsprotocols: A comma-separated list of which TLS protocols are allowed by SQL Server. - :vartype tlsprotocols: str - """ - - _attribute_map = { - "forceencryption": {"key": "forceencryption", "type": "int"}, - "tlsciphers": {"key": "tlsciphers", "type": "str"}, - "tlsprotocols": {"key": "tlsprotocols", "type": "str"}, - } - - def __init__( - self, - *, - forceencryption: Optional[int] = None, - tlsciphers: Optional[str] = None, - tlsprotocols: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword forceencryption: If 1, then SQL Server forces all connections to be encrypted. By - default, this option is 0. - :paramtype forceencryption: int - :keyword tlsciphers: Specifies which ciphers are allowed by SQL Server for TLS. - :paramtype tlsciphers: str - :keyword tlsprotocols: A comma-separated list of which TLS protocols are allowed by SQL Server. - :paramtype tlsprotocols: str - """ - super().__init__(**kwargs) - self.forceencryption = forceencryption - self.tlsciphers = tlsciphers - self.tlsprotocols = tlsprotocols - - -class K8SResourceRequirements(_serialization.Model): - """The kubernetes resource limits and requests used to restrict or reserve resource usage. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, any] - :ivar requests: Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' - request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default - 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and - maximum 'memory' is '128Gi'. - :vartype requests: dict[str, str] - :ivar limits: Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request - must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' - is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum - 'memory' is '128Gi'. - :vartype limits: dict[str, str] - """ - - _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "requests": {"key": "requests", "type": "{str}"}, - "limits": {"key": "limits", "type": "{str}"}, - } - - def __init__( - self, - *, - additional_properties: Optional[dict[str, Any]] = None, - requests: Optional[dict[str, str]] = None, - limits: Optional[dict[str, str]] = None, - **kwargs: Any - ) -> None: - """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, any] - :keyword requests: Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' - request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default - 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and - maximum 'memory' is '128Gi'. - :paramtype requests: dict[str, str] - :keyword limits: Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request - must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' - is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum - 'memory' is '128Gi'. - :paramtype limits: dict[str, str] - """ - super().__init__(**kwargs) - self.additional_properties = additional_properties - self.requests = requests - self.limits = limits - - -class K8SScheduling(_serialization.Model): - """The kubernetes scheduling information. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, any] - :ivar default: The kubernetes scheduling options. It describes restrictions used to help - Kubernetes select appropriate nodes to host the database service. - :vartype default: ~azure.mgmt.azurearcdata.models.K8SSchedulingOptions - """ - - _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "default": {"key": "default", "type": "K8SSchedulingOptions"}, - } - - def __init__( - self, - *, - additional_properties: Optional[dict[str, Any]] = None, - default: Optional["_models.K8SSchedulingOptions"] = None, - **kwargs: Any - ) -> None: - """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, any] - :keyword default: The kubernetes scheduling options. It describes restrictions used to help - Kubernetes select appropriate nodes to host the database service. - :paramtype default: ~azure.mgmt.azurearcdata.models.K8SSchedulingOptions - """ - super().__init__(**kwargs) - self.additional_properties = additional_properties - self.default = default - - -class K8SSchedulingOptions(_serialization.Model): - """The kubernetes scheduling options. It describes restrictions used to help Kubernetes select - appropriate nodes to host the database service. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, any] - :ivar resources: The kubernetes resource limits and requests used to restrict or reserve - resource usage. - :vartype resources: ~azure.mgmt.azurearcdata.models.K8SResourceRequirements - """ - - _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "resources": {"key": "resources", "type": "K8SResourceRequirements"}, - } - - def __init__( - self, - *, - additional_properties: Optional[dict[str, Any]] = None, - resources: Optional["_models.K8SResourceRequirements"] = None, - **kwargs: Any - ) -> None: - """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, any] - :keyword resources: The kubernetes resource limits and requests used to restrict or reserve - resource usage. - :paramtype resources: ~azure.mgmt.azurearcdata.models.K8SResourceRequirements - """ - super().__init__(**kwargs) - self.additional_properties = additional_properties - self.resources = resources - - -class K8SSecurity(_serialization.Model): - """The kubernetes security information. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, any] - :ivar admin_login_secret: Admin login secret key. - :vartype admin_login_secret: str - :ivar service_certificate_secret: Service certificate secret used. - :vartype service_certificate_secret: str - :ivar active_directory: The kubernetes active directory information. - :vartype active_directory: ~azure.mgmt.azurearcdata.models.K8SActiveDirectory - :ivar transparent_data_encryption: Transparent data encryption information. - :vartype transparent_data_encryption: - ~azure.mgmt.azurearcdata.models.K8StransparentDataEncryption - """ - - _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "admin_login_secret": {"key": "adminLoginSecret", "type": "str"}, - "service_certificate_secret": {"key": "serviceCertificateSecret", "type": "str"}, - "active_directory": {"key": "activeDirectory", "type": "K8SActiveDirectory"}, - "transparent_data_encryption": {"key": "transparentDataEncryption", "type": "K8StransparentDataEncryption"}, - } - - def __init__( - self, - *, - additional_properties: Optional[dict[str, Any]] = None, - admin_login_secret: Optional[str] = None, - service_certificate_secret: Optional[str] = None, - active_directory: Optional["_models.K8SActiveDirectory"] = None, - transparent_data_encryption: Optional["_models.K8StransparentDataEncryption"] = None, - **kwargs: Any - ) -> None: - """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, any] - :keyword admin_login_secret: Admin login secret key. - :paramtype admin_login_secret: str - :keyword service_certificate_secret: Service certificate secret used. - :paramtype service_certificate_secret: str - :keyword active_directory: The kubernetes active directory information. - :paramtype active_directory: ~azure.mgmt.azurearcdata.models.K8SActiveDirectory - :keyword transparent_data_encryption: Transparent data encryption information. - :paramtype transparent_data_encryption: - ~azure.mgmt.azurearcdata.models.K8StransparentDataEncryption - """ - super().__init__(**kwargs) - self.additional_properties = additional_properties - self.admin_login_secret = admin_login_secret - self.service_certificate_secret = service_certificate_secret - self.active_directory = active_directory - self.transparent_data_encryption = transparent_data_encryption - - -class K8SSettings(_serialization.Model): - """The kubernetes settings information. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, any] - :ivar network: The kubernetes network settings information. - :vartype network: ~azure.mgmt.azurearcdata.models.K8SNetworkSettings - """ - - _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "network": {"key": "network", "type": "K8SNetworkSettings"}, - } - - def __init__( - self, - *, - additional_properties: Optional[dict[str, Any]] = None, - network: Optional["_models.K8SNetworkSettings"] = None, - **kwargs: Any - ) -> None: - """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, any] - :keyword network: The kubernetes network settings information. - :paramtype network: ~azure.mgmt.azurearcdata.models.K8SNetworkSettings - """ - super().__init__(**kwargs) - self.additional_properties = additional_properties - self.network = network - - -class K8StransparentDataEncryption(_serialization.Model): - """Transparent data encryption information. - - :ivar mode: Transparent data encryption mode. Can be Service Managed, Customer managed or - disabled. - :vartype mode: str - :ivar protector_secret: Protector secret for customer managed Transparent data encryption mode. - :vartype protector_secret: str - """ - - _attribute_map = { - "mode": {"key": "mode", "type": "str"}, - "protector_secret": {"key": "protectorSecret", "type": "str"}, - } - - def __init__(self, *, mode: Optional[str] = None, protector_secret: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword mode: Transparent data encryption mode. Can be Service Managed, Customer managed or - disabled. - :paramtype mode: str - :keyword protector_secret: Protector secret for customer managed Transparent data encryption - mode. - :paramtype protector_secret: str - """ - super().__init__(**kwargs) - self.mode = mode - self.protector_secret = protector_secret - - -class KeytabInformation(_serialization.Model): - """Keytab used for authenticate with Active Directory. - - :ivar keytab: A base64-encoded keytab. - :vartype keytab: str - """ - - _attribute_map = { - "keytab": {"key": "keytab", "type": "str"}, - } - - def __init__(self, *, keytab: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword keytab: A base64-encoded keytab. - :paramtype keytab: str - """ - super().__init__(**kwargs) - self.keytab = keytab - - -class LogAnalyticsWorkspaceConfig(_serialization.Model): - """Log analytics workspace id and primary key. - - :ivar workspace_id: Azure Log Analytics workspace ID. - :vartype workspace_id: str - :ivar primary_key: Primary key of the workspace. - :vartype primary_key: str - """ - - _attribute_map = { - "workspace_id": {"key": "workspaceId", "type": "str"}, - "primary_key": {"key": "primaryKey", "type": "str"}, - } - - def __init__(self, *, workspace_id: Optional[str] = None, primary_key: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword workspace_id: Azure Log Analytics workspace ID. - :paramtype workspace_id: str - :keyword primary_key: Primary key of the workspace. - :paramtype primary_key: str - """ - super().__init__(**kwargs) - self.workspace_id = workspace_id - self.primary_key = primary_key - - -class ManagedInstanceLinkCreateUpdateConfiguration(_serialization.Model): # pylint: disable=name-too-long - """The configuration for the new Managed Instance Link resource. - - :ivar availability_group: The configuration for the SQL Server availability group resource. - :vartype availability_group: - ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration - :ivar distributed_availability_group: The distributed availability group configuration for the - MI link. - :vartype distributed_availability_group: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration - :ivar mi_link_configuration: The MI Link specific distributed availability group configuration. - :vartype mi_link_configuration: ~azure.mgmt.azurearcdata.models.MiLinkCreateUpdateConfiguration - """ - - _attribute_map = { - "availability_group": {"key": "availabilityGroup", "type": "AvailabilityGroupCreateUpdateConfiguration"}, - "distributed_availability_group": { - "key": "distributedAvailabilityGroup", - "type": "DistributedAvailabilityGroupCreateUpdateConfiguration", - }, - "mi_link_configuration": {"key": "miLinkConfiguration", "type": "MiLinkCreateUpdateConfiguration"}, - } - - def __init__( - self, - *, - availability_group: Optional["_models.AvailabilityGroupCreateUpdateConfiguration"] = None, - distributed_availability_group: Optional[ - "_models.DistributedAvailabilityGroupCreateUpdateConfiguration" - ] = None, - mi_link_configuration: Optional["_models.MiLinkCreateUpdateConfiguration"] = None, - **kwargs: Any - ) -> None: - """ - :keyword availability_group: The configuration for the SQL Server availability group resource. - :paramtype availability_group: - ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration - :keyword distributed_availability_group: The distributed availability group configuration for - the MI link. - :paramtype distributed_availability_group: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration - :keyword mi_link_configuration: The MI Link specific distributed availability group - configuration. - :paramtype mi_link_configuration: - ~azure.mgmt.azurearcdata.models.MiLinkCreateUpdateConfiguration - """ - super().__init__(**kwargs) - self.availability_group = availability_group - self.distributed_availability_group = distributed_availability_group - self.mi_link_configuration = mi_link_configuration - - -class Migration(_serialization.Model): - """Migration related configuration. - - :ivar assessment: Migration assessments related configuration. - :vartype assessment: ~azure.mgmt.azurearcdata.models.MigrationAssessment - :ivar target_selected_time: The last time when the target resource was selected for migration. - :vartype target_selected_time: ~datetime.datetime - :ivar target_resource_id: Resource Id of the created or selected target SQL resource for - migration. - :vartype target_resource_id: str - """ - - _attribute_map = { - "assessment": {"key": "assessment", "type": "MigrationAssessment"}, - "target_selected_time": {"key": "targetSelectedTime", "type": "iso-8601"}, - "target_resource_id": {"key": "targetResourceId", "type": "str"}, - } - - def __init__( - self, - *, - assessment: Optional["_models.MigrationAssessment"] = None, - target_selected_time: Optional[datetime.datetime] = None, - target_resource_id: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword assessment: Migration assessments related configuration. - :paramtype assessment: ~azure.mgmt.azurearcdata.models.MigrationAssessment - :keyword target_selected_time: The last time when the target resource was selected for - migration. - :paramtype target_selected_time: ~datetime.datetime - :keyword target_resource_id: Resource Id of the created or selected target SQL resource for - migration. - :paramtype target_resource_id: str - """ - super().__init__(**kwargs) - self.assessment = assessment - self.target_selected_time = target_selected_time - self.target_resource_id = target_resource_id - - -class MigrationAssessment(_serialization.Model): - """The migration assessment related configuration. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar enabled: Indicates if migration assessment is enabled for this SQL Server instance. - :vartype enabled: bool - :ivar assessment_upload_time: The time when Migration Assessment Report upload was last - performed. - :vartype assessment_upload_time: ~datetime.datetime - :ivar assessment_viewed_time: The time when this migration assessment was last viewed. - :vartype assessment_viewed_time: ~datetime.datetime - :ivar target_recommendation_generation_time: The UTC timestamp in ISO 8601 format indicating - when the latest target recommendations were generated for this SQL Server instance. This value - is set as part of a successful RunTargetRecommendation job and is independent of when the - migration readiness results were uploaded (assessmentUploadTime). - :vartype target_recommendation_generation_time: ~datetime.datetime - :ivar version: version of this migration assessment report - to be passed by the migration - assessment engine. - :vartype version: str - :ivar settings: Settings impacting the migration assessment computation - configurable with - some default values if not set. - :vartype settings: ~azure.mgmt.azurearcdata.models.MigrationAssessmentSettings - :ivar server_assessments: Issues and warnings impacting the migration of SQL Server instance to - particular Azure Migration Target. - :vartype server_assessments: list[~azure.mgmt.azurearcdata.models.ServerAssessmentsItem] - :ivar sku_recommendation_results: SKU Recommendation results for Azure migration targets for - SQL Server. - :vartype sku_recommendation_results: ~azure.mgmt.azurearcdata.models.SkuRecommendationResults - :ivar impacted_objects_summary: Represents a summary of migration readiness issues/warnings per - feature type for Azure SQL DB and SQL MI targets. - :vartype impacted_objects_summary: - ~azure.mgmt.azurearcdata.models.ImpactedObjectsSuitabilitySummary - """ - - _validation = { - "assessment_upload_time": {"readonly": True}, - "target_recommendation_generation_time": {"readonly": True}, - "version": {"readonly": True}, - "server_assessments": {"readonly": True}, - "sku_recommendation_results": {"readonly": True}, - } - - _attribute_map = { - "enabled": {"key": "enabled", "type": "bool"}, - "assessment_upload_time": {"key": "assessmentUploadTime", "type": "iso-8601"}, - "assessment_viewed_time": {"key": "assessmentViewedTime", "type": "iso-8601"}, - "target_recommendation_generation_time": {"key": "targetRecommendationGenerationTime", "type": "iso-8601"}, - "version": {"key": "version", "type": "str"}, - "settings": {"key": "settings", "type": "MigrationAssessmentSettings"}, - "server_assessments": {"key": "serverAssessments", "type": "[ServerAssessmentsItem]"}, - "sku_recommendation_results": {"key": "skuRecommendationResults", "type": "SkuRecommendationResults"}, - "impacted_objects_summary": {"key": "impactedObjectsSummary", "type": "ImpactedObjectsSuitabilitySummary"}, - } - - def __init__( - self, - *, - enabled: Optional[bool] = None, - assessment_viewed_time: Optional[datetime.datetime] = None, - settings: Optional["_models.MigrationAssessmentSettings"] = None, - impacted_objects_summary: Optional["_models.ImpactedObjectsSuitabilitySummary"] = None, - **kwargs: Any - ) -> None: - """ - :keyword enabled: Indicates if migration assessment is enabled for this SQL Server instance. - :paramtype enabled: bool - :keyword assessment_viewed_time: The time when this migration assessment was last viewed. - :paramtype assessment_viewed_time: ~datetime.datetime - :keyword settings: Settings impacting the migration assessment computation - configurable with - some default values if not set. - :paramtype settings: ~azure.mgmt.azurearcdata.models.MigrationAssessmentSettings - :keyword impacted_objects_summary: Represents a summary of migration readiness issues/warnings - per feature type for Azure SQL DB and SQL MI targets. - :paramtype impacted_objects_summary: - ~azure.mgmt.azurearcdata.models.ImpactedObjectsSuitabilitySummary - """ - super().__init__(**kwargs) - self.enabled = enabled - self.assessment_upload_time: Optional[datetime.datetime] = None - self.assessment_viewed_time = assessment_viewed_time - self.target_recommendation_generation_time: Optional[datetime.datetime] = None - self.version: Optional[str] = None - self.settings = settings - self.server_assessments: Optional[list["_models.ServerAssessmentsItem"]] = None - self.sku_recommendation_results: Optional["_models.SkuRecommendationResults"] = None - self.impacted_objects_summary = impacted_objects_summary - - -class MigrationAssessmentSettings(_serialization.Model): - """Settings impacting the migration assessment computation - configurable with some default values - if not set. - - :ivar target_location: The target location for Azure SQL SKU for migration. Default is West US. - :vartype target_location: str - :ivar percentile: Indicate the percentile value for the performance sample. Default is 95th - percentile. - :vartype percentile: float - :ivar lookback_period_in_days: How far back to check the performance data - Default is 30 - (days). - :vartype lookback_period_in_days: int - :ivar comfort_factor: Buffer (percentage) to consider while SKU sizing to account for issues - such as seasonal usage, short performance history, and likely increases in future usage - This - buffer is applied on top of the performance metrics. Default is 100 (percent). - :vartype comfort_factor: int - :ivar strategy: Minimize cost or Migrate to PaaS. - to evaluate based on the recommended - strategy. Default is Migrate to PaaS. - :vartype strategy: str - :ivar currency: currency to calculate prices - Default is USD. - :vartype currency: str - :ivar discount_percentage: flat discount percentage to apply for the price - Default is 0. - :vartype discount_percentage: float - :ivar cost_options: Selected cost option value. - :vartype cost_options: ~azure.mgmt.azurearcdata.models.CostOptionSelectedValues - """ - - _attribute_map = { - "target_location": {"key": "targetLocation", "type": "str"}, - "percentile": {"key": "percentile", "type": "float"}, - "lookback_period_in_days": {"key": "lookbackPeriodInDays", "type": "int"}, - "comfort_factor": {"key": "comfortFactor", "type": "int"}, - "strategy": {"key": "strategy", "type": "str"}, - "currency": {"key": "currency", "type": "str"}, - "discount_percentage": {"key": "discountPercentage", "type": "float"}, - "cost_options": {"key": "costOptions", "type": "CostOptionSelectedValues"}, - } - - def __init__( - self, - *, - target_location: Optional[str] = None, - percentile: Optional[float] = None, - lookback_period_in_days: Optional[int] = None, - comfort_factor: Optional[int] = None, - strategy: Optional[str] = None, - currency: Optional[str] = None, - discount_percentage: Optional[float] = None, - cost_options: Optional["_models.CostOptionSelectedValues"] = None, - **kwargs: Any - ) -> None: - """ - :keyword target_location: The target location for Azure SQL SKU for migration. Default is West - US. - :paramtype target_location: str - :keyword percentile: Indicate the percentile value for the performance sample. Default is 95th - percentile. - :paramtype percentile: float - :keyword lookback_period_in_days: How far back to check the performance data - Default is 30 - (days). - :paramtype lookback_period_in_days: int - :keyword comfort_factor: Buffer (percentage) to consider while SKU sizing to account for issues - such as seasonal usage, short performance history, and likely increases in future usage - This - buffer is applied on top of the performance metrics. Default is 100 (percent). - :paramtype comfort_factor: int - :keyword strategy: Minimize cost or Migrate to PaaS. - to evaluate based on the recommended - strategy. Default is Migrate to PaaS. - :paramtype strategy: str - :keyword currency: currency to calculate prices - Default is USD. - :paramtype currency: str - :keyword discount_percentage: flat discount percentage to apply for the price - Default is 0. - :paramtype discount_percentage: float - :keyword cost_options: Selected cost option value. - :paramtype cost_options: ~azure.mgmt.azurearcdata.models.CostOptionSelectedValues - """ - super().__init__(**kwargs) - self.target_location = target_location - self.percentile = percentile - self.lookback_period_in_days = lookback_period_in_days - self.comfort_factor = comfort_factor - self.strategy = strategy - self.currency = currency - self.discount_percentage = discount_percentage - self.cost_options = cost_options - - -class MiLinkCreateUpdateConfiguration(_serialization.Model): - """The MI Link specific configuration. - - :ivar instance_availability_group_name: The name of the availability group to be created on the - Managed Instance. - :vartype instance_availability_group_name: str - """ - - _attribute_map = { - "instance_availability_group_name": {"key": "instanceAvailabilityGroupName", "type": "str"}, - } - - def __init__(self, *, instance_availability_group_name: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword instance_availability_group_name: The name of the availability group to be created on - the Managed Instance. - :paramtype instance_availability_group_name: str - """ - super().__init__(**kwargs) - self.instance_availability_group_name = instance_availability_group_name - - -class Monitoring(_serialization.Model): - """The monitoring configuration. - - :ivar enabled: Indicates if monitoring is enabled for this SQL Server instance. - :vartype enabled: bool - """ - - _attribute_map = { - "enabled": {"key": "enabled", "type": "bool"}, - } - - def __init__(self, *, enabled: Optional[bool] = None, **kwargs: Any) -> None: - """ - :keyword enabled: Indicates if monitoring is enabled for this SQL Server instance. - :paramtype enabled: bool - """ - super().__init__(**kwargs) - self.enabled = enabled - - -class OnPremiseProperty(_serialization.Model): - """Properties from the Kubernetes data controller. - - All required parameters must be populated in order to send to server. - - :ivar id: A globally unique ID identifying the associated Kubernetes cluster. Required. - :vartype id: str - :ivar public_signing_key: Certificate that contains the Kubernetes cluster public key used to - verify signing. Required. - :vartype public_signing_key: str - :ivar signing_certificate_thumbprint: Unique thumbprint returned to customer to verify the - certificate being uploaded. - :vartype signing_certificate_thumbprint: str - """ - - _validation = { - "id": {"required": True}, - "public_signing_key": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "public_signing_key": {"key": "publicSigningKey", "type": "str"}, - "signing_certificate_thumbprint": {"key": "signingCertificateThumbprint", "type": "str"}, - } - - def __init__( - self, - *, - id: str, # pylint: disable=redefined-builtin - public_signing_key: str, - signing_certificate_thumbprint: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword id: A globally unique ID identifying the associated Kubernetes cluster. Required. - :paramtype id: str - :keyword public_signing_key: Certificate that contains the Kubernetes cluster public key used - to verify signing. Required. - :paramtype public_signing_key: str - :keyword signing_certificate_thumbprint: Unique thumbprint returned to customer to verify the - certificate being uploaded. - :paramtype signing_certificate_thumbprint: str - """ - super().__init__(**kwargs) - self.id = id - self.public_signing_key = public_signing_key - self.signing_certificate_thumbprint = signing_certificate_thumbprint - - -class Operation(_serialization.Model): - """Azure Data Services on Azure Arc operation definition. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar name: The name of the operation being performed on this particular object. Required. - :vartype name: str - :ivar display: The localized display information for this particular operation / action. - Required. - :vartype display: ~azure.mgmt.azurearcdata.models.OperationDisplay - :ivar origin: The intended executor of the operation. Known values are: "user" and "system". - :vartype origin: str or ~azure.mgmt.azurearcdata.models.OperationOrigin - :ivar is_data_action: Indicates whether the operation is a data action. Required. - :vartype is_data_action: bool - :ivar properties: Additional descriptions for the operation. - :vartype properties: dict[str, any] - """ - - _validation = { - "name": {"required": True}, - "display": {"required": True}, - "origin": {"readonly": True}, - "is_data_action": {"required": True}, - "properties": {"readonly": True}, - } - - _attribute_map = { - "name": {"key": "name", "type": "str"}, - "display": {"key": "display", "type": "OperationDisplay"}, - "origin": {"key": "origin", "type": "str"}, - "is_data_action": {"key": "isDataAction", "type": "bool"}, - "properties": {"key": "properties", "type": "{object}"}, - } - - def __init__(self, *, name: str, display: "_models.OperationDisplay", is_data_action: bool, **kwargs: Any) -> None: - """ - :keyword name: The name of the operation being performed on this particular object. Required. - :paramtype name: str - :keyword display: The localized display information for this particular operation / action. - Required. - :paramtype display: ~azure.mgmt.azurearcdata.models.OperationDisplay - :keyword is_data_action: Indicates whether the operation is a data action. Required. - :paramtype is_data_action: bool - """ - super().__init__(**kwargs) - self.name = name - self.display = display - self.origin: Optional[Union[str, "_models.OperationOrigin"]] = None - self.is_data_action = is_data_action - self.properties: Optional[dict[str, Any]] = None - - -class OperationDisplay(_serialization.Model): - """Display metadata associated with the operation. - - All required parameters must be populated in order to send to server. - - :ivar provider: The localized friendly form of the resource provider name. Required. - :vartype provider: str - :ivar resource: The localized friendly form of the resource type related to this - action/operation. Required. - :vartype resource: str - :ivar operation: The localized friendly name for the operation. Required. - :vartype operation: str - :ivar description: The localized friendly description for the operation. Required. - :vartype description: str - """ - - _validation = { - "provider": {"required": True}, - "resource": {"required": True}, - "operation": {"required": True}, - "description": {"required": True}, - } - - _attribute_map = { - "provider": {"key": "provider", "type": "str"}, - "resource": {"key": "resource", "type": "str"}, - "operation": {"key": "operation", "type": "str"}, - "description": {"key": "description", "type": "str"}, - } - - def __init__(self, *, provider: str, resource: str, operation: str, description: str, **kwargs: Any) -> None: - """ - :keyword provider: The localized friendly form of the resource provider name. Required. - :paramtype provider: str - :keyword resource: The localized friendly form of the resource type related to this - action/operation. Required. - :paramtype resource: str - :keyword operation: The localized friendly name for the operation. Required. - :paramtype operation: str - :keyword description: The localized friendly description for the operation. Required. - :paramtype description: str - """ - super().__init__(**kwargs) - self.provider = provider - self.resource = resource - self.operation = operation - self.description = description - - -class OperationListResult(_serialization.Model): - """Result of the request to list Azure Data Services on Azure Arc operations. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.Operation] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[Operation]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.value: Optional[list["_models.Operation"]] = None - self.next_link: Optional[str] = None - - -class PageOfDataControllerResource(_serialization.Model): - """A list of data controllers. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.DataControllerResource] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _attribute_map = { - "value": {"key": "value", "type": "[DataControllerResource]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__( - self, - *, - value: Optional[list["_models.DataControllerResource"]] = None, - next_link: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword value: Array of results. - :paramtype value: list[~azure.mgmt.azurearcdata.models.DataControllerResource] - :keyword next_link: Link to retrieve next page of results. - :paramtype next_link: str - """ - super().__init__(**kwargs) - self.value = value - self.next_link = next_link - - -class PostgresInstance(TrackedResource): - """A Postgres Instance. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar extended_location: The extendedLocation of the resource. - :vartype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation - :ivar properties: null. Required. - :vartype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties - :ivar sku: Resource sku. - :vartype sku: ~azure.mgmt.azurearcdata.models.PostgresInstanceSku - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - "properties": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"}, - "properties": {"key": "properties", "type": "PostgresInstanceProperties"}, - "sku": {"key": "sku", "type": "PostgresInstanceSku"}, - } - - def __init__( - self, - *, - location: str, - properties: "_models.PostgresInstanceProperties", - tags: Optional[dict[str, str]] = None, - extended_location: Optional["_models.ExtendedLocation"] = None, - sku: Optional["_models.PostgresInstanceSku"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword extended_location: The extendedLocation of the resource. - :paramtype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation - :keyword properties: null. Required. - :paramtype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties - :keyword sku: Resource sku. - :paramtype sku: ~azure.mgmt.azurearcdata.models.PostgresInstanceSku - """ - super().__init__(tags=tags, location=location, **kwargs) - self.extended_location = extended_location - self.properties = properties - self.sku = sku - - -class PostgresInstanceListResult(_serialization.Model): - """A list of PostgresInstance. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.PostgresInstance] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[PostgresInstance]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.value: Optional[list["_models.PostgresInstance"]] = None - self.next_link: Optional[str] = None - - -class PostgresInstanceProperties(_serialization.Model): - """Postgres Instance properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar data_controller_id: The data controller id. - :vartype data_controller_id: str - :ivar admin: The instance admin. - :vartype admin: str - :ivar basic_login_information: Username and password for basic authentication. - :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar k8_s_raw: The raw kubernetes information. - :vartype k8_s_raw: JSON - :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date - time. - :vartype last_uploaded_date: ~datetime.datetime - :ivar provisioning_state: The provisioning state of the Azure Arc-enabled PostgreSQL instance. - :vartype provisioning_state: str - """ - - _validation = { - "provisioning_state": {"readonly": True}, - } - - _attribute_map = { - "data_controller_id": {"key": "dataControllerId", "type": "str"}, - "admin": {"key": "admin", "type": "str"}, - "basic_login_information": {"key": "basicLoginInformation", "type": "BasicLoginInformation"}, - "k8_s_raw": {"key": "k8sRaw", "type": "object"}, - "last_uploaded_date": {"key": "lastUploadedDate", "type": "iso-8601"}, - "provisioning_state": {"key": "provisioningState", "type": "str"}, - } - - def __init__( - self, - *, - data_controller_id: Optional[str] = None, - admin: Optional[str] = None, - basic_login_information: Optional["_models.BasicLoginInformation"] = None, - k8_s_raw: Optional[JSON] = None, - last_uploaded_date: Optional[datetime.datetime] = None, - **kwargs: Any - ) -> None: - """ - :keyword data_controller_id: The data controller id. - :paramtype data_controller_id: str - :keyword admin: The instance admin. - :paramtype admin: str - :keyword basic_login_information: Username and password for basic authentication. - :paramtype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :keyword k8_s_raw: The raw kubernetes information. - :paramtype k8_s_raw: JSON - :keyword last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current - date time. - :paramtype last_uploaded_date: ~datetime.datetime - """ - super().__init__(**kwargs) - self.data_controller_id = data_controller_id - self.admin = admin - self.basic_login_information = basic_login_information - self.k8_s_raw = k8_s_raw - self.last_uploaded_date = last_uploaded_date - self.provisioning_state: Optional[str] = None - - -class PostgresInstanceSku(CommonSku): - """The resource model definition representing SKU for Azure Database for PostgresSQL - Azure Arc. - - All required parameters must be populated in order to send to server. - - :ivar name: The name of the SKU. It is typically a letter+number code. Required. - :vartype name: str - :ivar dev: Whether dev/test is enabled. When the dev field is set to true, the resource is used - for dev/test purpose. - :vartype dev: bool - :ivar size: The SKU size. When the name field is the combination of tier and some other value, - this would be the standalone code. - :vartype size: str - :ivar family: If the service has different generations of hardware, for the same SKU, then that - can be captured here. - :vartype family: str - :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included. - If scale out/in is not possible for the resource this may be omitted. - :vartype capacity: int - :ivar tier: This field is required to be implemented by the Resource Provider if the service - has more than one tier. Default value is "Hyperscale". - :vartype tier: str - """ - - _validation = { - "name": {"required": True}, - } - - _attribute_map = { - "name": {"key": "name", "type": "str"}, - "dev": {"key": "dev", "type": "bool"}, - "size": {"key": "size", "type": "str"}, - "family": {"key": "family", "type": "str"}, - "capacity": {"key": "capacity", "type": "int"}, - "tier": {"key": "tier", "type": "str"}, - } - - def __init__( - self, - *, - name: str, - dev: bool = True, - size: Optional[str] = None, - family: Optional[str] = None, - capacity: Optional[int] = None, - tier: Literal["Hyperscale"] = "Hyperscale", - **kwargs: Any - ) -> None: - """ - :keyword name: The name of the SKU. It is typically a letter+number code. Required. - :paramtype name: str - :keyword dev: Whether dev/test is enabled. When the dev field is set to true, the resource is - used for dev/test purpose. - :paramtype dev: bool - :keyword size: The SKU size. When the name field is the combination of tier and some other - value, this would be the standalone code. - :paramtype size: str - :keyword family: If the service has different generations of hardware, for the same SKU, then - that can be captured here. - :paramtype family: str - :keyword capacity: If the SKU supports scale out/in then the capacity integer should be - included. If scale out/in is not possible for the resource this may be omitted. - :paramtype capacity: int - :keyword tier: This field is required to be implemented by the Resource Provider if the service - has more than one tier. Default value is "Hyperscale". - :paramtype tier: str - """ - super().__init__(name=name, dev=dev, size=size, family=family, capacity=capacity, **kwargs) - self.tier = tier - - -class PostgresInstanceUpdate(_serialization.Model): - """An update to a Postgres Instance. - - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar properties: Postgres Instance properties. - :vartype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties - """ - - _attribute_map = { - "tags": {"key": "tags", "type": "{str}"}, - "properties": {"key": "properties", "type": "PostgresInstanceProperties"}, - } - - def __init__( - self, - *, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.PostgresInstanceProperties"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword properties: Postgres Instance properties. - :paramtype properties: ~azure.mgmt.azurearcdata.models.PostgresInstanceProperties - """ - super().__init__(**kwargs) - self.tags = tags - self.properties = properties - - -class ResourceAutoGenerated(_serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.id: Optional[str] = None - self.name: Optional[str] = None - self.type: Optional[str] = None - self.system_data: Optional["_models.SystemData"] = None - - -class Schedule(_serialization.Model): - """The scheduling configuration. - - :ivar enabled: Indicates whether scheduling is enabled. - :vartype enabled: bool - :ivar cron_trigger: The cron trigger configuration. - :vartype cron_trigger: ~azure.mgmt.azurearcdata.models.CronTrigger - """ - - _attribute_map = { - "enabled": {"key": "enabled", "type": "bool"}, - "cron_trigger": {"key": "cronTrigger", "type": "CronTrigger"}, - } - - def __init__( - self, *, enabled: Optional[bool] = None, cron_trigger: Optional["_models.CronTrigger"] = None, **kwargs: Any - ) -> None: - """ - :keyword enabled: Indicates whether scheduling is enabled. - :paramtype enabled: bool - :keyword cron_trigger: The cron trigger configuration. - :paramtype cron_trigger: ~azure.mgmt.azurearcdata.models.CronTrigger - """ - super().__init__(**kwargs) - self.enabled = enabled - self.cron_trigger = cron_trigger - - -class SequencerAction(_serialization.Model): - """The sequencer action details. - - :ivar action_id: The unique identifier of the sequencer action. - :vartype action_id: str - :ivar state: The state of the sequencer action. Known values are: "NotStarted", - "WaitingPredecessors", "ExecutingAction", "CreatingSuccessors", and "Completed". - :vartype state: str or ~azure.mgmt.azurearcdata.models.SequencerState - :ivar result: The result of the sequencer action. Known values are: "NotCompleted", - "Succeeded", "Failed", "TimedOut", and "Skipped". - :vartype result: str or ~azure.mgmt.azurearcdata.models.Result - """ - - _attribute_map = { - "action_id": {"key": "actionId", "type": "str"}, - "state": {"key": "state", "type": "str"}, - "result": {"key": "result", "type": "str"}, - } - - def __init__( - self, - *, - action_id: Optional[str] = None, - state: Optional[Union[str, "_models.SequencerState"]] = None, - result: Optional[Union[str, "_models.Result"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword action_id: The unique identifier of the sequencer action. - :paramtype action_id: str - :keyword state: The state of the sequencer action. Known values are: "NotStarted", - "WaitingPredecessors", "ExecutingAction", "CreatingSuccessors", and "Completed". - :paramtype state: str or ~azure.mgmt.azurearcdata.models.SequencerState - :keyword result: The result of the sequencer action. Known values are: "NotCompleted", - "Succeeded", "Failed", "TimedOut", and "Skipped". - :paramtype result: str or ~azure.mgmt.azurearcdata.models.Result - """ - super().__init__(**kwargs) - self.action_id = action_id - self.state = state - self.result = result - - -class ServerAssessmentsItem(_serialization.Model): - """ServerAssessmentsItem. - - :ivar applies_to_migration_target_platform: - :vartype applies_to_migration_target_platform: str - :ivar feature_id: - :vartype feature_id: str - :ivar impacted_objects: - :vartype impacted_objects: - list[~azure.mgmt.azurearcdata.models.ServerAssessmentsPropertiesItemsItem] - :ivar issue_category: - :vartype issue_category: str - :ivar more_information: - :vartype more_information: str - """ - - _attribute_map = { - "applies_to_migration_target_platform": {"key": "appliesToMigrationTargetPlatform", "type": "str"}, - "feature_id": {"key": "featureId", "type": "str"}, - "impacted_objects": {"key": "impactedObjects", "type": "[ServerAssessmentsPropertiesItemsItem]"}, - "issue_category": {"key": "issueCategory", "type": "str"}, - "more_information": {"key": "moreInformation", "type": "str"}, - } - - def __init__( - self, - *, - applies_to_migration_target_platform: Optional[str] = None, - feature_id: Optional[str] = None, - impacted_objects: Optional[list["_models.ServerAssessmentsPropertiesItemsItem"]] = None, - issue_category: Optional[str] = None, - more_information: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword applies_to_migration_target_platform: - :paramtype applies_to_migration_target_platform: str - :keyword feature_id: - :paramtype feature_id: str - :keyword impacted_objects: - :paramtype impacted_objects: - list[~azure.mgmt.azurearcdata.models.ServerAssessmentsPropertiesItemsItem] - :keyword issue_category: - :paramtype issue_category: str - :keyword more_information: - :paramtype more_information: str - """ - super().__init__(**kwargs) - self.applies_to_migration_target_platform = applies_to_migration_target_platform - self.feature_id = feature_id - self.impacted_objects = impacted_objects - self.issue_category = issue_category - self.more_information = more_information - - -class ServerAssessmentsPropertiesItemsItem(_serialization.Model): - """ServerAssessmentsPropertiesItemsItem. - - :ivar impact_detail: - :vartype impact_detail: str - :ivar name: - :vartype name: str - :ivar object_type: - :vartype object_type: str - """ - - _attribute_map = { - "impact_detail": {"key": "impactDetail", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "object_type": {"key": "objectType", "type": "str"}, - } - - def __init__( - self, - *, - impact_detail: Optional[str] = None, - name: Optional[str] = None, - object_type: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword impact_detail: - :paramtype impact_detail: str - :keyword name: - :paramtype name: str - :keyword object_type: - :paramtype object_type: str - """ - super().__init__(**kwargs) - self.impact_detail = impact_detail - self.name = name - self.object_type = object_type - - -class SkuRecommendationResults(_serialization.Model): - """SKU Recommendation results for Azure migration targets for SQL Server. - - :ivar azure_sql_database: SKU Recommendation results for Azure SQL Database. - :vartype azure_sql_database: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabase - :ivar azure_sql_managed_instance: SKU Recommendation results for Azure SQL Managed Instance. - :vartype azure_sql_managed_instance: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstance - :ivar azure_sql_virtual_machine: SKU Recommendation results for Azure SQL Virtual Machine. - :vartype azure_sql_virtual_machine: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachine - """ - - _attribute_map = { - "azure_sql_database": {"key": "azureSqlDatabase", "type": "SkuRecommendationResultsAzureSqlDatabase"}, - "azure_sql_managed_instance": { - "key": "azureSqlManagedInstance", - "type": "SkuRecommendationResultsAzureSqlManagedInstance", - }, - "azure_sql_virtual_machine": { - "key": "azureSqlVirtualMachine", - "type": "SkuRecommendationResultsAzureSqlVirtualMachine", - }, - } - - def __init__( - self, - *, - azure_sql_database: Optional["_models.SkuRecommendationResultsAzureSqlDatabase"] = None, - azure_sql_managed_instance: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstance"] = None, - azure_sql_virtual_machine: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachine"] = None, - **kwargs: Any - ) -> None: - """ - :keyword azure_sql_database: SKU Recommendation results for Azure SQL Database. - :paramtype azure_sql_database: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabase - :keyword azure_sql_managed_instance: SKU Recommendation results for Azure SQL Managed Instance. - :paramtype azure_sql_managed_instance: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstance - :keyword azure_sql_virtual_machine: SKU Recommendation results for Azure SQL Virtual Machine. - :paramtype azure_sql_virtual_machine: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachine - """ - super().__init__(**kwargs) - self.azure_sql_database = azure_sql_database - self.azure_sql_managed_instance = azure_sql_managed_instance - self.azure_sql_virtual_machine = azure_sql_virtual_machine - - -class SkuRecommendationResultsAzureSqlDatabase(_serialization.Model): - """SKU Recommendation results for Azure SQL Database. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar recommendation_status: The target recommendation Status for this database. Known values - are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". - :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus - :ivar number_of_server_blocker_issues: Number of blocker issues to fix before migrating to the - target platform. - :vartype number_of_server_blocker_issues: int - :ivar monthly_cost: The monthly cost of the particular SKU. - :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost - :ivar monthly_cost_options: The monthly cost for all different savings options applicable for - the particular SKU. - :vartype monthly_cost_options: - list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] - :ivar target_sku: - :vartype target_sku: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSku - """ - - _validation = { - "monthly_cost_options": {"readonly": True}, - } - - _attribute_map = { - "recommendation_status": {"key": "recommendationStatus", "type": "str"}, - "number_of_server_blocker_issues": {"key": "numberOfServerBlockerIssues", "type": "int"}, - "monthly_cost": {"key": "monthlyCost", "type": "SkuRecommendationResultsMonthlyCost"}, - "monthly_cost_options": { - "key": "monthlyCostOptions", - "type": "[SkuRecommendationResultsMonthlyCostOptionItem]", - }, - "target_sku": {"key": "targetSku", "type": "SkuRecommendationResultsAzureSqlDatabaseTargetSku"}, - } - - def __init__( - self, - *, - recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, - number_of_server_blocker_issues: Optional[int] = None, - monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, - target_sku: Optional["_models.SkuRecommendationResultsAzureSqlDatabaseTargetSku"] = None, - **kwargs: Any - ) -> None: - """ - :keyword recommendation_status: The target recommendation Status for this database. Known - values are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". - :paramtype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus - :keyword number_of_server_blocker_issues: Number of blocker issues to fix before migrating to - the target platform. - :paramtype number_of_server_blocker_issues: int - :keyword monthly_cost: The monthly cost of the particular SKU. - :paramtype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost - :keyword target_sku: - :paramtype target_sku: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSku - """ - super().__init__(**kwargs) - self.recommendation_status = recommendation_status - self.number_of_server_blocker_issues = number_of_server_blocker_issues - self.monthly_cost = monthly_cost - self.monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = None - self.target_sku = target_sku - - -class SkuRecommendationResultsAzureSqlDatabaseTargetSku(_serialization.Model): # pylint: disable=name-too-long - """SkuRecommendationResultsAzureSqlDatabaseTargetSku. - - :ivar category: - :vartype category: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory - :ivar compute_size: Compute Size in vCores. - :vartype compute_size: int - :ivar storage_max_size_in_mb: maximum storage for this particular SKU, in MB. - :vartype storage_max_size_in_mb: float - :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the - billing cost. - :vartype predicted_data_size_in_mb: float - :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the - billing cost. - :vartype predicted_log_size_in_mb: float - :ivar max_storage_iops: The maximum storage IOPS in Azure SQL, will impact the billing cost. - :vartype max_storage_iops: float - :ivar max_throughput_m_bps: The maximum throughput in Azure SQL, will impact the billing cost. - :vartype max_throughput_m_bps: float - """ - - _attribute_map = { - "category": {"key": "category", "type": "SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory"}, - "compute_size": {"key": "computeSize", "type": "int"}, - "storage_max_size_in_mb": {"key": "storageMaxSizeInMb", "type": "float"}, - "predicted_data_size_in_mb": {"key": "predictedDataSizeInMb", "type": "float"}, - "predicted_log_size_in_mb": {"key": "predictedLogSizeInMb", "type": "float"}, - "max_storage_iops": {"key": "maxStorageIops", "type": "float"}, - "max_throughput_m_bps": {"key": "maxThroughputMBps", "type": "float"}, - } - - def __init__( - self, - *, - category: Optional["_models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory"] = None, - compute_size: Optional[int] = None, - storage_max_size_in_mb: Optional[float] = None, - predicted_data_size_in_mb: Optional[float] = None, - predicted_log_size_in_mb: Optional[float] = None, - max_storage_iops: Optional[float] = None, - max_throughput_m_bps: Optional[float] = None, - **kwargs: Any - ) -> None: - """ - :keyword category: - :paramtype category: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory - :keyword compute_size: Compute Size in vCores. - :paramtype compute_size: int - :keyword storage_max_size_in_mb: maximum storage for this particular SKU, in MB. - :paramtype storage_max_size_in_mb: float - :keyword predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the - billing cost. - :paramtype predicted_data_size_in_mb: float - :keyword predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the - billing cost. - :paramtype predicted_log_size_in_mb: float - :keyword max_storage_iops: The maximum storage IOPS in Azure SQL, will impact the billing cost. - :paramtype max_storage_iops: float - :keyword max_throughput_m_bps: The maximum throughput in Azure SQL, will impact the billing - cost. - :paramtype max_throughput_m_bps: float - """ - super().__init__(**kwargs) - self.category = category - self.compute_size = compute_size - self.storage_max_size_in_mb = storage_max_size_in_mb - self.predicted_data_size_in_mb = predicted_data_size_in_mb - self.predicted_log_size_in_mb = predicted_log_size_in_mb - self.max_storage_iops = max_storage_iops - self.max_throughput_m_bps = max_throughput_m_bps - - -class SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory(_serialization.Model): # pylint: disable=name-too-long - """SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory. - - :ivar compute_tier: The compute tier of the target SKU. - :vartype compute_tier: str - :ivar hardware_type: The hardware type of the target SKU. - :vartype hardware_type: str - :ivar sql_purchasing_model: The SQL purchasing model of the target SKU. - :vartype sql_purchasing_model: str - :ivar sql_service_tier: The SQL service tier of the target SKU. - :vartype sql_service_tier: str - :ivar zone_redundancy_available: Indicates if zone redundancy is available for the target SKU. - :vartype zone_redundancy_available: bool - """ - - _attribute_map = { - "compute_tier": {"key": "computeTier", "type": "str"}, - "hardware_type": {"key": "hardwareType", "type": "str"}, - "sql_purchasing_model": {"key": "sqlPurchasingModel", "type": "str"}, - "sql_service_tier": {"key": "sqlServiceTier", "type": "str"}, - "zone_redundancy_available": {"key": "zoneRedundancyAvailable", "type": "bool"}, - } - - def __init__( - self, - *, - compute_tier: Optional[str] = None, - hardware_type: Optional[str] = None, - sql_purchasing_model: Optional[str] = None, - sql_service_tier: Optional[str] = None, - zone_redundancy_available: Optional[bool] = None, - **kwargs: Any - ) -> None: - """ - :keyword compute_tier: The compute tier of the target SKU. - :paramtype compute_tier: str - :keyword hardware_type: The hardware type of the target SKU. - :paramtype hardware_type: str - :keyword sql_purchasing_model: The SQL purchasing model of the target SKU. - :paramtype sql_purchasing_model: str - :keyword sql_service_tier: The SQL service tier of the target SKU. - :paramtype sql_service_tier: str - :keyword zone_redundancy_available: Indicates if zone redundancy is available for the target - SKU. - :paramtype zone_redundancy_available: bool - """ - super().__init__(**kwargs) - self.compute_tier = compute_tier - self.hardware_type = hardware_type - self.sql_purchasing_model = sql_purchasing_model - self.sql_service_tier = sql_service_tier - self.zone_redundancy_available = zone_redundancy_available - - -class SkuRecommendationResultsAzureSqlManagedInstance(_serialization.Model): # pylint: disable=name-too-long - """SKU Recommendation results for Azure SQL Managed Instance. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar recommendation_status: The target recommendation Status for this database. Known values - are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". - :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus - :ivar number_of_server_blocker_issues: Number of blocker issues to fix before migrating to the - target platform. - :vartype number_of_server_blocker_issues: int - :ivar monthly_cost: The monthly cost of the particular SKU. - :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost - :ivar monthly_cost_options: The monthly cost for all different savings options applicable for - the particular SKU. - :vartype monthly_cost_options: - list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] - :ivar target_sku: - :vartype target_sku: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku - """ - - _validation = { - "monthly_cost_options": {"readonly": True}, - } - - _attribute_map = { - "recommendation_status": {"key": "recommendationStatus", "type": "str"}, - "number_of_server_blocker_issues": {"key": "numberOfServerBlockerIssues", "type": "int"}, - "monthly_cost": {"key": "monthlyCost", "type": "SkuRecommendationResultsMonthlyCost"}, - "monthly_cost_options": { - "key": "monthlyCostOptions", - "type": "[SkuRecommendationResultsMonthlyCostOptionItem]", - }, - "target_sku": {"key": "targetSku", "type": "SkuRecommendationResultsAzureSqlManagedInstanceTargetSku"}, - } - - def __init__( - self, - *, - recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, - number_of_server_blocker_issues: Optional[int] = None, - monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, - target_sku: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku"] = None, - **kwargs: Any - ) -> None: - """ - :keyword recommendation_status: The target recommendation Status for this database. Known - values are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". - :paramtype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus - :keyword number_of_server_blocker_issues: Number of blocker issues to fix before migrating to - the target platform. - :paramtype number_of_server_blocker_issues: int - :keyword monthly_cost: The monthly cost of the particular SKU. - :paramtype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost - :keyword target_sku: - :paramtype target_sku: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku - """ - super().__init__(**kwargs) - self.recommendation_status = recommendation_status - self.number_of_server_blocker_issues = number_of_server_blocker_issues - self.monthly_cost = monthly_cost - self.monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = None - self.target_sku = target_sku - - -class SkuRecommendationResultsAzureSqlManagedInstanceTargetSku(_serialization.Model): # pylint: disable=name-too-long - """SkuRecommendationResultsAzureSqlManagedInstanceTargetSku. - - :ivar category: - :vartype category: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory - :ivar compute_size: Compute Size in vCores. - :vartype compute_size: int - :ivar storage_max_size_in_mb: maximum storage for this particular SKU, in MB. - :vartype storage_max_size_in_mb: float - :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the - billing cost. - :vartype predicted_data_size_in_mb: float - :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the - billing cost. - :vartype predicted_log_size_in_mb: float - :ivar max_storage_iops: The maximum storage IOPS in Azure SQL, will impact the billing cost. - :vartype max_storage_iops: float - :ivar max_throughput_m_bps: The maximum throughput in Azure SQL, will impact the billing cost. - :vartype max_throughput_m_bps: float - """ - - _attribute_map = { - "category": {"key": "category", "type": "SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory"}, - "compute_size": {"key": "computeSize", "type": "int"}, - "storage_max_size_in_mb": {"key": "storageMaxSizeInMb", "type": "float"}, - "predicted_data_size_in_mb": {"key": "predictedDataSizeInMb", "type": "float"}, - "predicted_log_size_in_mb": {"key": "predictedLogSizeInMb", "type": "float"}, - "max_storage_iops": {"key": "maxStorageIops", "type": "float"}, - "max_throughput_m_bps": {"key": "maxThroughputMBps", "type": "float"}, - } - - def __init__( - self, - *, - category: Optional["_models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory"] = None, - compute_size: Optional[int] = None, - storage_max_size_in_mb: Optional[float] = None, - predicted_data_size_in_mb: Optional[float] = None, - predicted_log_size_in_mb: Optional[float] = None, - max_storage_iops: Optional[float] = None, - max_throughput_m_bps: Optional[float] = None, - **kwargs: Any - ) -> None: - """ - :keyword category: - :paramtype category: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory - :keyword compute_size: Compute Size in vCores. - :paramtype compute_size: int - :keyword storage_max_size_in_mb: maximum storage for this particular SKU, in MB. - :paramtype storage_max_size_in_mb: float - :keyword predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the - billing cost. - :paramtype predicted_data_size_in_mb: float - :keyword predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the - billing cost. - :paramtype predicted_log_size_in_mb: float - :keyword max_storage_iops: The maximum storage IOPS in Azure SQL, will impact the billing cost. - :paramtype max_storage_iops: float - :keyword max_throughput_m_bps: The maximum throughput in Azure SQL, will impact the billing - cost. - :paramtype max_throughput_m_bps: float - """ - super().__init__(**kwargs) - self.category = category - self.compute_size = compute_size - self.storage_max_size_in_mb = storage_max_size_in_mb - self.predicted_data_size_in_mb = predicted_data_size_in_mb - self.predicted_log_size_in_mb = predicted_log_size_in_mb - self.max_storage_iops = max_storage_iops - self.max_throughput_m_bps = max_throughput_m_bps - - -class SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory( - _serialization.Model -): # pylint: disable=name-too-long - """SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory. - - :ivar compute_tier: The compute tier of the target SKU. - :vartype compute_tier: str - :ivar hardware_type: The hardware type of the target SKU. - :vartype hardware_type: str - :ivar sql_purchasing_model: The SQL purchasing model of the target SKU. - :vartype sql_purchasing_model: str - :ivar sql_service_tier: The SQL service tier of the target SKU. - :vartype sql_service_tier: str - :ivar zone_redundancy_available: Indicates if zone redundancy is available for the target SKU. - :vartype zone_redundancy_available: bool - """ - - _attribute_map = { - "compute_tier": {"key": "computeTier", "type": "str"}, - "hardware_type": {"key": "hardwareType", "type": "str"}, - "sql_purchasing_model": {"key": "sqlPurchasingModel", "type": "str"}, - "sql_service_tier": {"key": "sqlServiceTier", "type": "str"}, - "zone_redundancy_available": {"key": "zoneRedundancyAvailable", "type": "bool"}, - } - - def __init__( - self, - *, - compute_tier: Optional[str] = None, - hardware_type: Optional[str] = None, - sql_purchasing_model: Optional[str] = None, - sql_service_tier: Optional[str] = None, - zone_redundancy_available: Optional[bool] = None, - **kwargs: Any - ) -> None: - """ - :keyword compute_tier: The compute tier of the target SKU. - :paramtype compute_tier: str - :keyword hardware_type: The hardware type of the target SKU. - :paramtype hardware_type: str - :keyword sql_purchasing_model: The SQL purchasing model of the target SKU. - :paramtype sql_purchasing_model: str - :keyword sql_service_tier: The SQL service tier of the target SKU. - :paramtype sql_service_tier: str - :keyword zone_redundancy_available: Indicates if zone redundancy is available for the target - SKU. - :paramtype zone_redundancy_available: bool - """ - super().__init__(**kwargs) - self.compute_tier = compute_tier - self.hardware_type = hardware_type - self.sql_purchasing_model = sql_purchasing_model - self.sql_service_tier = sql_service_tier - self.zone_redundancy_available = zone_redundancy_available - - -class SkuRecommendationResultsAzureSqlVirtualMachine(_serialization.Model): # pylint: disable=name-too-long - """SKU Recommendation results for Azure SQL Virtual Machine. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar recommendation_status: The target recommendation Status for this database. Known values - are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". - :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus - :ivar number_of_server_blocker_issues: Number of blocker issues to fix before migrating to the - target platform. - :vartype number_of_server_blocker_issues: int - :ivar monthly_cost: The monthly cost of the particular SKU. - :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost - :ivar monthly_cost_options: The monthly cost for all different savings options applicable for - the particular SKU. - :vartype monthly_cost_options: - list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] - :ivar target_sku: - :vartype target_sku: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku - """ - - _validation = { - "monthly_cost_options": {"readonly": True}, - } - - _attribute_map = { - "recommendation_status": {"key": "recommendationStatus", "type": "str"}, - "number_of_server_blocker_issues": {"key": "numberOfServerBlockerIssues", "type": "int"}, - "monthly_cost": {"key": "monthlyCost", "type": "SkuRecommendationResultsMonthlyCost"}, - "monthly_cost_options": { - "key": "monthlyCostOptions", - "type": "[SkuRecommendationResultsMonthlyCostOptionItem]", - }, - "target_sku": {"key": "targetSku", "type": "SkuRecommendationResultsAzureSqlVirtualMachineTargetSku"}, - } - - def __init__( - self, - *, - recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, - number_of_server_blocker_issues: Optional[int] = None, - monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, - target_sku: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku"] = None, - **kwargs: Any - ) -> None: - """ - :keyword recommendation_status: The target recommendation Status for this database. Known - values are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". - :paramtype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus - :keyword number_of_server_blocker_issues: Number of blocker issues to fix before migrating to - the target platform. - :paramtype number_of_server_blocker_issues: int - :keyword monthly_cost: The monthly cost of the particular SKU. - :paramtype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost - :keyword target_sku: - :paramtype target_sku: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku - """ - super().__init__(**kwargs) - self.recommendation_status = recommendation_status - self.number_of_server_blocker_issues = number_of_server_blocker_issues - self.monthly_cost = monthly_cost - self.monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = None - self.target_sku = target_sku - - -class SkuRecommendationResultsAzureSqlVirtualMachineTargetSku(_serialization.Model): # pylint: disable=name-too-long - """SkuRecommendationResultsAzureSqlVirtualMachineTargetSku. - - :ivar category: - :vartype category: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory - :ivar compute_size: Compute Size in vCores. - :vartype compute_size: int - :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the - billing cost. - :vartype predicted_data_size_in_mb: float - :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the - billing cost. - :vartype predicted_log_size_in_mb: float - :ivar virtual_machine_size: size parameters for VM size. - :vartype virtual_machine_size: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize - :ivar data_disk_sizes: Data disk sizes. - :vartype data_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] - :ivar log_disk_sizes: Log disk sizes. - :vartype log_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] - :ivar temp_db_disk_sizes: temp db disk sizes. - :vartype temp_db_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] - """ - - _attribute_map = { - "category": {"key": "category", "type": "SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory"}, - "compute_size": {"key": "computeSize", "type": "int"}, - "predicted_data_size_in_mb": {"key": "predictedDataSizeInMb", "type": "float"}, - "predicted_log_size_in_mb": {"key": "predictedLogSizeInMb", "type": "float"}, - "virtual_machine_size": { - "key": "virtualMachineSize", - "type": "SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize", - }, - "data_disk_sizes": {"key": "dataDiskSizes", "type": "[DiskSizes]"}, - "log_disk_sizes": {"key": "logDiskSizes", "type": "[DiskSizes]"}, - "temp_db_disk_sizes": {"key": "tempDbDiskSizes", "type": "[DiskSizes]"}, - } - - def __init__( - self, - *, - category: Optional["_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory"] = None, - compute_size: Optional[int] = None, - predicted_data_size_in_mb: Optional[float] = None, - predicted_log_size_in_mb: Optional[float] = None, - virtual_machine_size: Optional[ - "_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize" - ] = None, - data_disk_sizes: Optional[list["_models.DiskSizes"]] = None, - log_disk_sizes: Optional[list["_models.DiskSizes"]] = None, - temp_db_disk_sizes: Optional[list["_models.DiskSizes"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword category: - :paramtype category: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory - :keyword compute_size: Compute Size in vCores. - :paramtype compute_size: int - :keyword predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the - billing cost. - :paramtype predicted_data_size_in_mb: float - :keyword predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the - billing cost. - :paramtype predicted_log_size_in_mb: float - :keyword virtual_machine_size: size parameters for VM size. - :paramtype virtual_machine_size: - ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize - :keyword data_disk_sizes: Data disk sizes. - :paramtype data_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] - :keyword log_disk_sizes: Log disk sizes. - :paramtype log_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] - :keyword temp_db_disk_sizes: temp db disk sizes. - :paramtype temp_db_disk_sizes: list[~azure.mgmt.azurearcdata.models.DiskSizes] - """ - super().__init__(**kwargs) - self.category = category - self.compute_size = compute_size - self.predicted_data_size_in_mb = predicted_data_size_in_mb - self.predicted_log_size_in_mb = predicted_log_size_in_mb - self.virtual_machine_size = virtual_machine_size - self.data_disk_sizes = data_disk_sizes - self.log_disk_sizes = log_disk_sizes - self.temp_db_disk_sizes = temp_db_disk_sizes - - -class SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory( - _serialization.Model -): # pylint: disable=name-too-long - """SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory. - - :ivar available_vm_skus: Available VM SKUs for the Azure SQL Virtual Machine. - :vartype available_vm_skus: list[str] - :ivar virtual_machine_family: The virtual machine family of the target SKU. - :vartype virtual_machine_family: str - """ - - _attribute_map = { - "available_vm_skus": {"key": "availableVmSkus", "type": "[str]"}, - "virtual_machine_family": {"key": "virtualMachineFamily", "type": "str"}, - } - - def __init__( - self, - *, - available_vm_skus: Optional[list[str]] = None, - virtual_machine_family: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword available_vm_skus: Available VM SKUs for the Azure SQL Virtual Machine. - :paramtype available_vm_skus: list[str] - :keyword virtual_machine_family: The virtual machine family of the target SKU. - :paramtype virtual_machine_family: str - """ - super().__init__(**kwargs) - self.available_vm_skus = available_vm_skus - self.virtual_machine_family = virtual_machine_family - - -class SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize( - _serialization.Model -): # pylint: disable=name-too-long - """size parameters for VM size. - - :ivar virtual_machine_family: Virtual Machine Family, for example : standardMSFamily. - :vartype virtual_machine_family: str - :ivar size_name: VM Size, for example : M64ls. - :vartype size_name: str - :ivar compute_size: Compute Size in vCores. - :vartype compute_size: int - :ivar azure_sku_name: Virtual Machine SKU name,: Eg : Standard_F16s. - :vartype azure_sku_name: str - :ivar v_cpus_available: Available vCores. This can be less than the vCores in the Constrained - vCPU VM Sizes. - :vartype v_cpus_available: int - :ivar max_network_interfaces: maximum network interfaces. - :vartype max_network_interfaces: int - """ - - _attribute_map = { - "virtual_machine_family": {"key": "virtualMachineFamily", "type": "str"}, - "size_name": {"key": "sizeName", "type": "str"}, - "compute_size": {"key": "computeSize", "type": "int"}, - "azure_sku_name": {"key": "azureSkuName", "type": "str"}, - "v_cpus_available": {"key": "vCPUsAvailable", "type": "int"}, - "max_network_interfaces": {"key": "maxNetworkInterfaces", "type": "int"}, - } - - def __init__( - self, - *, - virtual_machine_family: Optional[str] = None, - size_name: Optional[str] = None, - compute_size: Optional[int] = None, - azure_sku_name: Optional[str] = None, - v_cpus_available: Optional[int] = None, - max_network_interfaces: Optional[int] = None, - **kwargs: Any - ) -> None: - """ - :keyword virtual_machine_family: Virtual Machine Family, for example : standardMSFamily. - :paramtype virtual_machine_family: str - :keyword size_name: VM Size, for example : M64ls. - :paramtype size_name: str - :keyword compute_size: Compute Size in vCores. - :paramtype compute_size: int - :keyword azure_sku_name: Virtual Machine SKU name,: Eg : Standard_F16s. - :paramtype azure_sku_name: str - :keyword v_cpus_available: Available vCores. This can be less than the vCores in the - Constrained vCPU VM Sizes. - :paramtype v_cpus_available: int - :keyword max_network_interfaces: maximum network interfaces. - :paramtype max_network_interfaces: int - """ - super().__init__(**kwargs) - self.virtual_machine_family = virtual_machine_family - self.size_name = size_name - self.compute_size = compute_size - self.azure_sku_name = azure_sku_name - self.v_cpus_available = v_cpus_available - self.max_network_interfaces = max_network_interfaces - - -class SkuRecommendationResultsMonthlyCost(_serialization.Model): - """The monthly cost of the particular SKU. - - :ivar compute_cost: Represents the Cost of Compute. - :vartype compute_cost: float - :ivar storage_cost: Represents the Cost of Storage. - :vartype storage_cost: float - :ivar iops_cost: Represents the Cost of IOPS. - :vartype iops_cost: float - :ivar sql_license_cost: Represents the Cost of SQL license. - :vartype sql_license_cost: float - :ivar windows_license_cost: Represents the Cost of Windows license. - :vartype windows_license_cost: float - :ivar total_cost: Represents the Total Cost. - :vartype total_cost: float - """ - - _attribute_map = { - "compute_cost": {"key": "computeCost", "type": "float"}, - "storage_cost": {"key": "storageCost", "type": "float"}, - "iops_cost": {"key": "iopsCost", "type": "float"}, - "sql_license_cost": {"key": "sqlLicenseCost", "type": "float"}, - "windows_license_cost": {"key": "windowsLicenseCost", "type": "float"}, - "total_cost": {"key": "totalCost", "type": "float"}, - } - - def __init__( - self, - *, - compute_cost: Optional[float] = None, - storage_cost: Optional[float] = None, - iops_cost: Optional[float] = None, - sql_license_cost: Optional[float] = None, - windows_license_cost: Optional[float] = None, - total_cost: Optional[float] = None, - **kwargs: Any - ) -> None: - """ - :keyword compute_cost: Represents the Cost of Compute. - :paramtype compute_cost: float - :keyword storage_cost: Represents the Cost of Storage. - :paramtype storage_cost: float - :keyword iops_cost: Represents the Cost of IOPS. - :paramtype iops_cost: float - :keyword sql_license_cost: Represents the Cost of SQL license. - :paramtype sql_license_cost: float - :keyword windows_license_cost: Represents the Cost of Windows license. - :paramtype windows_license_cost: float - :keyword total_cost: Represents the Total Cost. - :paramtype total_cost: float - """ - super().__init__(**kwargs) - self.compute_cost = compute_cost - self.storage_cost = storage_cost - self.iops_cost = iops_cost - self.sql_license_cost = sql_license_cost - self.windows_license_cost = windows_license_cost - self.total_cost = total_cost - - -class SkuRecommendationResultsMonthlyCostOptionItem(_serialization.Model): # pylint: disable=name-too-long - """The monthly cost values for this saving option combination for the particular SKU. - - :ivar key_name: The unique combination of saving options for a price e.g. With1YearASPAndProd. - :vartype key_name: str - :ivar key_value: The Monthly cost of the particular SKU. - :vartype key_value: ~azure.mgmt.azurearcdata.models.CostTypeValues - """ - - _attribute_map = { - "key_name": {"key": "keyName", "type": "str"}, - "key_value": {"key": "keyValue", "type": "CostTypeValues"}, - } - - def __init__( - self, *, key_name: Optional[str] = None, key_value: Optional["_models.CostTypeValues"] = None, **kwargs: Any - ) -> None: - """ - :keyword key_name: The unique combination of saving options for a price e.g. - With1YearASPAndProd. - :paramtype key_name: str - :keyword key_value: The Monthly cost of the particular SKU. - :paramtype key_value: ~azure.mgmt.azurearcdata.models.CostTypeValues - """ - super().__init__(**kwargs) - self.key_name = key_name - self.key_value = key_value - - -class SkuRecommendationSummary(_serialization.Model): - """The SKU recommendation summary. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar num_of_blocker_issues: Number of blocker issues to fix before migrating this database to - the target platform. - :vartype num_of_blocker_issues: int - :ivar recommendation_status: The target recommendation Status for this database. Known values - are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". - :vartype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus - :ivar impacted_objects_summary: - :vartype impacted_objects_summary: list[~azure.mgmt.azurearcdata.models.ImpactedObjectsInfo] - :ivar monthly_cost: The monthly cost of the particular SKU. - :vartype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost - :ivar monthly_cost_options: The monthly cost for all different savings options applicable for - the particular SKU. - :vartype monthly_cost_options: - list[~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCostOptionItem] - :ivar target_sku: - :vartype target_sku: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSku - """ - - _validation = { - "impacted_objects_summary": {"readonly": True}, - "monthly_cost_options": {"readonly": True}, - } - - _attribute_map = { - "num_of_blocker_issues": {"key": "numOfBlockerIssues", "type": "int"}, - "recommendation_status": {"key": "recommendationStatus", "type": "str"}, - "impacted_objects_summary": {"key": "impactedObjectsSummary", "type": "[ImpactedObjectsInfo]"}, - "monthly_cost": {"key": "monthlyCost", "type": "SkuRecommendationResultsMonthlyCost"}, - "monthly_cost_options": { - "key": "monthlyCostOptions", - "type": "[SkuRecommendationResultsMonthlyCostOptionItem]", - }, - "target_sku": {"key": "targetSku", "type": "SkuRecommendationSummaryTargetSku"}, - } - - def __init__( - self, - *, - num_of_blocker_issues: Optional[int] = None, - recommendation_status: Optional[Union[str, "_models.RecommendationStatus"]] = None, - monthly_cost: Optional["_models.SkuRecommendationResultsMonthlyCost"] = None, - target_sku: Optional["_models.SkuRecommendationSummaryTargetSku"] = None, - **kwargs: Any - ) -> None: - """ - :keyword num_of_blocker_issues: Number of blocker issues to fix before migrating this database - to the target platform. - :paramtype num_of_blocker_issues: int - :keyword recommendation_status: The target recommendation Status for this database. Known - values are: "NotReady", "Ready", "ReadyWithConditions", and "Unknown". - :paramtype recommendation_status: str or ~azure.mgmt.azurearcdata.models.RecommendationStatus - :keyword monthly_cost: The monthly cost of the particular SKU. - :paramtype monthly_cost: ~azure.mgmt.azurearcdata.models.SkuRecommendationResultsMonthlyCost - :keyword target_sku: - :paramtype target_sku: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSku - """ - super().__init__(**kwargs) - self.num_of_blocker_issues = num_of_blocker_issues - self.recommendation_status = recommendation_status - self.impacted_objects_summary: Optional[list["_models.ImpactedObjectsInfo"]] = None - self.monthly_cost = monthly_cost - self.monthly_cost_options: Optional[list["_models.SkuRecommendationResultsMonthlyCostOptionItem"]] = None - self.target_sku = target_sku - - -class SkuRecommendationSummaryTargetSku(_serialization.Model): - """SkuRecommendationSummaryTargetSku. - - :ivar category: - :vartype category: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSkuCategory - :ivar compute_size: Compute Size in vCores. - :vartype compute_size: int - :ivar storage_max_size_in_mb: max storage for this particular SKU, in MB. - :vartype storage_max_size_in_mb: float - :ivar predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the - billing cost. - :vartype predicted_data_size_in_mb: float - :ivar predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the - billing cost. - :vartype predicted_log_size_in_mb: float - :ivar max_storage_iops: The max storage IOPS in Azure SQL, will impact the billing cost. - :vartype max_storage_iops: float - :ivar max_throughput_m_bps: The max throughput in Azure SQL, will impact the billing cost. - :vartype max_throughput_m_bps: float - """ - - _attribute_map = { - "category": {"key": "category", "type": "SkuRecommendationSummaryTargetSkuCategory"}, - "compute_size": {"key": "computeSize", "type": "int"}, - "storage_max_size_in_mb": {"key": "storageMaxSizeInMb", "type": "float"}, - "predicted_data_size_in_mb": {"key": "predictedDataSizeInMb", "type": "float"}, - "predicted_log_size_in_mb": {"key": "predictedLogSizeInMb", "type": "float"}, - "max_storage_iops": {"key": "maxStorageIops", "type": "float"}, - "max_throughput_m_bps": {"key": "maxThroughputMBps", "type": "float"}, - } - - def __init__( - self, - *, - category: Optional["_models.SkuRecommendationSummaryTargetSkuCategory"] = None, - compute_size: Optional[int] = None, - storage_max_size_in_mb: Optional[float] = None, - predicted_data_size_in_mb: Optional[float] = None, - predicted_log_size_in_mb: Optional[float] = None, - max_storage_iops: Optional[float] = None, - max_throughput_m_bps: Optional[float] = None, - **kwargs: Any - ) -> None: - """ - :keyword category: - :paramtype category: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummaryTargetSkuCategory - :keyword compute_size: Compute Size in vCores. - :paramtype compute_size: int - :keyword storage_max_size_in_mb: max storage for this particular SKU, in MB. - :paramtype storage_max_size_in_mb: float - :keyword predicted_data_size_in_mb: The predicted data size in MB in Azure SQL, will impact the - billing cost. - :paramtype predicted_data_size_in_mb: float - :keyword predicted_log_size_in_mb: The predicted log size in MB in Azure SQL, will impact the - billing cost. - :paramtype predicted_log_size_in_mb: float - :keyword max_storage_iops: The max storage IOPS in Azure SQL, will impact the billing cost. - :paramtype max_storage_iops: float - :keyword max_throughput_m_bps: The max throughput in Azure SQL, will impact the billing cost. - :paramtype max_throughput_m_bps: float - """ - super().__init__(**kwargs) - self.category = category - self.compute_size = compute_size - self.storage_max_size_in_mb = storage_max_size_in_mb - self.predicted_data_size_in_mb = predicted_data_size_in_mb - self.predicted_log_size_in_mb = predicted_log_size_in_mb - self.max_storage_iops = max_storage_iops - self.max_throughput_m_bps = max_throughput_m_bps - - -class SkuRecommendationSummaryTargetSkuCategory(_serialization.Model): # pylint: disable=name-too-long - """SkuRecommendationSummaryTargetSkuCategory. - - :ivar compute_tier: The compute tier of the target SKU. - :vartype compute_tier: str - :ivar hardware_type: The hardware type of the target SKU. - :vartype hardware_type: str - :ivar sql_purchasing_model: The SQL purchasing model of the target SKU. - :vartype sql_purchasing_model: str - :ivar sql_service_tier: The SQL service tier of the target SKU. - :vartype sql_service_tier: str - :ivar zone_redundancy_available: Indicates if zone redundancy is available for the target SKU. - :vartype zone_redundancy_available: bool - """ - - _attribute_map = { - "compute_tier": {"key": "computeTier", "type": "str"}, - "hardware_type": {"key": "hardwareType", "type": "str"}, - "sql_purchasing_model": {"key": "sqlPurchasingModel", "type": "str"}, - "sql_service_tier": {"key": "sqlServiceTier", "type": "str"}, - "zone_redundancy_available": {"key": "zoneRedundancyAvailable", "type": "bool"}, - } - - def __init__( - self, - *, - compute_tier: Optional[str] = None, - hardware_type: Optional[str] = None, - sql_purchasing_model: Optional[str] = None, - sql_service_tier: Optional[str] = None, - zone_redundancy_available: Optional[bool] = None, - **kwargs: Any - ) -> None: - """ - :keyword compute_tier: The compute tier of the target SKU. - :paramtype compute_tier: str - :keyword hardware_type: The hardware type of the target SKU. - :paramtype hardware_type: str - :keyword sql_purchasing_model: The SQL purchasing model of the target SKU. - :paramtype sql_purchasing_model: str - :keyword sql_service_tier: The SQL service tier of the target SKU. - :paramtype sql_service_tier: str - :keyword zone_redundancy_available: Indicates if zone redundancy is available for the target - SKU. - :paramtype zone_redundancy_available: bool - """ - super().__init__(**kwargs) - self.compute_tier = compute_tier - self.hardware_type = hardware_type - self.sql_purchasing_model = sql_purchasing_model - self.sql_service_tier = sql_service_tier - self.zone_redundancy_available = zone_redundancy_available - - -class SqlAvailabilityGroupDatabaseReplicaResourceProperties(_serialization.Model): # pylint: disable=name-too-long - """The properties of Arc Sql availability group database replica resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar database_name: the database name. - :vartype database_name: str - :ivar replica_name: the database replica name. - :vartype replica_name: str - :ivar is_local: Whether the availability database is local. - :vartype is_local: bool - :ivar is_primary_replica: Returns 1 if the replica is primary, or 0 if it is a secondary - replica. - :vartype is_primary_replica: bool - :ivar synchronization_state_description: Description of the data-movement state. - :vartype synchronization_state_description: str - :ivar is_commit_participant: Whether this replica is transaction committer. - :vartype is_commit_participant: bool - :ivar synchronization_health_description: Description of the health of database. - :vartype synchronization_health_description: str - :ivar database_state_description: Description of the database state of the availability - replica. - :vartype database_state_description: str - :ivar is_suspended: Whether this data movement is suspended. - :vartype is_suspended: bool - :ivar suspend_reason_description: Description of the database suspended state reason. - :vartype suspend_reason_description: str - """ - - _validation = { - "replica_name": {"readonly": True}, - "is_local": {"readonly": True}, - "is_primary_replica": {"readonly": True}, - "synchronization_state_description": {"readonly": True}, - "is_commit_participant": {"readonly": True}, - "synchronization_health_description": {"readonly": True}, - "database_state_description": {"readonly": True}, - "is_suspended": {"readonly": True}, - "suspend_reason_description": {"readonly": True}, - } - - _attribute_map = { - "database_name": {"key": "databaseName", "type": "str"}, - "replica_name": {"key": "replicaName", "type": "str"}, - "is_local": {"key": "isLocal", "type": "bool"}, - "is_primary_replica": {"key": "isPrimaryReplica", "type": "bool"}, - "synchronization_state_description": {"key": "synchronizationStateDescription", "type": "str"}, - "is_commit_participant": {"key": "isCommitParticipant", "type": "bool"}, - "synchronization_health_description": {"key": "synchronizationHealthDescription", "type": "str"}, - "database_state_description": {"key": "databaseStateDescription", "type": "str"}, - "is_suspended": {"key": "isSuspended", "type": "bool"}, - "suspend_reason_description": {"key": "suspendReasonDescription", "type": "str"}, - } - - def __init__(self, *, database_name: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword database_name: the database name. - :paramtype database_name: str - """ - super().__init__(**kwargs) - self.database_name = database_name - self.replica_name: Optional[str] = None - self.is_local: Optional[bool] = None - self.is_primary_replica: Optional[bool] = None - self.synchronization_state_description: Optional[str] = None - self.is_commit_participant: Optional[bool] = None - self.synchronization_health_description: Optional[str] = None - self.database_state_description: Optional[str] = None - self.is_suspended: Optional[bool] = None - self.suspend_reason_description: Optional[str] = None - - -class SqlAvailabilityGroupDhcpListenerProperties(_serialization.Model): # pylint: disable=name-too-long - """The properties of a DHCP Arc Sql availability group listener. - - :ivar dns_name: the DNS name for the listener. - :vartype dns_name: str - :ivar subnet: The IPV4 subnet for the listener. - :vartype subnet: str - :ivar mask: The netmask for the listener. - :vartype mask: str - :ivar port: Network port for the listener. Default is 1433. - :vartype port: int - """ - - _attribute_map = { - "dns_name": {"key": "dnsName", "type": "str"}, - "subnet": {"key": "subnet", "type": "str"}, - "mask": {"key": "mask", "type": "str"}, - "port": {"key": "port", "type": "int"}, - } - - def __init__( - self, - *, - dns_name: Optional[str] = None, - subnet: Optional[str] = None, - mask: Optional[str] = None, - port: Optional[int] = None, - **kwargs: Any - ) -> None: - """ - :keyword dns_name: the DNS name for the listener. - :paramtype dns_name: str - :keyword subnet: The IPV4 subnet for the listener. - :paramtype subnet: str - :keyword mask: The netmask for the listener. - :paramtype mask: str - :keyword port: Network port for the listener. Default is 1433. - :paramtype port: int - """ - super().__init__(**kwargs) - self.dns_name = dns_name - self.subnet = subnet - self.mask = mask - self.port = port - - -class SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem(_serialization.Model): # pylint: disable=name-too-long - """SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem. - - :ivar ip_address: IPV4 address. - :vartype ip_address: str - :ivar mask: IPV4 netmask. - :vartype mask: str - """ - - _attribute_map = { - "ip_address": {"key": "ipAddress", "type": "str"}, - "mask": {"key": "mask", "type": "str"}, - } - - def __init__(self, *, ip_address: Optional[str] = None, mask: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword ip_address: IPV4 address. - :paramtype ip_address: str - :keyword mask: IPV4 netmask. - :paramtype mask: str - """ - super().__init__(**kwargs) - self.ip_address = ip_address - self.mask = mask - - -class SqlAvailabilityGroupReplicaResourceProperties(_serialization.Model): # pylint: disable=name-too-long - """The properties of Arc Sql availability group replica resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar replica_id: ID GUID of the availability group. - :vartype replica_id: str - :ivar replica_name: The replica name. - :vartype replica_name: str - :ivar replica_resource_id: Resource id of this replica. This is required for a distributed - availability group, in which case it describes the location of the availability group that - hosts one replica in the DAG. In a non-distributed availability group this field is optional - but can be used to store the Azure resource id for AG. - :vartype replica_resource_id: str - :ivar configure: null. - :vartype configure: ~azure.mgmt.azurearcdata.models.AvailabilityGroupConfigure - :ivar state: null. - :vartype state: ~azure.mgmt.azurearcdata.models.AvailabilityGroupState - """ - - _validation = { - "replica_id": {"readonly": True, "pattern": r"^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$"}, - } - - _attribute_map = { - "replica_id": {"key": "replicaId", "type": "str"}, - "replica_name": {"key": "replicaName", "type": "str"}, - "replica_resource_id": {"key": "replicaResourceId", "type": "str"}, - "configure": {"key": "configure", "type": "AvailabilityGroupConfigure"}, - "state": {"key": "state", "type": "AvailabilityGroupState"}, - } - - def __init__( - self, - *, - replica_name: Optional[str] = None, - replica_resource_id: Optional[str] = None, - configure: Optional["_models.AvailabilityGroupConfigure"] = None, - state: Optional["_models.AvailabilityGroupState"] = None, - **kwargs: Any - ) -> None: - """ - :keyword replica_name: The replica name. - :paramtype replica_name: str - :keyword replica_resource_id: Resource id of this replica. This is required for a distributed - availability group, in which case it describes the location of the availability group that - hosts one replica in the DAG. In a non-distributed availability group this field is optional - but can be used to store the Azure resource id for AG. - :paramtype replica_resource_id: str - :keyword configure: null. - :paramtype configure: ~azure.mgmt.azurearcdata.models.AvailabilityGroupConfigure - :keyword state: null. - :paramtype state: ~azure.mgmt.azurearcdata.models.AvailabilityGroupState - """ - super().__init__(**kwargs) - self.replica_id: Optional[str] = None - self.replica_name = replica_name - self.replica_resource_id = replica_resource_id - self.configure = configure - self.state = state - - -class SqlAvailabilityGroupStaticIPListenerProperties(_serialization.Model): # pylint: disable=name-too-long - """The properties of a static IP Arc Sql availability group listener. - - :ivar dns_name: the DNS name for the listener. - :vartype dns_name: str - :ivar ip_v4_addresses_and_masks: IP V4 Addresses and masks for the listener. - :vartype ip_v4_addresses_and_masks: - list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem] - :ivar ip_v6_addresses: IP V6 Addresses for the listener. - :vartype ip_v6_addresses: list[str] - :ivar port: Network port for the listener. Default is 1433. - :vartype port: int - """ - - _attribute_map = { - "dns_name": {"key": "dnsName", "type": "str"}, - "ip_v4_addresses_and_masks": { - "key": "ipV4AddressesAndMasks", - "type": "[SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem]", - }, - "ip_v6_addresses": {"key": "ipV6Addresses", "type": "[str]"}, - "port": {"key": "port", "type": "int"}, - } - - def __init__( - self, - *, - dns_name: Optional[str] = None, - ip_v4_addresses_and_masks: Optional[ - list["_models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem"] - ] = None, - ip_v6_addresses: Optional[list[str]] = None, - port: Optional[int] = None, - **kwargs: Any - ) -> None: - """ - :keyword dns_name: the DNS name for the listener. - :paramtype dns_name: str - :keyword ip_v4_addresses_and_masks: IP V4 Addresses and masks for the listener. - :paramtype ip_v4_addresses_and_masks: - list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem] - :keyword ip_v6_addresses: IP V6 Addresses for the listener. - :paramtype ip_v6_addresses: list[str] - :keyword port: Network port for the listener. Default is 1433. - :paramtype port: int - """ - super().__init__(**kwargs) - self.dns_name = dns_name - self.ip_v4_addresses_and_masks = ip_v4_addresses_and_masks - self.ip_v6_addresses = ip_v6_addresses - self.port = port - - -class SqlManagedInstance(TrackedResource): - """A SqlManagedInstance. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: null. Required. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties - :ivar extended_location: The extendedLocation of the resource. - :vartype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation - :ivar sku: Resource sku. - :vartype sku: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSku - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - "properties": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "properties": {"key": "properties", "type": "SqlManagedInstanceProperties"}, - "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"}, - "sku": {"key": "sku", "type": "SqlManagedInstanceSku"}, - } - - def __init__( - self, - *, - location: str, - properties: "_models.SqlManagedInstanceProperties", - tags: Optional[dict[str, str]] = None, - extended_location: Optional["_models.ExtendedLocation"] = None, - sku: Optional["_models.SqlManagedInstanceSku"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword properties: null. Required. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties - :keyword extended_location: The extendedLocation of the resource. - :paramtype extended_location: ~azure.mgmt.azurearcdata.models.ExtendedLocation - :keyword sku: Resource sku. - :paramtype sku: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSku - """ - super().__init__(tags=tags, location=location, **kwargs) - self.properties = properties - self.extended_location = extended_location - self.sku = sku - - -class SqlManagedInstanceK8SRaw(_serialization.Model): - """The raw kubernetes information. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, any] - :ivar spec: The kubernetes spec information. - :vartype spec: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SSpec - """ - - _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "spec": {"key": "spec", "type": "SqlManagedInstanceK8SSpec"}, - } - - def __init__( - self, - *, - additional_properties: Optional[dict[str, Any]] = None, - spec: Optional["_models.SqlManagedInstanceK8SSpec"] = None, - **kwargs: Any - ) -> None: - """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, any] - :keyword spec: The kubernetes spec information. - :paramtype spec: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SSpec - """ - super().__init__(**kwargs) - self.additional_properties = additional_properties - self.spec = spec - - -class SqlManagedInstanceK8SSpec(_serialization.Model): - """The kubernetes spec information. - - :ivar additional_properties: Unmatched properties from the message are deserialized to this - collection. - :vartype additional_properties: dict[str, any] - :ivar scheduling: The kubernetes scheduling information. - :vartype scheduling: ~azure.mgmt.azurearcdata.models.K8SScheduling - :ivar replicas: This option specifies the number of SQL Managed Instance replicas that will be - deployed in your Kubernetes cluster for high availability purposes. If sku.tier is - BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is - GeneralPurpose, replicas must be '1'. - :vartype replicas: int - :ivar security: The kubernetes security information. - :vartype security: ~azure.mgmt.azurearcdata.models.K8SSecurity - :ivar settings: The kubernetes settings information. - :vartype settings: ~azure.mgmt.azurearcdata.models.K8SSettings - """ - - _attribute_map = { - "additional_properties": {"key": "", "type": "{object}"}, - "scheduling": {"key": "scheduling", "type": "K8SScheduling"}, - "replicas": {"key": "replicas", "type": "int"}, - "security": {"key": "security", "type": "K8SSecurity"}, - "settings": {"key": "settings", "type": "K8SSettings"}, - } - - def __init__( - self, - *, - additional_properties: Optional[dict[str, Any]] = None, - scheduling: Optional["_models.K8SScheduling"] = None, - replicas: Optional[int] = None, - security: Optional["_models.K8SSecurity"] = None, - settings: Optional["_models.K8SSettings"] = None, - **kwargs: Any - ) -> None: - """ - :keyword additional_properties: Unmatched properties from the message are deserialized to this - collection. - :paramtype additional_properties: dict[str, any] - :keyword scheduling: The kubernetes scheduling information. - :paramtype scheduling: ~azure.mgmt.azurearcdata.models.K8SScheduling - :keyword replicas: This option specifies the number of SQL Managed Instance replicas that will - be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is - BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is - GeneralPurpose, replicas must be '1'. - :paramtype replicas: int - :keyword security: The kubernetes security information. - :paramtype security: ~azure.mgmt.azurearcdata.models.K8SSecurity - :keyword settings: The kubernetes settings information. - :paramtype settings: ~azure.mgmt.azurearcdata.models.K8SSettings - """ - super().__init__(**kwargs) - self.additional_properties = additional_properties - self.scheduling = scheduling - self.replicas = replicas - self.security = security - self.settings = settings - - -class SqlManagedInstanceListResult(_serialization.Model): - """A list of SqlManagedInstance. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[SqlManagedInstance]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.value: Optional[list["_models.SqlManagedInstance"]] = None - self.next_link: Optional[str] = None - - -class SqlManagedInstanceProperties(_serialization.Model): - """Properties of sqlManagedInstance. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar data_controller_id: null. - :vartype data_controller_id: str - :ivar admin: The instance admin user. - :vartype admin: str - :ivar start_time: The instance start time. - :vartype start_time: str - :ivar end_time: The instance end time. - :vartype end_time: str - :ivar k8_s_raw: The raw kubernetes information. - :vartype k8_s_raw: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SRaw - :ivar basic_login_information: Username and password for basic authentication. - :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date - time. - :vartype last_uploaded_date: ~datetime.datetime - :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Managed Instance - resource. - :vartype provisioning_state: str - :ivar active_directory_information: Active Directory information related to this SQL Managed - Instance. - :vartype active_directory_information: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryInformation - :ivar license_type: The license type to apply for this managed instance. Known values are: - "BasePrice", "LicenseIncluded", and "DisasterRecovery". - :vartype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType - :ivar cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected - cluster the custom location belongs to. - :vartype cluster_id: str - :ivar extension_id: If a CustomLocation is provided, this contains the ARM id of the extension - the custom location belongs to. - :vartype extension_id: str - """ - - _validation = { - "provisioning_state": {"readonly": True}, - } - - _attribute_map = { - "data_controller_id": {"key": "dataControllerId", "type": "str"}, - "admin": {"key": "admin", "type": "str"}, - "start_time": {"key": "startTime", "type": "str"}, - "end_time": {"key": "endTime", "type": "str"}, - "k8_s_raw": {"key": "k8sRaw", "type": "SqlManagedInstanceK8SRaw"}, - "basic_login_information": {"key": "basicLoginInformation", "type": "BasicLoginInformation"}, - "last_uploaded_date": {"key": "lastUploadedDate", "type": "iso-8601"}, - "provisioning_state": {"key": "provisioningState", "type": "str"}, - "active_directory_information": {"key": "activeDirectoryInformation", "type": "ActiveDirectoryInformation"}, - "license_type": {"key": "licenseType", "type": "str"}, - "cluster_id": {"key": "clusterId", "type": "str"}, - "extension_id": {"key": "extensionId", "type": "str"}, - } - - def __init__( - self, - *, - data_controller_id: Optional[str] = None, - admin: Optional[str] = None, - start_time: Optional[str] = None, - end_time: Optional[str] = None, - k8_s_raw: Optional["_models.SqlManagedInstanceK8SRaw"] = None, - basic_login_information: Optional["_models.BasicLoginInformation"] = None, - last_uploaded_date: Optional[datetime.datetime] = None, - active_directory_information: Optional["_models.ActiveDirectoryInformation"] = None, - license_type: Union[str, "_models.ArcSqlManagedInstanceLicenseType"] = "BasePrice", - cluster_id: Optional[str] = None, - extension_id: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword data_controller_id: null. - :paramtype data_controller_id: str - :keyword admin: The instance admin user. - :paramtype admin: str - :keyword start_time: The instance start time. - :paramtype start_time: str - :keyword end_time: The instance end time. - :paramtype end_time: str - :keyword k8_s_raw: The raw kubernetes information. - :paramtype k8_s_raw: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SRaw - :keyword basic_login_information: Username and password for basic authentication. - :paramtype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation - :keyword last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current - date time. - :paramtype last_uploaded_date: ~datetime.datetime - :keyword active_directory_information: Active Directory information related to this SQL Managed - Instance. - :paramtype active_directory_information: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryInformation - :keyword license_type: The license type to apply for this managed instance. Known values are: - "BasePrice", "LicenseIncluded", and "DisasterRecovery". - :paramtype license_type: str or - ~azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType - :keyword cluster_id: If a CustomLocation is provided, this contains the ARM id of the connected - cluster the custom location belongs to. - :paramtype cluster_id: str - :keyword extension_id: If a CustomLocation is provided, this contains the ARM id of the - extension the custom location belongs to. - :paramtype extension_id: str - """ - super().__init__(**kwargs) - self.data_controller_id = data_controller_id - self.admin = admin - self.start_time = start_time - self.end_time = end_time - self.k8_s_raw = k8_s_raw - self.basic_login_information = basic_login_information - self.last_uploaded_date = last_uploaded_date - self.provisioning_state: Optional[str] = None - self.active_directory_information = active_directory_information - self.license_type = license_type - self.cluster_id = cluster_id - self.extension_id = extension_id - - -class SqlManagedInstanceSku(_serialization.Model): - """The resource model definition representing SKU for Azure Managed Instance - Azure Arc. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar name: The name of the SKU. Required. Default value is "vCore". - :vartype name: str - :ivar tier: The pricing tier for the instance. Known values are: "GeneralPurpose" and - "BusinessCritical". - :vartype tier: str or ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSkuTier - :ivar dev: Whether dev/test is enabled. When the dev field is set to true, the resource is used - for dev/test purpose. - :vartype dev: bool - :ivar size: The SKU size. When the name field is the combination of tier and some other value, - this would be the standalone code. - :vartype size: str - :ivar family: The SKU family. - :vartype family: str - :ivar capacity: The SKU capacity. - :vartype capacity: int - """ - - _validation = { - "name": {"required": True, "constant": True}, - } - - _attribute_map = { - "name": {"key": "name", "type": "str"}, - "tier": {"key": "tier", "type": "str"}, - "dev": {"key": "dev", "type": "bool"}, - "size": {"key": "size", "type": "str"}, - "family": {"key": "family", "type": "str"}, - "capacity": {"key": "capacity", "type": "int"}, - } - - name = "vCore" - - def __init__( - self, - *, - tier: Union[str, "_models.SqlManagedInstanceSkuTier"] = "GeneralPurpose", - dev: bool = True, - size: Optional[str] = None, - family: Optional[str] = None, - capacity: Optional[int] = None, - **kwargs: Any - ) -> None: - """ - :keyword tier: The pricing tier for the instance. Known values are: "GeneralPurpose" and - "BusinessCritical". - :paramtype tier: str or ~azure.mgmt.azurearcdata.models.SqlManagedInstanceSkuTier - :keyword dev: Whether dev/test is enabled. When the dev field is set to true, the resource is - used for dev/test purpose. - :paramtype dev: bool - :keyword size: The SKU size. When the name field is the combination of tier and some other - value, this would be the standalone code. - :paramtype size: str - :keyword family: The SKU family. - :paramtype family: str - :keyword capacity: The SKU capacity. - :paramtype capacity: int - """ - super().__init__(**kwargs) - self.tier = tier - self.dev = dev - self.size = size - self.family = family - self.capacity = capacity - - -class SqlManagedInstanceUpdate(_serialization.Model): - """An update to a SQL Managed Instance. - - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - """ - - _attribute_map = { - "tags": {"key": "tags", "type": "{str}"}, - } - - def __init__(self, *, tags: Optional[dict[str, str]] = None, **kwargs: Any) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - """ - super().__init__(**kwargs) - self.tags = tags - - -class SqlServerAvailabilityGroupResource(TrackedResource): - """Arc Sql Server Availability Group. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: Properties of Arc Sql Server availability group. Required. - :vartype properties: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - "properties": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "properties": {"key": "properties", "type": "SqlServerAvailabilityGroupResourceProperties"}, - } - - def __init__( - self, - *, - location: str, - properties: "_models.SqlServerAvailabilityGroupResourceProperties", - tags: Optional[dict[str, str]] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword properties: Properties of Arc Sql Server availability group. Required. - :paramtype properties: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties - """ - super().__init__(tags=tags, location=location, **kwargs) - self.properties = properties - - -class SqlServerAvailabilityGroupResourceProperties(_serialization.Model): # pylint: disable=name-too-long - """The properties of Arc Sql Server availability group resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar availability_group_id: ID GUID of the availability group. - :vartype availability_group_id: str - :ivar server_name: the SQL server name. - :vartype server_name: str - :ivar instance_name: the SQL Server Instance name. - :vartype instance_name: str - :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. - :vartype vm_id: str - :ivar collection_timestamp: Timestamp for when the data was collected from the client machine. - :vartype collection_timestamp: ~datetime.datetime - :ivar info: Availability Group Info. - :vartype info: ~azure.mgmt.azurearcdata.models.AvailabilityGroupInfo - :ivar replicas: A list of Availability Group Replicas. - :vartype replicas: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesReplicas - :ivar databases: A list of Availability Group Database Replicas. - :vartype databases: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesDatabases - :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server availability - group resource. - :vartype provisioning_state: str - """ - - _validation = { - "availability_group_id": {"readonly": True, "pattern": r"^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$"}, - "server_name": {"readonly": True}, - "instance_name": {"readonly": True}, - "vm_id": {"readonly": True}, - "collection_timestamp": {"readonly": True}, - "provisioning_state": {"readonly": True}, - } - - _attribute_map = { - "availability_group_id": {"key": "availabilityGroupId", "type": "str"}, - "server_name": {"key": "serverName", "type": "str"}, - "instance_name": {"key": "instanceName", "type": "str"}, - "vm_id": {"key": "vmId", "type": "str"}, - "collection_timestamp": {"key": "collectionTimestamp", "type": "iso-8601"}, - "info": {"key": "info", "type": "AvailabilityGroupInfo"}, - "replicas": {"key": "replicas", "type": "SqlServerAvailabilityGroupResourcePropertiesReplicas"}, - "databases": {"key": "databases", "type": "SqlServerAvailabilityGroupResourcePropertiesDatabases"}, - "provisioning_state": {"key": "provisioningState", "type": "str"}, - } - - def __init__( - self, - *, - info: Optional["_models.AvailabilityGroupInfo"] = None, - replicas: Optional["_models.SqlServerAvailabilityGroupResourcePropertiesReplicas"] = None, - databases: Optional["_models.SqlServerAvailabilityGroupResourcePropertiesDatabases"] = None, - **kwargs: Any - ) -> None: - """ - :keyword info: Availability Group Info. - :paramtype info: ~azure.mgmt.azurearcdata.models.AvailabilityGroupInfo - :keyword replicas: A list of Availability Group Replicas. - :paramtype replicas: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesReplicas - :keyword databases: A list of Availability Group Database Replicas. - :paramtype databases: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourcePropertiesDatabases - """ - super().__init__(**kwargs) - self.availability_group_id: Optional[str] = None - self.server_name: Optional[str] = None - self.instance_name: Optional[str] = None - self.vm_id: Optional[str] = None - self.collection_timestamp: Optional[datetime.datetime] = None - self.info = info - self.replicas = replicas - self.databases = databases - self.provisioning_state: Optional[str] = None - - -class SqlServerAvailabilityGroupResourcePropertiesDatabases(_serialization.Model): # pylint: disable=name-too-long - """A list of Availability Group Database Replicas. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of Availability Group Database Replicas. - :vartype value: - list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupDatabaseReplicaResourceProperties] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[SqlAvailabilityGroupDatabaseReplicaResourceProperties]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__( - self, - *, - value: Optional[list["_models.SqlAvailabilityGroupDatabaseReplicaResourceProperties"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword value: Array of Availability Group Database Replicas. - :paramtype value: - list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupDatabaseReplicaResourceProperties] - """ - super().__init__(**kwargs) - self.value = value - self.next_link: Optional[str] = None - - -class SqlServerAvailabilityGroupResourcePropertiesReplicas(_serialization.Model): # pylint: disable=name-too-long - """A list of Availability Group Replicas. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of Availability Group Replicas. - :vartype value: - list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupReplicaResourceProperties] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[SqlAvailabilityGroupReplicaResourceProperties]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__( - self, *, value: Optional[list["_models.SqlAvailabilityGroupReplicaResourceProperties"]] = None, **kwargs: Any - ) -> None: - """ - :keyword value: Array of Availability Group Replicas. - :paramtype value: - list[~azure.mgmt.azurearcdata.models.SqlAvailabilityGroupReplicaResourceProperties] - """ - super().__init__(**kwargs) - self.value = value - self.next_link: Optional[str] = None - - -class SqlServerAvailabilityGroupUpdate(_serialization.Model): - """An update to availability group resource. - - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar properties: The Server Availability Group's properties. - :vartype properties: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties - """ - - _attribute_map = { - "tags": {"key": "tags", "type": "{str}"}, - "properties": {"key": "properties", "type": "SqlServerAvailabilityGroupResourceProperties"}, - } - - def __init__( - self, - *, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.SqlServerAvailabilityGroupResourceProperties"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword properties: The Server Availability Group's properties. - :paramtype properties: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResourceProperties - """ - super().__init__(**kwargs) - self.tags = tags - self.properties = properties - - -class SqlServerDatabaseResource(TrackedResource): - """Arc Sql Server database. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: Properties of Arc Sql Server database. Required. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - "properties": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "properties": {"key": "properties", "type": "SqlServerDatabaseResourceProperties"}, - } - - def __init__( - self, - *, - location: str, - properties: "_models.SqlServerDatabaseResourceProperties", - tags: Optional[dict[str, str]] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword properties: Properties of Arc Sql Server database. Required. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties - """ - super().__init__(tags=tags, location=location, **kwargs) - self.properties = properties - - -class SqlServerDatabaseResourceProperties(_serialization.Model): - """The properties of Arc Sql Server database resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar collation_name: Collation of the database. - :vartype collation_name: str - :ivar database_creation_date: Creation date of the database. - :vartype database_creation_date: ~datetime.datetime - :ivar compatibility_level: Compatibility level of the database. - :vartype compatibility_level: int - :ivar size_mb: Size of the database. - :vartype size_mb: float - :ivar log_file_size_mb: Total size in MB for the log (ldf) files for this database. - :vartype log_file_size_mb: float - :ivar data_file_size_mb: Total size in MB for the data (mdf and ndf) files for this database. - :vartype data_file_size_mb: float - :ivar space_available_mb: Space left of the database. - :vartype space_available_mb: float - :ivar state: State of the database. Known values are: "Online", "Restoring", "Recovering", - "RecoveryPending", "Suspect", "Emergency", "Offline", "Copying", and "OfflineSecondary". - :vartype state: str or ~azure.mgmt.azurearcdata.models.DatabaseState - :ivar is_read_only: Whether the database is read only or not. - :vartype is_read_only: bool - :ivar recovery_mode: Status of the database. Known values are: "Full", "Bulk-logged", and - "Simple". - :vartype recovery_mode: str or ~azure.mgmt.azurearcdata.models.RecoveryMode - :ivar database_options: List of features that are enabled for the database. - :vartype database_options: - ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesDatabaseOptions - :ivar backup_information: - :vartype backup_information: - ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesBackupInformation - :ivar backup_policy: The backup profile for the SQL server. - :vartype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy - :ivar earliest_restore_date: This records the earliest start date and time that restore is - available for this database (ISO8601 format). - :vartype earliest_restore_date: ~datetime.datetime - :ivar create_mode: Database create mode. PointInTimeRestore: Create a database by restoring a - point in time backup of an existing database. sourceDatabaseId and restorePointInTime must be - specified. Known values are: "Default" and "PointInTimeRestore". - :vartype create_mode: str or ~azure.mgmt.azurearcdata.models.DatabaseCreateMode - :ivar source_database_id: The name of the source database associated with create operation of - this database. - :vartype source_database_id: str - :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. - :vartype vm_id: str - :ivar restore_point_in_time: Conditional. If createMode is PointInTimeRestore, this value is - required. Specifies the point in time (ISO8601 format) of the source database that will be - restored to create the new database. - :vartype restore_point_in_time: ~datetime.datetime - :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server database - resource. - :vartype provisioning_state: str - :ivar last_database_upload_time: The time when last successful database upload was performed. - :vartype last_database_upload_time: ~datetime.datetime - :ivar migration: Migration related configuration. - :vartype migration: ~azure.mgmt.azurearcdata.models.DataBaseMigration - """ - - _validation = { - "compatibility_level": {"maximum": 200, "minimum": 80}, - "earliest_restore_date": {"readonly": True}, - "vm_id": {"readonly": True}, - "provisioning_state": {"readonly": True}, - "last_database_upload_time": {"readonly": True}, - } - - _attribute_map = { - "collation_name": {"key": "collationName", "type": "str"}, - "database_creation_date": {"key": "databaseCreationDate", "type": "iso-8601"}, - "compatibility_level": {"key": "compatibilityLevel", "type": "int"}, - "size_mb": {"key": "sizeMB", "type": "float"}, - "log_file_size_mb": {"key": "logFileSizeMB", "type": "float"}, - "data_file_size_mb": {"key": "dataFileSizeMB", "type": "float"}, - "space_available_mb": {"key": "spaceAvailableMB", "type": "float"}, - "state": {"key": "state", "type": "str"}, - "is_read_only": {"key": "isReadOnly", "type": "bool"}, - "recovery_mode": {"key": "recoveryMode", "type": "str"}, - "database_options": {"key": "databaseOptions", "type": "SqlServerDatabaseResourcePropertiesDatabaseOptions"}, - "backup_information": { - "key": "backupInformation", - "type": "SqlServerDatabaseResourcePropertiesBackupInformation", - }, - "backup_policy": {"key": "backupPolicy", "type": "BackupPolicy"}, - "earliest_restore_date": {"key": "earliestRestoreDate", "type": "iso-8601"}, - "create_mode": {"key": "createMode", "type": "str"}, - "source_database_id": {"key": "sourceDatabaseId", "type": "str"}, - "vm_id": {"key": "vmId", "type": "str"}, - "restore_point_in_time": {"key": "restorePointInTime", "type": "iso-8601"}, - "provisioning_state": {"key": "provisioningState", "type": "str"}, - "last_database_upload_time": {"key": "lastDatabaseUploadTime", "type": "iso-8601"}, - "migration": {"key": "migration", "type": "DataBaseMigration"}, - } - - def __init__( - self, - *, - collation_name: Optional[str] = None, - database_creation_date: Optional[datetime.datetime] = None, - compatibility_level: Optional[int] = None, - size_mb: Optional[float] = None, - log_file_size_mb: Optional[float] = None, - data_file_size_mb: Optional[float] = None, - space_available_mb: Optional[float] = None, - state: Optional[Union[str, "_models.DatabaseState"]] = None, - is_read_only: Optional[bool] = None, - recovery_mode: Optional[Union[str, "_models.RecoveryMode"]] = None, - database_options: Optional["_models.SqlServerDatabaseResourcePropertiesDatabaseOptions"] = None, - backup_information: Optional["_models.SqlServerDatabaseResourcePropertiesBackupInformation"] = None, - backup_policy: Optional["_models.BackupPolicy"] = None, - create_mode: Optional[Union[str, "_models.DatabaseCreateMode"]] = None, - source_database_id: Optional[str] = None, - restore_point_in_time: Optional[datetime.datetime] = None, - migration: Optional["_models.DataBaseMigration"] = None, - **kwargs: Any - ) -> None: - """ - :keyword collation_name: Collation of the database. - :paramtype collation_name: str - :keyword database_creation_date: Creation date of the database. - :paramtype database_creation_date: ~datetime.datetime - :keyword compatibility_level: Compatibility level of the database. - :paramtype compatibility_level: int - :keyword size_mb: Size of the database. - :paramtype size_mb: float - :keyword log_file_size_mb: Total size in MB for the log (ldf) files for this database. - :paramtype log_file_size_mb: float - :keyword data_file_size_mb: Total size in MB for the data (mdf and ndf) files for this - database. - :paramtype data_file_size_mb: float - :keyword space_available_mb: Space left of the database. - :paramtype space_available_mb: float - :keyword state: State of the database. Known values are: "Online", "Restoring", "Recovering", - "RecoveryPending", "Suspect", "Emergency", "Offline", "Copying", and "OfflineSecondary". - :paramtype state: str or ~azure.mgmt.azurearcdata.models.DatabaseState - :keyword is_read_only: Whether the database is read only or not. - :paramtype is_read_only: bool - :keyword recovery_mode: Status of the database. Known values are: "Full", "Bulk-logged", and - "Simple". - :paramtype recovery_mode: str or ~azure.mgmt.azurearcdata.models.RecoveryMode - :keyword database_options: List of features that are enabled for the database. - :paramtype database_options: - ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesDatabaseOptions - :keyword backup_information: - :paramtype backup_information: - ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourcePropertiesBackupInformation - :keyword backup_policy: The backup profile for the SQL server. - :paramtype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy - :keyword create_mode: Database create mode. PointInTimeRestore: Create a database by restoring - a point in time backup of an existing database. sourceDatabaseId and restorePointInTime must be - specified. Known values are: "Default" and "PointInTimeRestore". - :paramtype create_mode: str or ~azure.mgmt.azurearcdata.models.DatabaseCreateMode - :keyword source_database_id: The name of the source database associated with create operation - of this database. - :paramtype source_database_id: str - :keyword restore_point_in_time: Conditional. If createMode is PointInTimeRestore, this value is - required. Specifies the point in time (ISO8601 format) of the source database that will be - restored to create the new database. - :paramtype restore_point_in_time: ~datetime.datetime - :keyword migration: Migration related configuration. - :paramtype migration: ~azure.mgmt.azurearcdata.models.DataBaseMigration - """ - super().__init__(**kwargs) - self.collation_name = collation_name - self.database_creation_date = database_creation_date - self.compatibility_level = compatibility_level - self.size_mb = size_mb - self.log_file_size_mb = log_file_size_mb - self.data_file_size_mb = data_file_size_mb - self.space_available_mb = space_available_mb - self.state = state - self.is_read_only = is_read_only - self.recovery_mode = recovery_mode - self.database_options = database_options - self.backup_information = backup_information - self.backup_policy = backup_policy - self.earliest_restore_date: Optional[datetime.datetime] = None - self.create_mode = create_mode - self.source_database_id = source_database_id - self.vm_id: Optional[str] = None - self.restore_point_in_time = restore_point_in_time - self.provisioning_state: Optional[str] = None - self.last_database_upload_time: Optional[datetime.datetime] = None - self.migration = migration - - -class SqlServerDatabaseResourcePropertiesBackupInformation(_serialization.Model): # pylint: disable=name-too-long - """SqlServerDatabaseResourcePropertiesBackupInformation. - - :ivar last_full_backup: Date time of last full backup. - :vartype last_full_backup: ~datetime.datetime - :ivar last_log_backup: Date time of last log backup. - :vartype last_log_backup: ~datetime.datetime - """ - - _attribute_map = { - "last_full_backup": {"key": "lastFullBackup", "type": "iso-8601"}, - "last_log_backup": {"key": "lastLogBackup", "type": "iso-8601"}, - } - - def __init__( - self, - *, - last_full_backup: Optional[datetime.datetime] = None, - last_log_backup: Optional[datetime.datetime] = None, - **kwargs: Any - ) -> None: - """ - :keyword last_full_backup: Date time of last full backup. - :paramtype last_full_backup: ~datetime.datetime - :keyword last_log_backup: Date time of last log backup. - :paramtype last_log_backup: ~datetime.datetime - """ - super().__init__(**kwargs) - self.last_full_backup = last_full_backup - self.last_log_backup = last_log_backup - - -class SqlServerDatabaseResourcePropertiesDatabaseOptions(_serialization.Model): # pylint: disable=name-too-long - """List of features that are enabled for the database. - - :ivar is_auto_close_on: - :vartype is_auto_close_on: bool - :ivar is_auto_shrink_on: - :vartype is_auto_shrink_on: bool - :ivar is_auto_create_stats_on: - :vartype is_auto_create_stats_on: bool - :ivar is_auto_update_stats_on: - :vartype is_auto_update_stats_on: bool - :ivar is_remote_data_archive_enabled: - :vartype is_remote_data_archive_enabled: bool - :ivar is_memory_optimization_enabled: - :vartype is_memory_optimization_enabled: bool - :ivar is_encrypted: - :vartype is_encrypted: bool - :ivar is_trustworthy_on: - :vartype is_trustworthy_on: bool - :ivar is_hekaton_files_on: Whether the database uses the In-Memory OLTP feature for storing - in-memory objects. - :vartype is_hekaton_files_on: bool - :ivar number_of_hekaton_files: How many Hekaton files the DB has on disk, if it uses in-memory - OLTP objects. - :vartype number_of_hekaton_files: int - """ - - _attribute_map = { - "is_auto_close_on": {"key": "isAutoCloseOn", "type": "bool"}, - "is_auto_shrink_on": {"key": "isAutoShrinkOn", "type": "bool"}, - "is_auto_create_stats_on": {"key": "isAutoCreateStatsOn", "type": "bool"}, - "is_auto_update_stats_on": {"key": "isAutoUpdateStatsOn", "type": "bool"}, - "is_remote_data_archive_enabled": {"key": "isRemoteDataArchiveEnabled", "type": "bool"}, - "is_memory_optimization_enabled": {"key": "isMemoryOptimizationEnabled", "type": "bool"}, - "is_encrypted": {"key": "isEncrypted", "type": "bool"}, - "is_trustworthy_on": {"key": "isTrustworthyOn", "type": "bool"}, - "is_hekaton_files_on": {"key": "isHekatonFilesOn", "type": "bool"}, - "number_of_hekaton_files": {"key": "numberOfHekatonFiles", "type": "int"}, - } - - def __init__( - self, - *, - is_auto_close_on: Optional[bool] = None, - is_auto_shrink_on: Optional[bool] = None, - is_auto_create_stats_on: Optional[bool] = None, - is_auto_update_stats_on: Optional[bool] = None, - is_remote_data_archive_enabled: Optional[bool] = None, - is_memory_optimization_enabled: Optional[bool] = None, - is_encrypted: Optional[bool] = None, - is_trustworthy_on: Optional[bool] = None, - is_hekaton_files_on: Optional[bool] = None, - number_of_hekaton_files: Optional[int] = None, - **kwargs: Any - ) -> None: - """ - :keyword is_auto_close_on: - :paramtype is_auto_close_on: bool - :keyword is_auto_shrink_on: - :paramtype is_auto_shrink_on: bool - :keyword is_auto_create_stats_on: - :paramtype is_auto_create_stats_on: bool - :keyword is_auto_update_stats_on: - :paramtype is_auto_update_stats_on: bool - :keyword is_remote_data_archive_enabled: - :paramtype is_remote_data_archive_enabled: bool - :keyword is_memory_optimization_enabled: - :paramtype is_memory_optimization_enabled: bool - :keyword is_encrypted: - :paramtype is_encrypted: bool - :keyword is_trustworthy_on: - :paramtype is_trustworthy_on: bool - :keyword is_hekaton_files_on: Whether the database uses the In-Memory OLTP feature for storing - in-memory objects. - :paramtype is_hekaton_files_on: bool - :keyword number_of_hekaton_files: How many Hekaton files the DB has on disk, if it uses - in-memory OLTP objects. - :paramtype number_of_hekaton_files: int - """ - super().__init__(**kwargs) - self.is_auto_close_on = is_auto_close_on - self.is_auto_shrink_on = is_auto_shrink_on - self.is_auto_create_stats_on = is_auto_create_stats_on - self.is_auto_update_stats_on = is_auto_update_stats_on - self.is_remote_data_archive_enabled = is_remote_data_archive_enabled - self.is_memory_optimization_enabled = is_memory_optimization_enabled - self.is_encrypted = is_encrypted - self.is_trustworthy_on = is_trustworthy_on - self.is_hekaton_files_on = is_hekaton_files_on - self.number_of_hekaton_files = number_of_hekaton_files - - -class SqlServerDatabaseUpdate(_serialization.Model): - """An update to database resource. - - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar properties: The data controller's properties. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties - """ - - _attribute_map = { - "tags": {"key": "tags", "type": "{str}"}, - "properties": {"key": "properties", "type": "SqlServerDatabaseResourceProperties"}, - } - - def __init__( - self, - *, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.SqlServerDatabaseResourceProperties"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword properties: The data controller's properties. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResourceProperties - """ - super().__init__(**kwargs) - self.tags = tags - self.properties = properties - - -class TrackedResourceAutoGenerated(ResourceAutoGenerated): - """The resource model definition for an Azure Resource Manager tracked top level resource which - has 'tags' and a 'location'. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - } - - def __init__(self, *, location: str, tags: Optional[dict[str, str]] = None, **kwargs: Any) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - """ - super().__init__(**kwargs) - self.tags = tags - self.location = location - - -class SqlServerEsuLicense(TrackedResourceAutoGenerated): - """Describe SQL Server ESU license resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: SQL Server ESU license properties. Required. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseProperties - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - "properties": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "properties": {"key": "properties", "type": "SqlServerEsuLicenseProperties"}, - } - - def __init__( - self, - *, - location: str, - properties: "_models.SqlServerEsuLicenseProperties", - tags: Optional[dict[str, str]] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword properties: SQL Server ESU license properties. Required. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseProperties - """ - super().__init__(tags=tags, location=location, **kwargs) - self.properties = properties - - -class SqlServerEsuLicenseListResult(_serialization.Model): - """A list of SQL Server ESU licenses. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[SqlServerEsuLicense]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.value: Optional[list["_models.SqlServerEsuLicense"]] = None - self.next_link: Optional[str] = None - - -class SqlServerEsuLicenseProperties(_serialization.Model): - """Properties of SQL Server ESU license. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar billing_plan: SQL Server ESU license type. Required. Known values are: "PAYG" and "Paid". - :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan - :ivar version: The SQL Server version the license covers. Required. Known values are: "SQL - Server 2012", "SQL Server 2014", and "SQL Server 2016". - :vartype version: str or ~azure.mgmt.azurearcdata.models.Version - :ivar unique_id: The unique ID of this license. This is a GUID-formatted string (e.g. - 00000000-0000-0000-0000-000000000000). - :vartype unique_id: str - :ivar physical_cores: The number of total cores of the license covers. Required. - :vartype physical_cores: int - :ivar activation_state: The activation state of the license. Required. Known values are: - "Inactive", "Active", "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", - and "Suspended". - :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.State - :ivar scope_type: The Azure scope to which the license will apply. Required. Known values are: - "Tenant", "Subscription", and "ResourceGroup". - :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType - :ivar activated_at: The timestamp of the activation of the SqlServerEsuLicense in ISO 8601 - date-time format. - :vartype activated_at: ~datetime.datetime - :ivar terminated_at: The timestamp of the termination of the SqlServerEsuLicense in ISO 8601 - date-time format. - :vartype terminated_at: ~datetime.datetime - :ivar tenant_id: The tenantId the SQL Server ESU license resource subscription resides in. - :vartype tenant_id: str - """ - - _validation = { - "billing_plan": {"required": True}, - "version": {"required": True}, - "unique_id": {"readonly": True, "pattern": r"^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$"}, - "physical_cores": {"required": True, "minimum": 16, "multiple": 2}, - "activation_state": {"required": True}, - "scope_type": {"required": True}, - "activated_at": {"readonly": True}, - "terminated_at": {"readonly": True}, - "tenant_id": {"readonly": True}, - } - - _attribute_map = { - "billing_plan": {"key": "billingPlan", "type": "str"}, - "version": {"key": "version", "type": "str"}, - "unique_id": {"key": "uniqueId", "type": "str"}, - "physical_cores": {"key": "physicalCores", "type": "int"}, - "activation_state": {"key": "activationState", "type": "str"}, - "scope_type": {"key": "scopeType", "type": "str"}, - "activated_at": {"key": "activatedAt", "type": "iso-8601"}, - "terminated_at": {"key": "terminatedAt", "type": "iso-8601"}, - "tenant_id": {"key": "tenantId", "type": "str"}, - } - - def __init__( - self, - *, - billing_plan: Union[str, "_models.BillingPlan"], - version: Union[str, "_models.Version"], - physical_cores: int, - activation_state: Union[str, "_models.State"], - scope_type: Union[str, "_models.ScopeType"], - **kwargs: Any - ) -> None: - """ - :keyword billing_plan: SQL Server ESU license type. Required. Known values are: "PAYG" and - "Paid". - :paramtype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan - :keyword version: The SQL Server version the license covers. Required. Known values are: "SQL - Server 2012", "SQL Server 2014", and "SQL Server 2016". - :paramtype version: str or ~azure.mgmt.azurearcdata.models.Version - :keyword physical_cores: The number of total cores of the license covers. Required. - :paramtype physical_cores: int - :keyword activation_state: The activation state of the license. Required. Known values are: - "Inactive", "Active", "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", - and "Suspended". - :paramtype activation_state: str or ~azure.mgmt.azurearcdata.models.State - :keyword scope_type: The Azure scope to which the license will apply. Required. Known values - are: "Tenant", "Subscription", and "ResourceGroup". - :paramtype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType - """ - super().__init__(**kwargs) - self.billing_plan = billing_plan - self.version = version - self.unique_id: Optional[str] = None - self.physical_cores = physical_cores - self.activation_state = activation_state - self.scope_type = scope_type - self.activated_at: Optional[datetime.datetime] = None - self.terminated_at: Optional[datetime.datetime] = None - self.tenant_id: Optional[str] = None - - -class SqlServerEsuLicenseUpdate(_serialization.Model): - """An update to a SQL Server ESU license resource. - - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar properties: null. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdateProperties - """ - - _attribute_map = { - "tags": {"key": "tags", "type": "{str}"}, - "properties": {"key": "properties", "type": "SqlServerEsuLicenseUpdateProperties"}, - } - - def __init__( - self, - *, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.SqlServerEsuLicenseUpdateProperties"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword properties: null. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdateProperties - """ - super().__init__(**kwargs) - self.tags = tags - self.properties = properties - - -class SqlServerEsuLicenseUpdateProperties(_serialization.Model): - """Properties of update SqlServerEsuLicense. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar billing_plan: SQL Server ESU license type. Known values are: "PAYG" and "Paid". - :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan - :ivar version: The SQL Server version the license covers. Known values are: "SQL Server 2012", - "SQL Server 2014", and "SQL Server 2016". - :vartype version: str or ~azure.mgmt.azurearcdata.models.Version - :ivar unique_id: The unique ID of this license. This is a GUID-formatted string (e.g. - 00000000-0000-0000-0000-000000000000). - :vartype unique_id: str - :ivar physical_cores: The number of total cores of the license covers. - :vartype physical_cores: int - :ivar activation_state: The activation state of the license. Known values are: "Inactive", - "Active", "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", and - "Suspended". - :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.State - :ivar scope_type: The Azure scope to which the license will apply. Known values are: "Tenant", - "Subscription", and "ResourceGroup". - :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType - :ivar activated_at: The timestamp of the activation of the SqlServerEsuLicense in ISO 8601 - date-time format. - :vartype activated_at: ~datetime.datetime - :ivar terminated_at: The timestamp of the termination of the SqlServerEsuLicense in ISO 8601 - date-time format. - :vartype terminated_at: ~datetime.datetime - :ivar tenant_id: The tenantId the SQL Server ESU license resource subscription resides in. - :vartype tenant_id: str - """ - - _validation = { - "unique_id": {"readonly": True, "pattern": r"^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$"}, - "physical_cores": {"minimum": 16, "multiple": 2}, - "activated_at": {"readonly": True}, - "terminated_at": {"readonly": True}, - "tenant_id": {"readonly": True}, - } - - _attribute_map = { - "billing_plan": {"key": "billingPlan", "type": "str"}, - "version": {"key": "version", "type": "str"}, - "unique_id": {"key": "uniqueId", "type": "str"}, - "physical_cores": {"key": "physicalCores", "type": "int"}, - "activation_state": {"key": "activationState", "type": "str"}, - "scope_type": {"key": "scopeType", "type": "str"}, - "activated_at": {"key": "activatedAt", "type": "iso-8601"}, - "terminated_at": {"key": "terminatedAt", "type": "iso-8601"}, - "tenant_id": {"key": "tenantId", "type": "str"}, - } - - def __init__( - self, - *, - billing_plan: Optional[Union[str, "_models.BillingPlan"]] = None, - version: Optional[Union[str, "_models.Version"]] = None, - physical_cores: Optional[int] = None, - activation_state: Optional[Union[str, "_models.State"]] = None, - scope_type: Optional[Union[str, "_models.ScopeType"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword billing_plan: SQL Server ESU license type. Known values are: "PAYG" and "Paid". - :paramtype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan - :keyword version: The SQL Server version the license covers. Known values are: "SQL Server - 2012", "SQL Server 2014", and "SQL Server 2016". - :paramtype version: str or ~azure.mgmt.azurearcdata.models.Version - :keyword physical_cores: The number of total cores of the license covers. - :paramtype physical_cores: int - :keyword activation_state: The activation state of the license. Known values are: "Inactive", - "Active", "Terminated", "Enabled", "Disabled", "Deleted", "Completed", "Faulted", and - "Suspended". - :paramtype activation_state: str or ~azure.mgmt.azurearcdata.models.State - :keyword scope_type: The Azure scope to which the license will apply. Known values are: - "Tenant", "Subscription", and "ResourceGroup". - :paramtype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType - """ - super().__init__(**kwargs) - self.billing_plan = billing_plan - self.version = version - self.unique_id: Optional[str] = None - self.physical_cores = physical_cores - self.activation_state = activation_state - self.scope_type = scope_type - self.activated_at: Optional[datetime.datetime] = None - self.terminated_at: Optional[datetime.datetime] = None - self.tenant_id: Optional[str] = None - - -class SqlServerInstance(TrackedResource): - """A SqlServerInstance. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: null. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceProperties - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "properties": {"key": "properties", "type": "SqlServerInstanceProperties"}, - } - - def __init__( - self, - *, - location: str, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.SqlServerInstanceProperties"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword properties: null. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceProperties - """ - super().__init__(tags=tags, location=location, **kwargs) - self.properties = properties - - -class SqlServerInstanceBpaColumn(_serialization.Model): - """The SQL best practices assessment result column. - - :ivar name: The name of the result column. - :vartype name: str - :ivar type: The type of the result column. Known values are: "bool", "datetime", "int", "long", - "double", "string", "guid", and "timespan". - :vartype type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumnType - """ - - _attribute_map = { - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - type: Optional[Union[str, "_models.SqlServerInstanceBpaColumnType"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword name: The name of the result column. - :paramtype name: str - :keyword type: The type of the result column. Known values are: "bool", "datetime", "int", - "long", "double", "string", "guid", and "timespan". - :paramtype type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumnType - """ - super().__init__(**kwargs) - self.name = name - self.type = type - - -class SqlServerInstanceBpaRequest(_serialization.Model): - """The request for retrieving SQL best practices assessment results. - - :ivar report_type: The report type that needs to be fetched. If not specified, the default is - AssessmentSummary. Known values are: "AssessmentDataPoint" and "AssessmentSummary". - :vartype report_type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaReportType - :ivar report_id: The GUID of the report to return best practices assessment results for. If not - specified, summaries for all reports will be returned. - :vartype report_id: str - :ivar skip_token: The opaque token to use to skip to a specific page of the report. If not - specified, the first page will be returned. - :vartype skip_token: str - :ivar query_type: The type of query to run for summarizing the best practices assessment - results. If not specified, the default is 'Basic'. Known values are: "Basic" and - "HistoricalTrends". - :vartype query_type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaQueryType - """ - - _attribute_map = { - "report_type": {"key": "reportType", "type": "str"}, - "report_id": {"key": "reportId", "type": "str"}, - "skip_token": {"key": "skipToken", "type": "str"}, - "query_type": {"key": "queryType", "type": "str"}, - } - - def __init__( - self, - *, - report_type: Optional[Union[str, "_models.SqlServerInstanceBpaReportType"]] = None, - report_id: Optional[str] = None, - skip_token: Optional[str] = None, - query_type: Optional[Union[str, "_models.SqlServerInstanceBpaQueryType"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword report_type: The report type that needs to be fetched. If not specified, the default - is AssessmentSummary. Known values are: "AssessmentDataPoint" and "AssessmentSummary". - :paramtype report_type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaReportType - :keyword report_id: The GUID of the report to return best practices assessment results for. If - not specified, summaries for all reports will be returned. - :paramtype report_id: str - :keyword skip_token: The opaque token to use to skip to a specific page of the report. If not - specified, the first page will be returned. - :paramtype skip_token: str - :keyword query_type: The type of query to run for summarizing the best practices assessment - results. If not specified, the default is 'Basic'. Known values are: "Basic" and - "HistoricalTrends". - :paramtype query_type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaQueryType - """ - super().__init__(**kwargs) - self.report_type = report_type - self.report_id = report_id - self.skip_token = skip_token - self.query_type = query_type - - -class SqlServerInstanceBpaResponse(_serialization.Model): - """A section of the SQL best practices assessment response. - - All required parameters must be populated in order to send to server. - - :ivar columns: The SQL best practices assessment response columns. Required. - :vartype columns: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumn] - :ivar rows: An array of results of the SQL best practices assessment response. Required. - :vartype rows: list[list[str]] - :ivar next_link: The link to the next page of the best practices assessment response for the - SQL Server instance. Null, if no more pages are available. - :vartype next_link: str - """ - - _validation = { - "columns": {"required": True}, - "rows": {"required": True}, - } - - _attribute_map = { - "columns": {"key": "columns", "type": "[SqlServerInstanceBpaColumn]"}, - "rows": {"key": "rows", "type": "[[str]]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__( - self, - *, - columns: list["_models.SqlServerInstanceBpaColumn"], - rows: list[list[str]], - next_link: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword columns: The SQL best practices assessment response columns. Required. - :paramtype columns: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaColumn] - :keyword rows: An array of results of the SQL best practices assessment response. Required. - :paramtype rows: list[list[str]] - :keyword next_link: The link to the next page of the best practices assessment response for the - SQL Server instance. Null, if no more pages are available. - :paramtype next_link: str - """ - super().__init__(**kwargs) - self.columns = columns - self.rows = rows - self.next_link = next_link - - -class SqlServerInstanceJob(_serialization.Model): - """The job running on the SQL Server instance. - - :ivar id: The unique identifier of the job. - :vartype id: str - :ivar instance_name: The name of the SQL Server instance. - :vartype instance_name: str - :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", - "Succeeded", and "Failed". - :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :ivar job_exception: The exception message if the job failed. - :vartype job_exception: str - :ivar background_job: The background job details. - :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob - :ivar sequencer_actions: The list of sequencer actions. - :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] - """ - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "instance_name": {"key": "instanceName", "type": "str"}, - "job_status": {"key": "jobStatus", "type": "str"}, - "job_exception": {"key": "jobException", "type": "str"}, - "background_job": {"key": "backgroundJob", "type": "BackgroundJob"}, - "sequencer_actions": {"key": "sequencerActions", "type": "[SequencerAction]"}, - } - - def __init__( - self, - *, - id: Optional[str] = None, # pylint: disable=redefined-builtin - instance_name: Optional[str] = None, - job_status: Optional[Union[str, "_models.JobStatus"]] = None, - job_exception: Optional[str] = None, - background_job: Optional["_models.BackgroundJob"] = None, - sequencer_actions: Optional[list["_models.SequencerAction"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword id: The unique identifier of the job. - :paramtype id: str - :keyword instance_name: The name of the SQL Server instance. - :paramtype instance_name: str - :keyword job_status: The status of the job. Known values are: "NotStarted", "InProgress", - "Succeeded", and "Failed". - :paramtype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :keyword job_exception: The exception message if the job failed. - :paramtype job_exception: str - :keyword background_job: The background job details. - :paramtype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob - :keyword sequencer_actions: The list of sequencer actions. - :paramtype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] - """ - super().__init__(**kwargs) - self.id = id - self.instance_name = instance_name - self.job_status = job_status - self.job_exception = job_exception - self.background_job = background_job - self.sequencer_actions = sequencer_actions - - -class SqlServerInstanceJobsRequest(_serialization.Model): - """The request for the jobs running on the SQL Server instance. - - :ivar feature_name: The name of the feature to retrieve the jobs for. - :vartype feature_name: str - :ivar job_type: The type of the job to retrieve the jobs for. - :vartype job_type: str - """ - - _attribute_map = { - "feature_name": {"key": "featureName", "type": "str"}, - "job_type": {"key": "jobType", "type": "str"}, - } - - def __init__(self, *, feature_name: Optional[str] = None, job_type: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword feature_name: The name of the feature to retrieve the jobs for. - :paramtype feature_name: str - :keyword job_type: The type of the job to retrieve the jobs for. - :paramtype job_type: str - """ - super().__init__(**kwargs) - self.feature_name = feature_name - self.job_type = job_type - - -class SqlServerInstanceJobsResponse(_serialization.Model): - """The response for the jobs running on the SQL Server instance. - - :ivar jobs: The list of jobs running on the SQL Server instance. - :vartype jobs: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceJob] - """ - - _attribute_map = { - "jobs": {"key": "jobs", "type": "[SqlServerInstanceJob]"}, - } - - def __init__(self, *, jobs: Optional[list["_models.SqlServerInstanceJob"]] = None, **kwargs: Any) -> None: - """ - :keyword jobs: The list of jobs running on the SQL Server instance. - :paramtype jobs: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceJob] - """ - super().__init__(**kwargs) - self.jobs = jobs - - -class SqlServerInstanceJobsStatusRequest(_serialization.Model): - """The request for the status of the jobs running on the SQL Server instance. - - :ivar feature_name: The name of the feature to retrieve the job status for. - :vartype feature_name: str - :ivar job_type: The type of the job to retrieve the status for. - :vartype job_type: str - """ - - _attribute_map = { - "feature_name": {"key": "featureName", "type": "str"}, - "job_type": {"key": "jobType", "type": "str"}, - } - - def __init__(self, *, feature_name: Optional[str] = None, job_type: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword feature_name: The name of the feature to retrieve the job status for. - :paramtype feature_name: str - :keyword job_type: The type of the job to retrieve the status for. - :paramtype job_type: str - """ - super().__init__(**kwargs) - self.feature_name = feature_name - self.job_type = job_type - - -class SqlServerInstanceJobsStatusResponse(_serialization.Model): - """The response for the status of the jobs running on the SQL Server instance. - - :ivar jobs_status: The list of jobs status running on the SQL Server instance. - :vartype jobs_status: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobStatus] - """ - - _attribute_map = { - "jobs_status": {"key": "jobsStatus", "type": "[SqlServerInstanceJobStatus]"}, - } - - def __init__( - self, *, jobs_status: Optional[list["_models.SqlServerInstanceJobStatus"]] = None, **kwargs: Any - ) -> None: - """ - :keyword jobs_status: The list of jobs status running on the SQL Server instance. - :paramtype jobs_status: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobStatus] - """ - super().__init__(**kwargs) - self.jobs_status = jobs_status - - -class SqlServerInstanceJobStatus(_serialization.Model): - """The status of the job running on the SQL Server instance. - - :ivar id: The unique identifier of the job. - :vartype id: str - :ivar instance_name: The name of the SQL Server instance. - :vartype instance_name: str - :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", - "Succeeded", and "Failed". - :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :ivar job_exception: The exception message if the job failed. - :vartype job_exception: str - :ivar background_job: The background job details. - :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob - :ivar sequencer_actions: The list of sequencer actions. - :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] - """ - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "instance_name": {"key": "instanceName", "type": "str"}, - "job_status": {"key": "jobStatus", "type": "str"}, - "job_exception": {"key": "jobException", "type": "str"}, - "background_job": {"key": "backgroundJob", "type": "BackgroundJob"}, - "sequencer_actions": {"key": "sequencerActions", "type": "[SequencerAction]"}, - } - - def __init__( - self, - *, - id: Optional[str] = None, # pylint: disable=redefined-builtin - instance_name: Optional[str] = None, - job_status: Optional[Union[str, "_models.JobStatus"]] = None, - job_exception: Optional[str] = None, - background_job: Optional["_models.BackgroundJob"] = None, - sequencer_actions: Optional[list["_models.SequencerAction"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword id: The unique identifier of the job. - :paramtype id: str - :keyword instance_name: The name of the SQL Server instance. - :paramtype instance_name: str - :keyword job_status: The status of the job. Known values are: "NotStarted", "InProgress", - "Succeeded", and "Failed". - :paramtype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :keyword job_exception: The exception message if the job failed. - :paramtype job_exception: str - :keyword background_job: The background job details. - :paramtype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob - :keyword sequencer_actions: The list of sequencer actions. - :paramtype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] - """ - super().__init__(**kwargs) - self.id = id - self.instance_name = instance_name - self.job_status = job_status - self.job_exception = job_exception - self.background_job = background_job - self.sequencer_actions = sequencer_actions - - -class SqlServerInstanceListResult(_serialization.Model): - """A list of SqlServerInstance. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[SqlServerInstance]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.value: Optional[list["_models.SqlServerInstance"]] = None - self.next_link: Optional[str] = None - - -class SqlServerInstanceManagedInstanceLinkAssessment(_serialization.Model): # pylint: disable=name-too-long - """The status of an individual requirement for MI Link. - - :ivar name: The name of the requirement. - :vartype name: str - :ivar category: Validation category for the MI Link prerequisites assessment. Known values are: - "SqlInstance", "SqlInstanceDatabase", "ManagedInstance", "ManagedInstanceDatabase", - "ManagedInstanceCrossValidation", "Certificates", "BoxToMiNetworkConnectivity", - "MiToBoxNetworkConnectivity", "DagCrossValidation", and "SqlInstanceAg". - :vartype category: str or ~azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory - :ivar status: The status of the requirement. Known values are: "Success", "Warning", and - "Failure". - :vartype status: str or ~azure.mgmt.azurearcdata.models.AssessmentStatus - :ivar information: The information text about requirement. - :vartype information: str - :ivar additional_information: Additional details about the check, including any recommended - actions. - :vartype additional_information: str - :ivar failing_dbs: List of names of databases that are failing the given assessment. - :vartype failing_dbs: list[str] - """ - - _attribute_map = { - "name": {"key": "name", "type": "str"}, - "category": {"key": "category", "type": "str"}, - "status": {"key": "status", "type": "str"}, - "information": {"key": "information", "type": "str"}, - "additional_information": {"key": "additionalInformation", "type": "str"}, - "failing_dbs": {"key": "failingDbs", "type": "[str]"}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - category: Optional[Union[str, "_models.MiLinkAssessmentCategory"]] = None, - status: Optional[Union[str, "_models.AssessmentStatus"]] = None, - information: Optional[str] = None, - additional_information: Optional[str] = None, - failing_dbs: Optional[list[str]] = None, - **kwargs: Any - ) -> None: - """ - :keyword name: The name of the requirement. - :paramtype name: str - :keyword category: Validation category for the MI Link prerequisites assessment. Known values - are: "SqlInstance", "SqlInstanceDatabase", "ManagedInstance", "ManagedInstanceDatabase", - "ManagedInstanceCrossValidation", "Certificates", "BoxToMiNetworkConnectivity", - "MiToBoxNetworkConnectivity", "DagCrossValidation", and "SqlInstanceAg". - :paramtype category: str or ~azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory - :keyword status: The status of the requirement. Known values are: "Success", "Warning", and - "Failure". - :paramtype status: str or ~azure.mgmt.azurearcdata.models.AssessmentStatus - :keyword information: The information text about requirement. - :paramtype information: str - :keyword additional_information: Additional details about the check, including any recommended - actions. - :paramtype additional_information: str - :keyword failing_dbs: List of names of databases that are failing the given assessment. - :paramtype failing_dbs: list[str] - """ - super().__init__(**kwargs) - self.name = name - self.category = category - self.status = status - self.information = information - self.additional_information = additional_information - self.failing_dbs = failing_dbs - - -class SqlServerInstanceManagedInstanceLinkAssessmentRequest(_serialization.Model): # pylint: disable=name-too-long - """The MI Link assessment request for the SQL Server instance. - - All required parameters must be populated in order to send to server. - - :ivar azure_managed_instance_resource_id: The Azure SQL Managed Instance resource ID to link - with the SQL Server instance. Required. - :vartype azure_managed_instance_resource_id: str - :ivar azure_managed_instance_role: The role of managed instance in a distributed availability - group, can be Primary or Secondary. Known values are: "Primary" and "Secondary". - :vartype azure_managed_instance_role: str or - ~azure.mgmt.azurearcdata.models.AzureManagedInstanceRole - :ivar database_names: An array of strings, where each value represents the name of a database - to be replicated to the Azure SQL Managed Instance. Required. - :vartype database_names: list[str] - :ivar availability_group_name: The name of the availability group to be used for the database - replication. Required. - :vartype availability_group_name: str - :ivar distributed_availability_group_name: The name of the DAG to be used for the database - replication. Also referred to as Link Name. Required. - :vartype distributed_availability_group_name: str - :ivar assessment_categories: An array of strings, where each value represents the category of - the assessment to be run. If this field is not provided, all assessment categories will be run. - :vartype assessment_categories: list[str or - ~azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory] - :ivar sql_server_ip_address: The IP address of the SQL Server instance. - :vartype sql_server_ip_address: str - """ - - _validation = { - "azure_managed_instance_resource_id": {"required": True}, - "database_names": {"required": True}, - "availability_group_name": {"required": True}, - "distributed_availability_group_name": {"required": True}, - } - - _attribute_map = { - "azure_managed_instance_resource_id": {"key": "azureManagedInstanceResourceId", "type": "str"}, - "azure_managed_instance_role": {"key": "azureManagedInstanceRole", "type": "str"}, - "database_names": {"key": "databaseNames", "type": "[str]"}, - "availability_group_name": {"key": "availabilityGroupName", "type": "str"}, - "distributed_availability_group_name": {"key": "distributedAvailabilityGroupName", "type": "str"}, - "assessment_categories": {"key": "assessmentCategories", "type": "[str]"}, - "sql_server_ip_address": {"key": "sqlServerIpAddress", "type": "str"}, - } - - def __init__( - self, - *, - azure_managed_instance_resource_id: str, - database_names: list[str], - availability_group_name: str, - distributed_availability_group_name: str, - azure_managed_instance_role: Optional[Union[str, "_models.AzureManagedInstanceRole"]] = None, - assessment_categories: Optional[list[Union[str, "_models.MiLinkAssessmentCategory"]]] = None, - sql_server_ip_address: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword azure_managed_instance_resource_id: The Azure SQL Managed Instance resource ID to link - with the SQL Server instance. Required. - :paramtype azure_managed_instance_resource_id: str - :keyword azure_managed_instance_role: The role of managed instance in a distributed - availability group, can be Primary or Secondary. Known values are: "Primary" and "Secondary". - :paramtype azure_managed_instance_role: str or - ~azure.mgmt.azurearcdata.models.AzureManagedInstanceRole - :keyword database_names: An array of strings, where each value represents the name of a - database to be replicated to the Azure SQL Managed Instance. Required. - :paramtype database_names: list[str] - :keyword availability_group_name: The name of the availability group to be used for the - database replication. Required. - :paramtype availability_group_name: str - :keyword distributed_availability_group_name: The name of the DAG to be used for the database - replication. Also referred to as Link Name. Required. - :paramtype distributed_availability_group_name: str - :keyword assessment_categories: An array of strings, where each value represents the category - of the assessment to be run. If this field is not provided, all assessment categories will be - run. - :paramtype assessment_categories: list[str or - ~azure.mgmt.azurearcdata.models.MiLinkAssessmentCategory] - :keyword sql_server_ip_address: The IP address of the SQL Server instance. - :paramtype sql_server_ip_address: str - """ - super().__init__(**kwargs) - self.azure_managed_instance_resource_id = azure_managed_instance_resource_id - self.azure_managed_instance_role = azure_managed_instance_role - self.database_names = database_names - self.availability_group_name = availability_group_name - self.distributed_availability_group_name = distributed_availability_group_name - self.assessment_categories = assessment_categories - self.sql_server_ip_address = sql_server_ip_address - - -class SqlServerInstanceManagedInstanceLinkAssessmentResponse(_serialization.Model): # pylint: disable=name-too-long - """The response containing the results of the MI Link assessment. - - :ivar assessments: The list of the results for MI Link assessment. - :vartype assessments: - list[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessment] - """ - - _attribute_map = { - "assessments": {"key": "assessments", "type": "[SqlServerInstanceManagedInstanceLinkAssessment]"}, - } - - def __init__( - self, - *, - assessments: Optional[list["_models.SqlServerInstanceManagedInstanceLinkAssessment"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword assessments: The list of the results for MI Link assessment. - :paramtype assessments: - list[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessment] - """ - super().__init__(**kwargs) - self.assessments = assessments - - -class SqlServerInstanceMigrationReadinessReportResponse(_serialization.Model): # pylint: disable=name-too-long - """Represents the response containing the SQL Server Instance Migration Readiness report. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar report: The migration readiness report as a serialized JSON string. When isCompressed is - true, the value is base64-encoded GZip-compressed and must be decoded and decompressed before - parsing. - :vartype report: str - :ivar is_compressed: Indicates whether the report field contains base64-encoded GZip-compressed - JSON. - :vartype is_compressed: bool - :ivar created_time: The UTC timestamp in ISO 8601 format indicating when the migration - readiness report was created. - :vartype created_time: ~datetime.datetime - """ - - _validation = { - "report": {"readonly": True}, - "is_compressed": {"readonly": True}, - "created_time": {"readonly": True}, - } - - _attribute_map = { - "report": {"key": "report", "type": "str"}, - "is_compressed": {"key": "isCompressed", "type": "bool"}, - "created_time": {"key": "createdTime", "type": "iso-8601"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.report: Optional[str] = None - self.is_compressed: Optional[bool] = None - self.created_time: Optional[datetime.datetime] = None - - -class SqlServerInstanceProperties(_serialization.Model): - """Properties of SqlServerInstance. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar version: SQL Server version. Known values are: "Unknown", "SQL Server 2012", "SQL Server - 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and "SQL - Server 2025". - :vartype version: str or ~azure.mgmt.azurearcdata.models.SqlVersion - :ivar edition: SQL Server edition. Known values are: "Evaluation", "Enterprise", "Standard", - "Web", "Developer", "Express", "Business Intelligence", "Standard Developer", and "Unknown". - :vartype edition: str or ~azure.mgmt.azurearcdata.models.EditionType - :ivar container_resource_id: ARM Resource id of the container resource (Azure Arc for Servers). - :vartype container_resource_id: str - :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. - :vartype vm_id: str - :ivar create_time: The time when the resource was created. - :vartype create_time: str - :ivar v_core: The number of logical processors used by the SQL Server instance. - :vartype v_core: str - :ivar cores: The number of total cores of the Operating System Environment (OSE) hosting the - SQL Server instance. - :vartype cores: str - :ivar status: The cloud connectivity status. Known values are: "Connected", "Disconnected", - "Registered", "Discovered", and "Unknown". - :vartype status: str or ~azure.mgmt.azurearcdata.models.ConnectionStatus - :ivar discovery_source: Indicates the discovery agent or client for this instance. Known values - are: "Azure Arc", "Azure Migrate", "ADS", "SSMS", "SSMA", "Import", "DMS-Portal", "DMS-PS", - "DMS-CLI", "DMS-SDK", and "Other". - :vartype discovery_source: str or ~azure.mgmt.azurearcdata.models.DiscoverySource - :ivar patch_level: SQL Server update level. - :vartype patch_level: str - :ivar collation: SQL Server collation. - :vartype collation: str - :ivar db_master_key_exists: Indicates whether database master key exists in SQL Server. - :vartype db_master_key_exists: bool - :ivar is_hadr_enabled: Indicates whether always On availability groups is enabled in SQL - Server. - :vartype is_hadr_enabled: bool - :ivar trace_flags: An array of integers, where each value represents the enabled trace flags in - SQL Server. - :vartype trace_flags: list[int] - :ivar current_version: SQL Server current version. - :vartype current_version: str - :ivar instance_name: SQL Server instance name. - :vartype instance_name: str - :ivar tcp_dynamic_ports: Dynamic TCP ports used by SQL Server. - :vartype tcp_dynamic_ports: str - :ivar tcp_static_ports: Static TCP ports used by SQL Server. - :vartype tcp_static_ports: str - :ivar product_id: SQL Server product ID. - :vartype product_id: str - :ivar license_type: SQL Server license type. Known values are: "Undefined", "Free", "HADR", - "ServerCAL", "LicenseOnly", "PAYG", "Paid", and "FabricCapacity". - :vartype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerLicenseType - :ivar azure_defender_status_last_updated: Timestamp of last Azure Defender status update. - :vartype azure_defender_status_last_updated: ~datetime.datetime - :ivar azure_defender_status: Status of Azure Defender. Known values are: "Protected", - "Unprotected", and "Unknown". - :vartype azure_defender_status: str or ~azure.mgmt.azurearcdata.models.DefenderStatus - :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server resource. - :vartype provisioning_state: str - :ivar last_inventory_upload_time: The time when last successful inventory upload was performed. - :vartype last_inventory_upload_time: ~datetime.datetime - :ivar last_usage_upload_time: The time when last successful usage upload was performed. - :vartype last_usage_upload_time: ~datetime.datetime - :ivar host_type: Type of host for Azure Arc SQL Server. Known values are: "Azure Virtual - Machine", "Azure VMWare Virtual Machine", "Azure Kubernetes Service", "AWS VMWare Virtual - Machine", "AWS Kubernetes Service", "GCP VMWare Virtual Machine", "GCP Kubernetes Service", - "Container", "Virtual Machine", "Physical Server", "AWS Virtual Machine", "GCP Virtual - Machine", "Hyper-V Virtual Machine", and "Other". - :vartype host_type: str or ~azure.mgmt.azurearcdata.models.HostType - :ivar always_on_role: The role of the SQL Server, based on availability. Known values are: - "None", "FailoverClusterInstance", "FailoverClusterNode", and "AvailabilityGroupReplica". - :vartype always_on_role: str or ~azure.mgmt.azurearcdata.models.AlwaysOnRole - :ivar database_mirroring_endpoint: Database mirroring endpoint related properties. - :vartype database_mirroring_endpoint: ~azure.mgmt.azurearcdata.models.DBMEndpoint - :ivar failover_cluster: Failover Cluster Instance properties. - :vartype failover_cluster: ~azure.mgmt.azurearcdata.models.FailoverCluster - :ivar backup_policy: The backup profile for the SQL server. - :vartype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy - :ivar upgrade_locked_until: Upgrade Action for this resource is locked until it expires. The - Expiration time indicated by this value. It is not locked when it is empty. - :vartype upgrade_locked_until: ~datetime.datetime - :ivar monitoring: The monitoring configuration. - :vartype monitoring: ~azure.mgmt.azurearcdata.models.Monitoring - :ivar migration: Migration related configuration and status. - :vartype migration: ~azure.mgmt.azurearcdata.models.Migration - :ivar best_practices_assessment: The configuration related to SQL best practices assessment. - :vartype best_practices_assessment: ~azure.mgmt.azurearcdata.models.BestPracticesAssessment - :ivar client_connection: Client connection related configuration. - :vartype client_connection: ~azure.mgmt.azurearcdata.models.ClientConnection - :ivar service_type: Indicates if the resource represents a SQL Server engine or a SQL Server - component service installed on the host. Known values are: "Engine", "SSRS", "SSAS", "SSIS", - and "PBIRS". - :vartype service_type: str or ~azure.mgmt.azurearcdata.models.ServiceType - :ivar max_server_memory_mb: maximum server memory (MB) value configured for this instance. - :vartype max_server_memory_mb: int - :ivar is_microsoft_pki_cert_trust_configured: Indicates whether Microsoft PKI root-authority - certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net - domains. - :vartype is_microsoft_pki_cert_trust_configured: bool - :ivar is_digi_cert_pki_cert_trust_configured: Indicates whether DigiCert PKI root-authority - certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net - domains. - :vartype is_digi_cert_pki_cert_trust_configured: bool - :ivar authentication: Authentication related configuration for the SQL Server Instance. - :vartype authentication: ~azure.mgmt.azurearcdata.models.Authentication - """ - - _validation = { - "container_resource_id": {"readonly": True}, - "vm_id": {"readonly": True}, - "create_time": {"readonly": True}, - "v_core": {"readonly": True}, - "status": {"readonly": True}, - "patch_level": {"readonly": True}, - "collation": {"readonly": True}, - "db_master_key_exists": {"readonly": True}, - "is_hadr_enabled": {"readonly": True}, - "trace_flags": {"readonly": True}, - "current_version": {"readonly": True}, - "tcp_dynamic_ports": {"readonly": True}, - "tcp_static_ports": {"readonly": True}, - "product_id": {"readonly": True}, - "license_type": {"readonly": True}, - "azure_defender_status_last_updated": {"readonly": True}, - "azure_defender_status": {"readonly": True}, - "provisioning_state": {"readonly": True}, - "last_inventory_upload_time": {"readonly": True}, - "last_usage_upload_time": {"readonly": True}, - "always_on_role": {"readonly": True}, - "max_server_memory_mb": {"readonly": True}, - "is_microsoft_pki_cert_trust_configured": {"readonly": True}, - "is_digi_cert_pki_cert_trust_configured": {"readonly": True}, - } - - _attribute_map = { - "version": {"key": "version", "type": "str"}, - "edition": {"key": "edition", "type": "str"}, - "container_resource_id": {"key": "containerResourceId", "type": "str"}, - "vm_id": {"key": "vmId", "type": "str"}, - "create_time": {"key": "createTime", "type": "str"}, - "v_core": {"key": "vCore", "type": "str"}, - "cores": {"key": "cores", "type": "str"}, - "status": {"key": "status", "type": "str"}, - "discovery_source": {"key": "discoverySource", "type": "str"}, - "patch_level": {"key": "patchLevel", "type": "str"}, - "collation": {"key": "collation", "type": "str"}, - "db_master_key_exists": {"key": "dbMasterKeyExists", "type": "bool"}, - "is_hadr_enabled": {"key": "isHadrEnabled", "type": "bool"}, - "trace_flags": {"key": "traceFlags", "type": "[int]"}, - "current_version": {"key": "currentVersion", "type": "str"}, - "instance_name": {"key": "instanceName", "type": "str"}, - "tcp_dynamic_ports": {"key": "tcpDynamicPorts", "type": "str"}, - "tcp_static_ports": {"key": "tcpStaticPorts", "type": "str"}, - "product_id": {"key": "productId", "type": "str"}, - "license_type": {"key": "licenseType", "type": "str"}, - "azure_defender_status_last_updated": {"key": "azureDefenderStatusLastUpdated", "type": "iso-8601"}, - "azure_defender_status": {"key": "azureDefenderStatus", "type": "str"}, - "provisioning_state": {"key": "provisioningState", "type": "str"}, - "last_inventory_upload_time": {"key": "lastInventoryUploadTime", "type": "iso-8601"}, - "last_usage_upload_time": {"key": "lastUsageUploadTime", "type": "iso-8601"}, - "host_type": {"key": "hostType", "type": "str"}, - "always_on_role": {"key": "alwaysOnRole", "type": "str"}, - "database_mirroring_endpoint": {"key": "databaseMirroringEndpoint", "type": "DBMEndpoint"}, - "failover_cluster": {"key": "failoverCluster", "type": "FailoverCluster"}, - "backup_policy": {"key": "backupPolicy", "type": "BackupPolicy"}, - "upgrade_locked_until": {"key": "upgradeLockedUntil", "type": "iso-8601"}, - "monitoring": {"key": "monitoring", "type": "Monitoring"}, - "migration": {"key": "migration", "type": "Migration"}, - "best_practices_assessment": {"key": "bestPracticesAssessment", "type": "BestPracticesAssessment"}, - "client_connection": {"key": "clientConnection", "type": "ClientConnection"}, - "service_type": {"key": "serviceType", "type": "str"}, - "max_server_memory_mb": {"key": "maxServerMemoryMB", "type": "int"}, - "is_microsoft_pki_cert_trust_configured": {"key": "isMicrosoftPkiCertTrustConfigured", "type": "bool"}, - "is_digi_cert_pki_cert_trust_configured": {"key": "isDigiCertPkiCertTrustConfigured", "type": "bool"}, - "authentication": {"key": "authentication", "type": "Authentication"}, - } - - def __init__( # pylint: disable=too-many-locals - self, - *, - version: Optional[Union[str, "_models.SqlVersion"]] = None, - edition: Optional[Union[str, "_models.EditionType"]] = None, - cores: Optional[str] = None, - discovery_source: Optional[Union[str, "_models.DiscoverySource"]] = None, - instance_name: Optional[str] = None, - host_type: Optional[Union[str, "_models.HostType"]] = None, - database_mirroring_endpoint: Optional["_models.DBMEndpoint"] = None, - failover_cluster: Optional["_models.FailoverCluster"] = None, - backup_policy: Optional["_models.BackupPolicy"] = None, - upgrade_locked_until: Optional[datetime.datetime] = None, - monitoring: Optional["_models.Monitoring"] = None, - migration: Optional["_models.Migration"] = None, - best_practices_assessment: Optional["_models.BestPracticesAssessment"] = None, - client_connection: Optional["_models.ClientConnection"] = None, - service_type: Optional[Union[str, "_models.ServiceType"]] = None, - authentication: Optional["_models.Authentication"] = None, - **kwargs: Any - ) -> None: - """ - :keyword version: SQL Server version. Known values are: "Unknown", "SQL Server 2012", "SQL - Server 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and - "SQL Server 2025". - :paramtype version: str or ~azure.mgmt.azurearcdata.models.SqlVersion - :keyword edition: SQL Server edition. Known values are: "Evaluation", "Enterprise", "Standard", - "Web", "Developer", "Express", "Business Intelligence", "Standard Developer", and "Unknown". - :paramtype edition: str or ~azure.mgmt.azurearcdata.models.EditionType - :keyword cores: The number of total cores of the Operating System Environment (OSE) hosting the - SQL Server instance. - :paramtype cores: str - :keyword discovery_source: Indicates the discovery agent or client for this instance. Known - values are: "Azure Arc", "Azure Migrate", "ADS", "SSMS", "SSMA", "Import", "DMS-Portal", - "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". - :paramtype discovery_source: str or ~azure.mgmt.azurearcdata.models.DiscoverySource - :keyword instance_name: SQL Server instance name. - :paramtype instance_name: str - :keyword host_type: Type of host for Azure Arc SQL Server. Known values are: "Azure Virtual - Machine", "Azure VMWare Virtual Machine", "Azure Kubernetes Service", "AWS VMWare Virtual - Machine", "AWS Kubernetes Service", "GCP VMWare Virtual Machine", "GCP Kubernetes Service", - "Container", "Virtual Machine", "Physical Server", "AWS Virtual Machine", "GCP Virtual - Machine", "Hyper-V Virtual Machine", and "Other". - :paramtype host_type: str or ~azure.mgmt.azurearcdata.models.HostType - :keyword database_mirroring_endpoint: Database mirroring endpoint related properties. - :paramtype database_mirroring_endpoint: ~azure.mgmt.azurearcdata.models.DBMEndpoint - :keyword failover_cluster: Failover Cluster Instance properties. - :paramtype failover_cluster: ~azure.mgmt.azurearcdata.models.FailoverCluster - :keyword backup_policy: The backup profile for the SQL server. - :paramtype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy - :keyword upgrade_locked_until: Upgrade Action for this resource is locked until it expires. The - Expiration time indicated by this value. It is not locked when it is empty. - :paramtype upgrade_locked_until: ~datetime.datetime - :keyword monitoring: The monitoring configuration. - :paramtype monitoring: ~azure.mgmt.azurearcdata.models.Monitoring - :keyword migration: Migration related configuration and status. - :paramtype migration: ~azure.mgmt.azurearcdata.models.Migration - :keyword best_practices_assessment: The configuration related to SQL best practices assessment. - :paramtype best_practices_assessment: ~azure.mgmt.azurearcdata.models.BestPracticesAssessment - :keyword client_connection: Client connection related configuration. - :paramtype client_connection: ~azure.mgmt.azurearcdata.models.ClientConnection - :keyword service_type: Indicates if the resource represents a SQL Server engine or a SQL Server - component service installed on the host. Known values are: "Engine", "SSRS", "SSAS", "SSIS", - and "PBIRS". - :paramtype service_type: str or ~azure.mgmt.azurearcdata.models.ServiceType - :keyword authentication: Authentication related configuration for the SQL Server Instance. - :paramtype authentication: ~azure.mgmt.azurearcdata.models.Authentication - """ - super().__init__(**kwargs) - self.version = version - self.edition = edition - self.container_resource_id: Optional[str] = None - self.vm_id: Optional[str] = None - self.create_time: Optional[str] = None - self.v_core: Optional[str] = None - self.cores = cores - self.status: Optional[Union[str, "_models.ConnectionStatus"]] = None - self.discovery_source = discovery_source - self.patch_level: Optional[str] = None - self.collation: Optional[str] = None - self.db_master_key_exists: Optional[bool] = None - self.is_hadr_enabled: Optional[bool] = None - self.trace_flags: Optional[list[int]] = None - self.current_version: Optional[str] = None - self.instance_name = instance_name - self.tcp_dynamic_ports: Optional[str] = None - self.tcp_static_ports: Optional[str] = None - self.product_id: Optional[str] = None - self.license_type: Optional[Union[str, "_models.ArcSqlServerLicenseType"]] = None - self.azure_defender_status_last_updated: Optional[datetime.datetime] = None - self.azure_defender_status: Optional[Union[str, "_models.DefenderStatus"]] = None - self.provisioning_state: Optional[str] = None - self.last_inventory_upload_time: Optional[datetime.datetime] = None - self.last_usage_upload_time: Optional[datetime.datetime] = None - self.host_type = host_type - self.always_on_role: Optional[Union[str, "_models.AlwaysOnRole"]] = None - self.database_mirroring_endpoint = database_mirroring_endpoint - self.failover_cluster = failover_cluster - self.backup_policy = backup_policy - self.upgrade_locked_until = upgrade_locked_until - self.monitoring = monitoring - self.migration = migration - self.best_practices_assessment = best_practices_assessment - self.client_connection = client_connection - self.service_type = service_type - self.max_server_memory_mb: Optional[int] = None - self.is_microsoft_pki_cert_trust_configured: Optional[bool] = None - self.is_digi_cert_pki_cert_trust_configured: Optional[bool] = None - self.authentication = authentication - - -class SqlServerInstanceRunBestPracticesAssessmentResponse(_serialization.Model): # pylint: disable=name-too-long - """The response object for the request to run SQL best practices assessment. - - :ivar id: The unique identifier of the job. - :vartype id: str - :ivar instance_name: The name of the SQL Server instance. - :vartype instance_name: str - :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", - "Succeeded", and "Failed". - :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :ivar job_exception: The exception message if the job failed. - :vartype job_exception: str - :ivar background_job: The background job details. - :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob - :ivar sequencer_actions: The list of sequencer actions. - :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] - """ - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "instance_name": {"key": "instanceName", "type": "str"}, - "job_status": {"key": "jobStatus", "type": "str"}, - "job_exception": {"key": "jobException", "type": "str"}, - "background_job": {"key": "backgroundJob", "type": "BackgroundJob"}, - "sequencer_actions": {"key": "sequencerActions", "type": "[SequencerAction]"}, - } - - def __init__( - self, - *, - id: Optional[str] = None, # pylint: disable=redefined-builtin - instance_name: Optional[str] = None, - job_status: Optional[Union[str, "_models.JobStatus"]] = None, - job_exception: Optional[str] = None, - background_job: Optional["_models.BackgroundJob"] = None, - sequencer_actions: Optional[list["_models.SequencerAction"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword id: The unique identifier of the job. - :paramtype id: str - :keyword instance_name: The name of the SQL Server instance. - :paramtype instance_name: str - :keyword job_status: The status of the job. Known values are: "NotStarted", "InProgress", - "Succeeded", and "Failed". - :paramtype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :keyword job_exception: The exception message if the job failed. - :paramtype job_exception: str - :keyword background_job: The background job details. - :paramtype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob - :keyword sequencer_actions: The list of sequencer actions. - :paramtype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] - """ - super().__init__(**kwargs) - self.id = id - self.instance_name = instance_name - self.job_status = job_status - self.job_exception = job_exception - self.background_job = background_job - self.sequencer_actions = sequencer_actions - - -class SqlServerInstanceRunMigrationAssessmentResponse(_serialization.Model): # pylint: disable=name-too-long - """The response for running migration assessment on the SQL Server instance. - - :ivar id: The unique identifier of the job. - :vartype id: str - :ivar instance_name: The name of the SQL Server instance. - :vartype instance_name: str - :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", - "Succeeded", and "Failed". - :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :ivar job_exception: The exception message if the job failed. - :vartype job_exception: str - :ivar background_job: The background job details. - :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob - :ivar sequencer_actions: The list of sequencer actions. - :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] - """ - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "instance_name": {"key": "instanceName", "type": "str"}, - "job_status": {"key": "jobStatus", "type": "str"}, - "job_exception": {"key": "jobException", "type": "str"}, - "background_job": {"key": "backgroundJob", "type": "BackgroundJob"}, - "sequencer_actions": {"key": "sequencerActions", "type": "[SequencerAction]"}, - } - - def __init__( - self, - *, - id: Optional[str] = None, # pylint: disable=redefined-builtin - instance_name: Optional[str] = None, - job_status: Optional[Union[str, "_models.JobStatus"]] = None, - job_exception: Optional[str] = None, - background_job: Optional["_models.BackgroundJob"] = None, - sequencer_actions: Optional[list["_models.SequencerAction"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword id: The unique identifier of the job. - :paramtype id: str - :keyword instance_name: The name of the SQL Server instance. - :paramtype instance_name: str - :keyword job_status: The status of the job. Known values are: "NotStarted", "InProgress", - "Succeeded", and "Failed". - :paramtype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :keyword job_exception: The exception message if the job failed. - :paramtype job_exception: str - :keyword background_job: The background job details. - :paramtype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob - :keyword sequencer_actions: The list of sequencer actions. - :paramtype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] - """ - super().__init__(**kwargs) - self.id = id - self.instance_name = instance_name - self.job_status = job_status - self.job_exception = job_exception - self.background_job = background_job - self.sequencer_actions = sequencer_actions - - -class SqlServerInstanceRunMigrationReadinessAssessmentResponse(_serialization.Model): # pylint: disable=name-too-long - """The response object for the request to run migration readiness assessment. - - :ivar id: The unique identifier of the job. - :vartype id: str - :ivar instance_name: The name of the SQL Server instance. - :vartype instance_name: str - :ivar job_status: The status of the job. Known values are: "NotStarted", "InProgress", - "Succeeded", and "Failed". - :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :ivar job_exception: The exception message if the job failed. - :vartype job_exception: str - :ivar background_job: The background job details. - :vartype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob - :ivar sequencer_actions: The list of sequencer actions. - :vartype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] - """ - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "instance_name": {"key": "instanceName", "type": "str"}, - "job_status": {"key": "jobStatus", "type": "str"}, - "job_exception": {"key": "jobException", "type": "str"}, - "background_job": {"key": "backgroundJob", "type": "BackgroundJob"}, - "sequencer_actions": {"key": "sequencerActions", "type": "[SequencerAction]"}, - } - - def __init__( - self, - *, - id: Optional[str] = None, # pylint: disable=redefined-builtin - instance_name: Optional[str] = None, - job_status: Optional[Union[str, "_models.JobStatus"]] = None, - job_exception: Optional[str] = None, - background_job: Optional["_models.BackgroundJob"] = None, - sequencer_actions: Optional[list["_models.SequencerAction"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword id: The unique identifier of the job. - :paramtype id: str - :keyword instance_name: The name of the SQL Server instance. - :paramtype instance_name: str - :keyword job_status: The status of the job. Known values are: "NotStarted", "InProgress", - "Succeeded", and "Failed". - :paramtype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :keyword job_exception: The exception message if the job failed. - :paramtype job_exception: str - :keyword background_job: The background job details. - :paramtype background_job: ~azure.mgmt.azurearcdata.models.BackgroundJob - :keyword sequencer_actions: The list of sequencer actions. - :paramtype sequencer_actions: list[~azure.mgmt.azurearcdata.models.SequencerAction] - """ - super().__init__(**kwargs) - self.id = id - self.instance_name = instance_name - self.job_status = job_status - self.job_exception = job_exception - self.background_job = background_job - self.sequencer_actions = sequencer_actions - - -class SqlServerInstanceRunTargetRecommendationJobRequest(_serialization.Model): # pylint: disable=name-too-long - """The request for running a SQL Server Instance target recommendation job. - - :ivar resource_update_mode: Controls whether the SQL Server instance resource is updated with - the target recommendation details after the job completes. Known values are: - "UpdateAllTargetRecommendationDetails" and "SkipResourceUpdate". - :vartype resource_update_mode: str or ~azure.mgmt.azurearcdata.models.ResourceUpdateMode - :ivar include_file_level_requirements: Specifies whether to include file-level requirements in - the target recommendation report. - :vartype include_file_level_requirements: bool - :ivar target_location: The Azure region used for target SKU pricing and availability (e.g., - 'westus', 'eastus2', 'westeurope'). - :vartype target_location: str - :ivar percentile: The percentile of performance data points used for aggregation (Range: - 1-100). - :vartype percentile: int - :ivar lookback_period_in_days: The lookback period in days for performance data used in the - target recommendation. - :vartype lookback_period_in_days: int - """ - - _validation = { - "percentile": {"maximum": 100, "minimum": 1}, - "lookback_period_in_days": {"maximum": 30, "minimum": 7}, - } - - _attribute_map = { - "resource_update_mode": {"key": "resourceUpdateMode", "type": "str"}, - "include_file_level_requirements": {"key": "includeFileLevelRequirements", "type": "bool"}, - "target_location": {"key": "targetLocation", "type": "str"}, - "percentile": {"key": "percentile", "type": "int"}, - "lookback_period_in_days": {"key": "lookbackPeriodInDays", "type": "int"}, - } - - def __init__( - self, - *, - resource_update_mode: Union[str, "_models.ResourceUpdateMode"] = "UpdateAllTargetRecommendationDetails", - include_file_level_requirements: bool = False, - target_location: str = "westus", - percentile: int = 95, - lookback_period_in_days: int = 30, - **kwargs: Any - ) -> None: - """ - :keyword resource_update_mode: Controls whether the SQL Server instance resource is updated - with the target recommendation details after the job completes. Known values are: - "UpdateAllTargetRecommendationDetails" and "SkipResourceUpdate". - :paramtype resource_update_mode: str or ~azure.mgmt.azurearcdata.models.ResourceUpdateMode - :keyword include_file_level_requirements: Specifies whether to include file-level requirements - in the target recommendation report. - :paramtype include_file_level_requirements: bool - :keyword target_location: The Azure region used for target SKU pricing and availability (e.g., - 'westus', 'eastus2', 'westeurope'). - :paramtype target_location: str - :keyword percentile: The percentile of performance data points used for aggregation (Range: - 1-100). - :paramtype percentile: int - :keyword lookback_period_in_days: The lookback period in days for performance data used in the - target recommendation. - :paramtype lookback_period_in_days: int - """ - super().__init__(**kwargs) - self.resource_update_mode = resource_update_mode - self.include_file_level_requirements = include_file_level_requirements - self.target_location = target_location - self.percentile = percentile - self.lookback_period_in_days = lookback_period_in_days - - -class SqlServerInstanceRunTargetRecommendationJobResponse(_serialization.Model): # pylint: disable=name-too-long - """Represents the response of a SQL Server Instance target recommendation job execution. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar job_status: Represents the current status of the target recommendation job. Known values - are: "NotStarted", "InProgress", "Succeeded", and "Failed". - :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - """ - - _validation = { - "job_status": {"readonly": True}, - } - - _attribute_map = { - "job_status": {"key": "jobStatus", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.job_status: Optional[Union[str, "_models.JobStatus"]] = None - - -class SqlServerInstanceTargetRecommendationReport(_serialization.Model): # pylint: disable=name-too-long - """Represents a target recommendation report for a SQL Server instance. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar report_id: The identifier of the target recommendation report. - :vartype report_id: str - :ivar created_time: The UTC timestamp in ISO 8601 format indicating when the target - recommendation report was generated. - :vartype created_time: ~datetime.datetime - :ivar sections: Collection of sections included in the report. - :vartype sections: - list[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSection] - """ - - _validation = { - "report_id": {"readonly": True}, - "created_time": {"readonly": True}, - "sections": {"readonly": True}, - } - - _attribute_map = { - "report_id": {"key": "reportId", "type": "str"}, - "created_time": {"key": "createdTime", "type": "iso-8601"}, - "sections": {"key": "sections", "type": "[SqlServerInstanceTargetRecommendationReportSection]"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.report_id: Optional[str] = None - self.created_time: Optional[datetime.datetime] = None - self.sections: Optional[list["_models.SqlServerInstanceTargetRecommendationReportSection"]] = None - - -class SqlServerInstanceTargetRecommendationReportSection(_serialization.Model): # pylint: disable=name-too-long - """Represents a section within a target recommendation report. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar data: Serialized JSON representation of the section data. If isCompressed is true, the - value contains base64-encoded GZip-compressed JSON. - :vartype data: str - :ivar type: The type of this section. Requirements sections contain source server performance - metrics, while recommendation sections contain suggested Azure target SKUs. Known values are: - "RequirementsPerInstance", "RequirementsPerDatabase", "FileRequirementsPerDatabase", - "SqlVmTargetRecommendationPerInstance", "SqlMiTargetRecommendationPerInstance", and - "SqlDbTargetRecommendationPerDatabase". - :vartype type: str or - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType - :ivar database_name: The name of the database to which this section applies. An empty string - indicates that the section contains instance-level data rather than database-level data. - :vartype database_name: str - :ivar is_compressed: Indicates whether the data field contains base64-encoded GZip-compressed - JSON. - :vartype is_compressed: bool - """ - - _validation = { - "data": {"readonly": True}, - "type": {"readonly": True}, - "database_name": {"readonly": True}, - "is_compressed": {"readonly": True}, - } - - _attribute_map = { - "data": {"key": "data", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "database_name": {"key": "databaseName", "type": "str"}, - "is_compressed": {"key": "isCompressed", "type": "bool"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.data: Optional[str] = None - self.type: Optional[Union[str, "_models.SqlServerInstanceTargetRecommendationReportSectionType"]] = None - self.database_name: Optional[str] = None - self.is_compressed: Optional[bool] = None - - -class SqlServerInstanceTargetRecommendationReportsRequest(_serialization.Model): # pylint: disable=name-too-long - """The request for retrieving SQL Server Instance target recommendation reports. - - :ivar report_offset: Zero-based offset indicating where to continue reading reports in the - overall list of reports. Defaults to 0 if not provided. This value must be used together with - the corresponding sectionOffset to resume pagination. The reportOffset advances only after all - sections of the current report have been retrieved. To retrieve subsequent pages, use the - nextReportOffset and nextSectionOffset values from the previous response. - :vartype report_offset: int - :ivar section_offset: Zero-based offset indicating where to continue reading sections within - the current report. Defaults to 0 if not provided. This value must be used together with the - corresponding reportOffset to resume pagination. To retrieve subsequent pages, use the - nextReportOffset and nextSectionOffset values from the previous response. - :vartype section_offset: int - :ivar section_type: Filters the report to a specific section type. If not specified, all - section types are returned. Section types are grouped into two categories: requirements - sections contain performance and resource metrics collected from the source SQL Server, while - recommendation sections contain suggested Azure target SKUs derived from those requirements. - Known values are: "RequirementsPerInstance", "RequirementsPerDatabase", - "FileRequirementsPerDatabase", "SqlVmTargetRecommendationPerInstance", - "SqlMiTargetRecommendationPerInstance", and "SqlDbTargetRecommendationPerDatabase". - :vartype section_type: str or - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType - :ivar database_names: The list of database names to filter the report sections by. If not - specified, sections for all databases are returned. - :vartype database_names: list[str] - """ - - _validation = { - "report_offset": {"minimum": 0}, - "section_offset": {"minimum": 0}, - } - - _attribute_map = { - "report_offset": {"key": "reportOffset", "type": "int"}, - "section_offset": {"key": "sectionOffset", "type": "int"}, - "section_type": {"key": "sectionType", "type": "str"}, - "database_names": {"key": "databaseNames", "type": "[str]"}, - } - - def __init__( - self, - *, - report_offset: Optional[int] = None, - section_offset: Optional[int] = None, - section_type: Optional[Union[str, "_models.SqlServerInstanceTargetRecommendationReportSectionType"]] = None, - database_names: Optional[list[str]] = None, - **kwargs: Any - ) -> None: - """ - :keyword report_offset: Zero-based offset indicating where to continue reading reports in the - overall list of reports. Defaults to 0 if not provided. This value must be used together with - the corresponding sectionOffset to resume pagination. The reportOffset advances only after all - sections of the current report have been retrieved. To retrieve subsequent pages, use the - nextReportOffset and nextSectionOffset values from the previous response. - :paramtype report_offset: int - :keyword section_offset: Zero-based offset indicating where to continue reading sections within - the current report. Defaults to 0 if not provided. This value must be used together with the - corresponding reportOffset to resume pagination. To retrieve subsequent pages, use the - nextReportOffset and nextSectionOffset values from the previous response. - :paramtype section_offset: int - :keyword section_type: Filters the report to a specific section type. If not specified, all - section types are returned. Section types are grouped into two categories: requirements - sections contain performance and resource metrics collected from the source SQL Server, while - recommendation sections contain suggested Azure target SKUs derived from those requirements. - Known values are: "RequirementsPerInstance", "RequirementsPerDatabase", - "FileRequirementsPerDatabase", "SqlVmTargetRecommendationPerInstance", - "SqlMiTargetRecommendationPerInstance", and "SqlDbTargetRecommendationPerDatabase". - :paramtype section_type: str or - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportSectionType - :keyword database_names: The list of database names to filter the report sections by. If not - specified, sections for all databases are returned. - :paramtype database_names: list[str] - """ - super().__init__(**kwargs) - self.report_offset = report_offset - self.section_offset = section_offset - self.section_type = section_type - self.database_names = database_names - - -class SqlServerInstanceTargetRecommendationReportsResponse(_serialization.Model): # pylint: disable=name-too-long - """Represents the response containing SQL Server Instance target recommendation reports. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar job_status: Represents the status of the latest target recommendation job. Report records - are returned only when the job status is Succeeded. Known values are: "NotStarted", - "InProgress", "Succeeded", and "Failed". - :vartype job_status: str or ~azure.mgmt.azurearcdata.models.JobStatus - :ivar reports: A collection of target recommendation reports. Returned only when the job status - is Succeeded. - :vartype reports: - list[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReport] - :ivar total_report_count: The total number of target recommendation reports available for - retrieval. Currently, only the latest report is returned, so this value is always 1. - :vartype total_report_count: int - :ivar next_report_offset: The report offset to use in the next request along with - nextSectionOffset to continue retrieving data. This value remains the same until all sections - of the current report have been retrieved. Present only when there is more data to retrieve. - When both nextReportOffset and nextSectionOffset are absent, all data has been returned. - :vartype next_report_offset: int - :ivar next_section_offset: The section offset to use in the next request along with - nextReportOffset to continue retrieving sections of the current report. Present only when there - is more data to retrieve. When both nextReportOffset and nextSectionOffset are absent, all data - has been returned. - :vartype next_section_offset: int - """ - - _validation = { - "job_status": {"readonly": True}, - "reports": {"readonly": True}, - "total_report_count": {"readonly": True}, - "next_report_offset": {"readonly": True}, - "next_section_offset": {"readonly": True}, - } - - _attribute_map = { - "job_status": {"key": "jobStatus", "type": "str"}, - "reports": {"key": "reports", "type": "[SqlServerInstanceTargetRecommendationReport]"}, - "total_report_count": {"key": "totalReportCount", "type": "int"}, - "next_report_offset": {"key": "nextReportOffset", "type": "int"}, - "next_section_offset": {"key": "nextSectionOffset", "type": "int"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.job_status: Optional[Union[str, "_models.JobStatus"]] = None - self.reports: Optional[list["_models.SqlServerInstanceTargetRecommendationReport"]] = None - self.total_report_count: Optional[int] = None - self.next_report_offset: Optional[int] = None - self.next_section_offset: Optional[int] = None - - -class SqlServerInstanceTelemetryColumn(_serialization.Model): - """The telemetry column for the SQL Server instance. - - :ivar name: The name of the telemetry column. - :vartype name: str - :ivar type: The type of the telemetry column. Known values are: "bool", "datetime", "int", - "long", "double", "string", "guid", and "timespan". - :vartype type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumnType - """ - - _attribute_map = { - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - type: Optional[Union[str, "_models.SqlServerInstanceTelemetryColumnType"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword name: The name of the telemetry column. - :paramtype name: str - :keyword type: The type of the telemetry column. Known values are: "bool", "datetime", "int", - "long", "double", "string", "guid", and "timespan". - :paramtype type: str or ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumnType - """ - super().__init__(**kwargs) - self.name = name - self.type = type - - -class SqlServerInstanceTelemetryRequest(_serialization.Model): - """The Arc SQL Server instance telemetry retrieval request. - - All required parameters must be populated in order to send to server. - - :ivar dataset_name: The name of the telemetry dataset to retrieve. Required. - :vartype dataset_name: str - :ivar start_time: The start time for the time range to fetch telemetry for. If not specified, - the current time minus 1 hour is used. - :vartype start_time: ~datetime.datetime - :ivar end_time: The end time for the time range to fetch telemetry for. If not specified, the - current time is used. - :vartype end_time: ~datetime.datetime - :ivar interval: The time granularity to fetch telemetry for. This is an ISO8601 duration. - Examples: PT15M, PT1H, P1D. - :vartype interval: ~datetime.timedelta - :ivar aggregation_type: The aggregation type to use for the numerical columns in the dataset. - Known values are: "Average", "Minimum", "Maximum", "Sum", and "Count". - :vartype aggregation_type: str or ~azure.mgmt.azurearcdata.models.AggregationType - :ivar database_names: The list of database names to return telemetry for. If not specified, - telemetry for all databases will be aggregated and returned. - :vartype database_names: list[str] - """ - - _validation = { - "dataset_name": {"required": True}, - } - - _attribute_map = { - "dataset_name": {"key": "datasetName", "type": "str"}, - "start_time": {"key": "startTime", "type": "iso-8601"}, - "end_time": {"key": "endTime", "type": "iso-8601"}, - "interval": {"key": "interval", "type": "duration"}, - "aggregation_type": {"key": "aggregationType", "type": "str"}, - "database_names": {"key": "databaseNames", "type": "[str]"}, - } - - def __init__( - self, - *, - dataset_name: str, - start_time: Optional[datetime.datetime] = None, - end_time: Optional[datetime.datetime] = None, - interval: datetime.timedelta = "PT1H", - aggregation_type: Union[str, "_models.AggregationType"] = "Average", - database_names: Optional[list[str]] = None, - **kwargs: Any - ) -> None: - """ - :keyword dataset_name: The name of the telemetry dataset to retrieve. Required. - :paramtype dataset_name: str - :keyword start_time: The start time for the time range to fetch telemetry for. If not - specified, the current time minus 1 hour is used. - :paramtype start_time: ~datetime.datetime - :keyword end_time: The end time for the time range to fetch telemetry for. If not specified, - the current time is used. - :paramtype end_time: ~datetime.datetime - :keyword interval: The time granularity to fetch telemetry for. This is an ISO8601 duration. - Examples: PT15M, PT1H, P1D. - :paramtype interval: ~datetime.timedelta - :keyword aggregation_type: The aggregation type to use for the numerical columns in the - dataset. Known values are: "Average", "Minimum", "Maximum", "Sum", and "Count". - :paramtype aggregation_type: str or ~azure.mgmt.azurearcdata.models.AggregationType - :keyword database_names: The list of database names to return telemetry for. If not specified, - telemetry for all databases will be aggregated and returned. - :paramtype database_names: list[str] - """ - super().__init__(**kwargs) - self.dataset_name = dataset_name - self.start_time = start_time - self.end_time = end_time - self.interval = interval - self.aggregation_type = aggregation_type - self.database_names = database_names - - -class SqlServerInstanceTelemetryResponse(_serialization.Model): - """A section of the telemetry response for the SQL Server instance. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar columns: The columns of the result telemetry table for the SQL Server instance. Required. - :vartype columns: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumn] - :ivar rows: A list of rows from the result telemetry table for the SQL Server instance. - Required. - :vartype rows: list[list[str]] - :ivar next_link: The link to the next section of rows of the telemetry response for the SQL - Server instance. Null if no more sections are available. - :vartype next_link: str - """ - - _validation = { - "columns": {"required": True}, - "rows": {"required": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "columns": {"key": "columns", "type": "[SqlServerInstanceTelemetryColumn]"}, - "rows": {"key": "rows", "type": "[[str]]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__( - self, *, columns: list["_models.SqlServerInstanceTelemetryColumn"], rows: list[list[str]], **kwargs: Any - ) -> None: - """ - :keyword columns: The columns of the result telemetry table for the SQL Server instance. - Required. - :paramtype columns: list[~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryColumn] - :keyword rows: A list of rows from the result telemetry table for the SQL Server instance. - Required. - :paramtype rows: list[list[str]] - """ - super().__init__(**kwargs) - self.columns = columns - self.rows = rows - self.next_link: Optional[str] = None - - -class SqlServerInstanceUpdate(_serialization.Model): - """An update to a SQL Server Instance. - - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar properties: null. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdateProperties - """ - - _attribute_map = { - "tags": {"key": "tags", "type": "{str}"}, - "properties": {"key": "properties", "type": "SqlServerInstanceUpdateProperties"}, - } - - def __init__( - self, - *, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.SqlServerInstanceUpdateProperties"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword properties: null. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdateProperties - """ - super().__init__(**kwargs) - self.tags = tags - self.properties = properties - - -class SqlServerInstanceUpdateProperties(_serialization.Model): - """Properties of update SqlServerInstance. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar version: SQL Server version. Known values are: "Unknown", "SQL Server 2012", "SQL Server - 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and "SQL - Server 2025". - :vartype version: str or ~azure.mgmt.azurearcdata.models.SqlVersion - :ivar edition: SQL Server edition. Known values are: "Evaluation", "Enterprise", "Standard", - "Web", "Developer", "Express", "Business Intelligence", "Standard Developer", and "Unknown". - :vartype edition: str or ~azure.mgmt.azurearcdata.models.EditionType - :ivar container_resource_id: ARM Resource id of the container resource (Azure Arc for Servers). - :vartype container_resource_id: str - :ivar vm_id: The unique ID of the hybrid machine that this resource belongs to. - :vartype vm_id: str - :ivar create_time: The time when the resource was created. - :vartype create_time: str - :ivar v_core: The number of logical processors used by the SQL Server instance. - :vartype v_core: str - :ivar cores: The number of total cores of the Operating System Environment (OSE) hosting the - SQL Server instance. - :vartype cores: str - :ivar status: The cloud connectivity status. Known values are: "Connected", "Disconnected", - "Registered", "Discovered", and "Unknown". - :vartype status: str or ~azure.mgmt.azurearcdata.models.ConnectionStatus - :ivar discovery_source: Indicates the discovery agent or client for this instance. Default is - Azure Arc. Known values are: "Azure Arc", "Azure Migrate", "ADS", "SSMS", "SSMA", "Import", - "DMS-Portal", "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". - :vartype discovery_source: str or ~azure.mgmt.azurearcdata.models.DiscoverySource - :ivar patch_level: SQL Server update level. - :vartype patch_level: str - :ivar collation: SQL Server collation. - :vartype collation: str - :ivar db_master_key_exists: Indicates whether database master key exists in SQL Server. - :vartype db_master_key_exists: bool - :ivar is_hadr_enabled: Indicates whether always On availability groups is enabled in SQL - Server. - :vartype is_hadr_enabled: bool - :ivar trace_flags: An array of integers, where each value represents the enabled trace flags in - SQL Server. - :vartype trace_flags: list[int] - :ivar current_version: SQL Server current version. - :vartype current_version: str - :ivar instance_name: SQL Server instance name. - :vartype instance_name: str - :ivar tcp_dynamic_ports: Dynamic TCP ports used by SQL Server. - :vartype tcp_dynamic_ports: str - :ivar tcp_static_ports: Static TCP ports used by SQL Server. - :vartype tcp_static_ports: str - :ivar product_id: SQL Server product ID. - :vartype product_id: str - :ivar license_type: SQL Server license type. Known values are: "Undefined", "Free", "HADR", - "ServerCAL", "LicenseOnly", "PAYG", "Paid", and "FabricCapacity". - :vartype license_type: str or ~azure.mgmt.azurearcdata.models.ArcSqlServerLicenseType - :ivar azure_defender_status_last_updated: Timestamp of last Azure Defender status update. - :vartype azure_defender_status_last_updated: ~datetime.datetime - :ivar azure_defender_status: Status of Azure Defender. Known values are: "Protected", - "Unprotected", and "Unknown". - :vartype azure_defender_status: str or ~azure.mgmt.azurearcdata.models.DefenderStatus - :ivar provisioning_state: The provisioning state of the Arc-enabled SQL Server resource. - :vartype provisioning_state: str - :ivar last_inventory_upload_time: The time when last successful inventory upload was performed. - :vartype last_inventory_upload_time: ~datetime.datetime - :ivar last_usage_upload_time: The time when last successful usage upload was performed. - :vartype last_usage_upload_time: ~datetime.datetime - :ivar host_type: Type of host for Azure Arc SQL Server. Known values are: "Azure Virtual - Machine", "Azure VMWare Virtual Machine", "Azure Kubernetes Service", "AWS VMWare Virtual - Machine", "AWS Kubernetes Service", "GCP VMWare Virtual Machine", "GCP Kubernetes Service", - "Container", "Virtual Machine", "Physical Server", "AWS Virtual Machine", "GCP Virtual - Machine", "Hyper-V Virtual Machine", and "Other". - :vartype host_type: str or ~azure.mgmt.azurearcdata.models.HostType - :ivar always_on_role: The role of the SQL Server, based on availability. Known values are: - "None", "FailoverClusterInstance", "FailoverClusterNode", and "AvailabilityGroupReplica". - :vartype always_on_role: str or ~azure.mgmt.azurearcdata.models.AlwaysOnRole - :ivar failover_cluster: Failover Cluster Instance properties. - :vartype failover_cluster: ~azure.mgmt.azurearcdata.models.FailoverCluster - :ivar backup_policy: The backup profile for the SQL server. - :vartype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy - :ivar upgrade_locked_until: Upgrade Action for this resource is locked until it expires. The - Expiration time indicated by this value. It is not locked when it is empty. - :vartype upgrade_locked_until: ~datetime.datetime - :ivar monitoring: The monitoring configuration. - :vartype monitoring: ~azure.mgmt.azurearcdata.models.Monitoring - :ivar migration: Migration related configuration. - :vartype migration: ~azure.mgmt.azurearcdata.models.Migration - :ivar best_practices_assessment: The configuration related to SQL best practices assessment. - :vartype best_practices_assessment: ~azure.mgmt.azurearcdata.models.BestPracticesAssessment - :ivar client_connection: Client connection related configuration. - :vartype client_connection: ~azure.mgmt.azurearcdata.models.ClientConnection - :ivar service_type: Indicates if the resource represents a SQL Server engine or a SQL Server - component service installed on the host. Known values are: "Engine", "SSRS", "SSAS", "SSIS", - and "PBIRS". - :vartype service_type: str or ~azure.mgmt.azurearcdata.models.ServiceType - :ivar authentication: Authentication related configuration for the SQL Server Instance. - :vartype authentication: ~azure.mgmt.azurearcdata.models.Authentication - :ivar database_mirroring_endpoint: Database mirroring endpoint related properties. - :vartype database_mirroring_endpoint: ~azure.mgmt.azurearcdata.models.DBMEndpoint - :ivar is_microsoft_pki_cert_trust_configured: Indicates whether Microsoft PKI root-authority - certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net - domains. - :vartype is_microsoft_pki_cert_trust_configured: bool - :ivar is_digi_cert_pki_cert_trust_configured: Indicates whether DigiCert PKI root-authority - certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net - domains. - :vartype is_digi_cert_pki_cert_trust_configured: bool - :ivar max_server_memory_mb: maximum server memory (MB) value configured for this instance. - :vartype max_server_memory_mb: int - """ - - _validation = { - "container_resource_id": {"readonly": True}, - "vm_id": {"readonly": True}, - "create_time": {"readonly": True}, - "v_core": {"readonly": True}, - "status": {"readonly": True}, - "patch_level": {"readonly": True}, - "collation": {"readonly": True}, - "db_master_key_exists": {"readonly": True}, - "is_hadr_enabled": {"readonly": True}, - "trace_flags": {"readonly": True}, - "current_version": {"readonly": True}, - "tcp_dynamic_ports": {"readonly": True}, - "tcp_static_ports": {"readonly": True}, - "product_id": {"readonly": True}, - "license_type": {"readonly": True}, - "azure_defender_status_last_updated": {"readonly": True}, - "azure_defender_status": {"readonly": True}, - "provisioning_state": {"readonly": True}, - "last_inventory_upload_time": {"readonly": True}, - "last_usage_upload_time": {"readonly": True}, - "always_on_role": {"readonly": True}, - } - - _attribute_map = { - "version": {"key": "version", "type": "str"}, - "edition": {"key": "edition", "type": "str"}, - "container_resource_id": {"key": "containerResourceId", "type": "str"}, - "vm_id": {"key": "vmId", "type": "str"}, - "create_time": {"key": "createTime", "type": "str"}, - "v_core": {"key": "vCore", "type": "str"}, - "cores": {"key": "cores", "type": "str"}, - "status": {"key": "status", "type": "str"}, - "discovery_source": {"key": "discoverySource", "type": "str"}, - "patch_level": {"key": "patchLevel", "type": "str"}, - "collation": {"key": "collation", "type": "str"}, - "db_master_key_exists": {"key": "dbMasterKeyExists", "type": "bool"}, - "is_hadr_enabled": {"key": "isHadrEnabled", "type": "bool"}, - "trace_flags": {"key": "traceFlags", "type": "[int]"}, - "current_version": {"key": "currentVersion", "type": "str"}, - "instance_name": {"key": "instanceName", "type": "str"}, - "tcp_dynamic_ports": {"key": "tcpDynamicPorts", "type": "str"}, - "tcp_static_ports": {"key": "tcpStaticPorts", "type": "str"}, - "product_id": {"key": "productId", "type": "str"}, - "license_type": {"key": "licenseType", "type": "str"}, - "azure_defender_status_last_updated": {"key": "azureDefenderStatusLastUpdated", "type": "iso-8601"}, - "azure_defender_status": {"key": "azureDefenderStatus", "type": "str"}, - "provisioning_state": {"key": "provisioningState", "type": "str"}, - "last_inventory_upload_time": {"key": "lastInventoryUploadTime", "type": "iso-8601"}, - "last_usage_upload_time": {"key": "lastUsageUploadTime", "type": "iso-8601"}, - "host_type": {"key": "hostType", "type": "str"}, - "always_on_role": {"key": "alwaysOnRole", "type": "str"}, - "failover_cluster": {"key": "failoverCluster", "type": "FailoverCluster"}, - "backup_policy": {"key": "backupPolicy", "type": "BackupPolicy"}, - "upgrade_locked_until": {"key": "upgradeLockedUntil", "type": "iso-8601"}, - "monitoring": {"key": "monitoring", "type": "Monitoring"}, - "migration": {"key": "migration", "type": "Migration"}, - "best_practices_assessment": {"key": "bestPracticesAssessment", "type": "BestPracticesAssessment"}, - "client_connection": {"key": "clientConnection", "type": "ClientConnection"}, - "service_type": {"key": "serviceType", "type": "str"}, - "authentication": {"key": "authentication", "type": "Authentication"}, - "database_mirroring_endpoint": {"key": "databaseMirroringEndpoint", "type": "DBMEndpoint"}, - "is_microsoft_pki_cert_trust_configured": {"key": "isMicrosoftPkiCertTrustConfigured", "type": "bool"}, - "is_digi_cert_pki_cert_trust_configured": {"key": "isDigiCertPkiCertTrustConfigured", "type": "bool"}, - "max_server_memory_mb": {"key": "maxServerMemoryMB", "type": "int"}, - } - - def __init__( # pylint: disable=too-many-locals - self, - *, - version: Optional[Union[str, "_models.SqlVersion"]] = None, - edition: Optional[Union[str, "_models.EditionType"]] = None, - cores: Optional[str] = None, - discovery_source: Optional[Union[str, "_models.DiscoverySource"]] = None, - instance_name: Optional[str] = None, - host_type: Optional[Union[str, "_models.HostType"]] = None, - failover_cluster: Optional["_models.FailoverCluster"] = None, - backup_policy: Optional["_models.BackupPolicy"] = None, - upgrade_locked_until: Optional[datetime.datetime] = None, - monitoring: Optional["_models.Monitoring"] = None, - migration: Optional["_models.Migration"] = None, - best_practices_assessment: Optional["_models.BestPracticesAssessment"] = None, - client_connection: Optional["_models.ClientConnection"] = None, - service_type: Optional[Union[str, "_models.ServiceType"]] = None, - authentication: Optional["_models.Authentication"] = None, - database_mirroring_endpoint: Optional["_models.DBMEndpoint"] = None, - is_microsoft_pki_cert_trust_configured: Optional[bool] = None, - is_digi_cert_pki_cert_trust_configured: Optional[bool] = None, - max_server_memory_mb: Optional[int] = None, - **kwargs: Any - ) -> None: - """ - :keyword version: SQL Server version. Known values are: "Unknown", "SQL Server 2012", "SQL - Server 2014", "SQL Server 2016", "SQL Server 2017", "SQL Server 2019", "SQL Server 2022", and - "SQL Server 2025". - :paramtype version: str or ~azure.mgmt.azurearcdata.models.SqlVersion - :keyword edition: SQL Server edition. Known values are: "Evaluation", "Enterprise", "Standard", - "Web", "Developer", "Express", "Business Intelligence", "Standard Developer", and "Unknown". - :paramtype edition: str or ~azure.mgmt.azurearcdata.models.EditionType - :keyword cores: The number of total cores of the Operating System Environment (OSE) hosting the - SQL Server instance. - :paramtype cores: str - :keyword discovery_source: Indicates the discovery agent or client for this instance. Default - is Azure Arc. Known values are: "Azure Arc", "Azure Migrate", "ADS", "SSMS", "SSMA", "Import", - "DMS-Portal", "DMS-PS", "DMS-CLI", "DMS-SDK", and "Other". - :paramtype discovery_source: str or ~azure.mgmt.azurearcdata.models.DiscoverySource - :keyword instance_name: SQL Server instance name. - :paramtype instance_name: str - :keyword host_type: Type of host for Azure Arc SQL Server. Known values are: "Azure Virtual - Machine", "Azure VMWare Virtual Machine", "Azure Kubernetes Service", "AWS VMWare Virtual - Machine", "AWS Kubernetes Service", "GCP VMWare Virtual Machine", "GCP Kubernetes Service", - "Container", "Virtual Machine", "Physical Server", "AWS Virtual Machine", "GCP Virtual - Machine", "Hyper-V Virtual Machine", and "Other". - :paramtype host_type: str or ~azure.mgmt.azurearcdata.models.HostType - :keyword failover_cluster: Failover Cluster Instance properties. - :paramtype failover_cluster: ~azure.mgmt.azurearcdata.models.FailoverCluster - :keyword backup_policy: The backup profile for the SQL server. - :paramtype backup_policy: ~azure.mgmt.azurearcdata.models.BackupPolicy - :keyword upgrade_locked_until: Upgrade Action for this resource is locked until it expires. The - Expiration time indicated by this value. It is not locked when it is empty. - :paramtype upgrade_locked_until: ~datetime.datetime - :keyword monitoring: The monitoring configuration. - :paramtype monitoring: ~azure.mgmt.azurearcdata.models.Monitoring - :keyword migration: Migration related configuration. - :paramtype migration: ~azure.mgmt.azurearcdata.models.Migration - :keyword best_practices_assessment: The configuration related to SQL best practices assessment. - :paramtype best_practices_assessment: ~azure.mgmt.azurearcdata.models.BestPracticesAssessment - :keyword client_connection: Client connection related configuration. - :paramtype client_connection: ~azure.mgmt.azurearcdata.models.ClientConnection - :keyword service_type: Indicates if the resource represents a SQL Server engine or a SQL Server - component service installed on the host. Known values are: "Engine", "SSRS", "SSAS", "SSIS", - and "PBIRS". - :paramtype service_type: str or ~azure.mgmt.azurearcdata.models.ServiceType - :keyword authentication: Authentication related configuration for the SQL Server Instance. - :paramtype authentication: ~azure.mgmt.azurearcdata.models.Authentication - :keyword database_mirroring_endpoint: Database mirroring endpoint related properties. - :paramtype database_mirroring_endpoint: ~azure.mgmt.azurearcdata.models.DBMEndpoint - :keyword is_microsoft_pki_cert_trust_configured: Indicates whether Microsoft PKI root-authority - certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net - domains. - :paramtype is_microsoft_pki_cert_trust_configured: bool - :keyword is_digi_cert_pki_cert_trust_configured: Indicates whether DigiCert PKI root-authority - certificate (trusted by Azure) exists in SQL Server and trusted for Azure database.windows.net - domains. - :paramtype is_digi_cert_pki_cert_trust_configured: bool - :keyword max_server_memory_mb: maximum server memory (MB) value configured for this instance. - :paramtype max_server_memory_mb: int - """ - super().__init__(**kwargs) - self.version = version - self.edition = edition - self.container_resource_id: Optional[str] = None - self.vm_id: Optional[str] = None - self.create_time: Optional[str] = None - self.v_core: Optional[str] = None - self.cores = cores - self.status: Optional[Union[str, "_models.ConnectionStatus"]] = None - self.discovery_source = discovery_source - self.patch_level: Optional[str] = None - self.collation: Optional[str] = None - self.db_master_key_exists: Optional[bool] = None - self.is_hadr_enabled: Optional[bool] = None - self.trace_flags: Optional[list[int]] = None - self.current_version: Optional[str] = None - self.instance_name = instance_name - self.tcp_dynamic_ports: Optional[str] = None - self.tcp_static_ports: Optional[str] = None - self.product_id: Optional[str] = None - self.license_type: Optional[Union[str, "_models.ArcSqlServerLicenseType"]] = None - self.azure_defender_status_last_updated: Optional[datetime.datetime] = None - self.azure_defender_status: Optional[Union[str, "_models.DefenderStatus"]] = None - self.provisioning_state: Optional[str] = None - self.last_inventory_upload_time: Optional[datetime.datetime] = None - self.last_usage_upload_time: Optional[datetime.datetime] = None - self.host_type = host_type - self.always_on_role: Optional[Union[str, "_models.AlwaysOnRole"]] = None - self.failover_cluster = failover_cluster - self.backup_policy = backup_policy - self.upgrade_locked_until = upgrade_locked_until - self.monitoring = monitoring - self.migration = migration - self.best_practices_assessment = best_practices_assessment - self.client_connection = client_connection - self.service_type = service_type - self.authentication = authentication - self.database_mirroring_endpoint = database_mirroring_endpoint - self.is_microsoft_pki_cert_trust_configured = is_microsoft_pki_cert_trust_configured - self.is_digi_cert_pki_cert_trust_configured = is_digi_cert_pki_cert_trust_configured - self.max_server_memory_mb = max_server_memory_mb - - -class SqlServerLicense(TrackedResource): - """Describe SQL Server license resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.azurearcdata.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: SQL Server license properties. Required. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerLicenseProperties - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - "location": {"required": True}, - "properties": {"required": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - "tags": {"key": "tags", "type": "{str}"}, - "location": {"key": "location", "type": "str"}, - "properties": {"key": "properties", "type": "SqlServerLicenseProperties"}, - } - - def __init__( - self, - *, - location: str, - properties: "_models.SqlServerLicenseProperties", - tags: Optional[dict[str, str]] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword location: The geo-location where the resource lives. Required. - :paramtype location: str - :keyword properties: SQL Server license properties. Required. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerLicenseProperties - """ - super().__init__(tags=tags, location=location, **kwargs) - self.properties = properties - - -class SqlServerLicenseListResult(_serialization.Model): - """A list of SQL Server licenses. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Array of results. - :vartype value: list[~azure.mgmt.azurearcdata.models.SqlServerLicense] - :ivar next_link: Link to retrieve next page of results. - :vartype next_link: str - """ - - _validation = { - "value": {"readonly": True}, - "next_link": {"readonly": True}, - } - - _attribute_map = { - "value": {"key": "value", "type": "[SqlServerLicense]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - self.value: Optional[list["_models.SqlServerLicense"]] = None - self.next_link: Optional[str] = None - - -class SqlServerLicenseProperties(_serialization.Model): - """Properties of SQL Server License. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to server. - - :ivar billing_plan: SQL Server license type. Required. Known values are: "PAYG" and "Paid". - :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan - :ivar physical_cores: The number of total cores of the license covers. Required. - :vartype physical_cores: int - :ivar license_category: This property represents the choice between SQL Server Core and ESU - licenses. Required. "Core" - :vartype license_category: str or ~azure.mgmt.azurearcdata.models.LicenseCategory - :ivar activation_state: The activation state of the license. Required. Known values are: - "Activated" and "Deactivated". - :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.ActivationState - :ivar scope_type: The Azure scope to which the license will apply. Required. Known values are: - "Tenant", "Subscription", and "ResourceGroup". - :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType - :ivar last_activated_at: The timestamp of the most recent activation of the SqlServerLicense. - :vartype last_activated_at: ~datetime.datetime - :ivar last_deactivated_at: The timestamp of the most recent deactivation of the - SqlServerLicense. - :vartype last_deactivated_at: ~datetime.datetime - :ivar tenant_id: The tenantId the SQL Server license resource subscription resides in. - :vartype tenant_id: str - """ - - _validation = { - "billing_plan": {"required": True}, - "physical_cores": {"required": True, "minimum": 16, "multiple": 2}, - "license_category": {"required": True}, - "activation_state": {"required": True}, - "scope_type": {"required": True}, - "last_activated_at": {"readonly": True}, - "last_deactivated_at": {"readonly": True}, - "tenant_id": {"readonly": True}, - } - - _attribute_map = { - "billing_plan": {"key": "billingPlan", "type": "str"}, - "physical_cores": {"key": "physicalCores", "type": "int"}, - "license_category": {"key": "licenseCategory", "type": "str"}, - "activation_state": {"key": "activationState", "type": "str"}, - "scope_type": {"key": "scopeType", "type": "str"}, - "last_activated_at": {"key": "lastActivatedAt", "type": "iso-8601"}, - "last_deactivated_at": {"key": "lastDeactivatedAt", "type": "iso-8601"}, - "tenant_id": {"key": "tenantId", "type": "str"}, - } - - def __init__( - self, - *, - billing_plan: Union[str, "_models.BillingPlan"], - physical_cores: int, - license_category: Union[str, "_models.LicenseCategory"], - activation_state: Union[str, "_models.ActivationState"], - scope_type: Union[str, "_models.ScopeType"], - **kwargs: Any - ) -> None: - """ - :keyword billing_plan: SQL Server license type. Required. Known values are: "PAYG" and "Paid". - :paramtype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan - :keyword physical_cores: The number of total cores of the license covers. Required. - :paramtype physical_cores: int - :keyword license_category: This property represents the choice between SQL Server Core and ESU - licenses. Required. "Core" - :paramtype license_category: str or ~azure.mgmt.azurearcdata.models.LicenseCategory - :keyword activation_state: The activation state of the license. Required. Known values are: - "Activated" and "Deactivated". - :paramtype activation_state: str or ~azure.mgmt.azurearcdata.models.ActivationState - :keyword scope_type: The Azure scope to which the license will apply. Required. Known values - are: "Tenant", "Subscription", and "ResourceGroup". - :paramtype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType - """ - super().__init__(**kwargs) - self.billing_plan = billing_plan - self.physical_cores = physical_cores - self.license_category = license_category - self.activation_state = activation_state - self.scope_type = scope_type - self.last_activated_at: Optional[datetime.datetime] = None - self.last_deactivated_at: Optional[datetime.datetime] = None - self.tenant_id: Optional[str] = None - - -class SqlServerLicenseUpdate(_serialization.Model): - """An update to a SQL Server license resource. - - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar properties: null. - :vartype properties: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdateProperties - """ - - _attribute_map = { - "tags": {"key": "tags", "type": "{str}"}, - "properties": {"key": "properties", "type": "SqlServerLicenseUpdateProperties"}, - } - - def __init__( - self, - *, - tags: Optional[dict[str, str]] = None, - properties: Optional["_models.SqlServerLicenseUpdateProperties"] = None, - **kwargs: Any - ) -> None: - """ - :keyword tags: Resource tags. - :paramtype tags: dict[str, str] - :keyword properties: null. - :paramtype properties: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdateProperties - """ - super().__init__(**kwargs) - self.tags = tags - self.properties = properties - - -class SqlServerLicenseUpdateProperties(_serialization.Model): - """Properties of update SqlServerLicense. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar billing_plan: SQL Server license type. Known values are: "PAYG" and "Paid". - :vartype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan - :ivar physical_cores: The number of total cores of the license covers. - :vartype physical_cores: int - :ivar license_category: This property represents the choice between SQL Server Core and ESU - licenses. "Core" - :vartype license_category: str or ~azure.mgmt.azurearcdata.models.LicenseCategory - :ivar activation_state: The activation state of the license. Known values are: "Activated" and - "Deactivated". - :vartype activation_state: str or ~azure.mgmt.azurearcdata.models.ActivationState - :ivar scope_type: The Azure scope to which the license will apply. Known values are: "Tenant", - "Subscription", and "ResourceGroup". - :vartype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType - :ivar last_activated_at: The timestamp of the most recent activation of the SqlServerLicense. - :vartype last_activated_at: ~datetime.datetime - :ivar last_deactivated_at: The timestamp of the most recent deactivation of the - SqlServerLicense. - :vartype last_deactivated_at: ~datetime.datetime - :ivar tenant_id: The tenantId the SQL Server license resource subscription resides in. - :vartype tenant_id: str - """ - - _validation = { - "physical_cores": {"minimum": 16, "multiple": 2}, - "last_activated_at": {"readonly": True}, - "last_deactivated_at": {"readonly": True}, - "tenant_id": {"readonly": True}, - } - - _attribute_map = { - "billing_plan": {"key": "billingPlan", "type": "str"}, - "physical_cores": {"key": "physicalCores", "type": "int"}, - "license_category": {"key": "licenseCategory", "type": "str"}, - "activation_state": {"key": "activationState", "type": "str"}, - "scope_type": {"key": "scopeType", "type": "str"}, - "last_activated_at": {"key": "lastActivatedAt", "type": "iso-8601"}, - "last_deactivated_at": {"key": "lastDeactivatedAt", "type": "iso-8601"}, - "tenant_id": {"key": "tenantId", "type": "str"}, - } - - def __init__( - self, - *, - billing_plan: Optional[Union[str, "_models.BillingPlan"]] = None, - physical_cores: Optional[int] = None, - license_category: Optional[Union[str, "_models.LicenseCategory"]] = None, - activation_state: Optional[Union[str, "_models.ActivationState"]] = None, - scope_type: Optional[Union[str, "_models.ScopeType"]] = None, - **kwargs: Any - ) -> None: - """ - :keyword billing_plan: SQL Server license type. Known values are: "PAYG" and "Paid". - :paramtype billing_plan: str or ~azure.mgmt.azurearcdata.models.BillingPlan - :keyword physical_cores: The number of total cores of the license covers. - :paramtype physical_cores: int - :keyword license_category: This property represents the choice between SQL Server Core and ESU - licenses. "Core" - :paramtype license_category: str or ~azure.mgmt.azurearcdata.models.LicenseCategory - :keyword activation_state: The activation state of the license. Known values are: "Activated" - and "Deactivated". - :paramtype activation_state: str or ~azure.mgmt.azurearcdata.models.ActivationState - :keyword scope_type: The Azure scope to which the license will apply. Known values are: - "Tenant", "Subscription", and "ResourceGroup". - :paramtype scope_type: str or ~azure.mgmt.azurearcdata.models.ScopeType - """ - super().__init__(**kwargs) - self.billing_plan = billing_plan - self.physical_cores = physical_cores - self.license_category = license_category - self.activation_state = activation_state - self.scope_type = scope_type - self.last_activated_at: Optional[datetime.datetime] = None - self.last_deactivated_at: Optional[datetime.datetime] = None - self.tenant_id: Optional[str] = None - - -class SystemData(_serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :ivar created_by: The identity that created the resource. - :vartype created_by: str - :ivar created_by_type: The type of identity that created the resource. Known values are: - "User", "Application", "ManagedIdentity", and "Key". - :vartype created_by_type: str or ~azure.mgmt.azurearcdata.models.CreatedByType - :ivar created_at: The timestamp of resource creation (UTC). - :vartype created_at: ~datetime.datetime - :ivar last_modified_by: The identity that last modified the resource. - :vartype last_modified_by: str - :ivar last_modified_by_type: The type of identity that last modified the resource. Known values - are: "User", "Application", "ManagedIdentity", and "Key". - :vartype last_modified_by_type: str or ~azure.mgmt.azurearcdata.models.CreatedByType - :ivar last_modified_at: The timestamp of resource last modification (UTC). - :vartype last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - "created_by": {"key": "createdBy", "type": "str"}, - "created_by_type": {"key": "createdByType", "type": "str"}, - "created_at": {"key": "createdAt", "type": "iso-8601"}, - "last_modified_by": {"key": "lastModifiedBy", "type": "str"}, - "last_modified_by_type": {"key": "lastModifiedByType", "type": "str"}, - "last_modified_at": {"key": "lastModifiedAt", "type": "iso-8601"}, - } - - def __init__( - self, - *, - created_by: Optional[str] = None, - created_by_type: Optional[Union[str, "_models.CreatedByType"]] = None, - created_at: Optional[datetime.datetime] = None, - last_modified_by: Optional[str] = None, - last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None, - last_modified_at: Optional[datetime.datetime] = None, - **kwargs: Any - ) -> None: - """ - :keyword created_by: The identity that created the resource. - :paramtype created_by: str - :keyword created_by_type: The type of identity that created the resource. Known values are: - "User", "Application", "ManagedIdentity", and "Key". - :paramtype created_by_type: str or ~azure.mgmt.azurearcdata.models.CreatedByType - :keyword created_at: The timestamp of resource creation (UTC). - :paramtype created_at: ~datetime.datetime - :keyword last_modified_by: The identity that last modified the resource. - :paramtype last_modified_by: str - :keyword last_modified_by_type: The type of identity that last modified the resource. Known - values are: "User", "Application", "ManagedIdentity", and "Key". - :paramtype last_modified_by_type: str or ~azure.mgmt.azurearcdata.models.CreatedByType - :keyword last_modified_at: The timestamp of resource last modification (UTC). - :paramtype last_modified_at: ~datetime.datetime - """ - super().__init__(**kwargs) - self.created_by = created_by - self.created_by_type = created_by_type - self.created_at = created_at - self.last_modified_by = last_modified_by - self.last_modified_by_type = last_modified_by_type - self.last_modified_at = last_modified_at - - -class TargetReadiness(_serialization.Model): - """The target readiness for migration for this database. - - :ivar azure_sql_database: The SKU recommendation summary. - :vartype azure_sql_database: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary - :ivar azure_sql_managed_instance: The SKU recommendation summary. - :vartype azure_sql_managed_instance: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary - :ivar azure_sql_virtual_machine: The SKU recommendation summary. - :vartype azure_sql_virtual_machine: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary - """ - - _attribute_map = { - "azure_sql_database": {"key": "azureSqlDatabase", "type": "SkuRecommendationSummary"}, - "azure_sql_managed_instance": {"key": "azureSqlManagedInstance", "type": "SkuRecommendationSummary"}, - "azure_sql_virtual_machine": {"key": "azureSqlVirtualMachine", "type": "SkuRecommendationSummary"}, - } - - def __init__( - self, - *, - azure_sql_database: Optional["_models.SkuRecommendationSummary"] = None, - azure_sql_managed_instance: Optional["_models.SkuRecommendationSummary"] = None, - azure_sql_virtual_machine: Optional["_models.SkuRecommendationSummary"] = None, - **kwargs: Any - ) -> None: - """ - :keyword azure_sql_database: The SKU recommendation summary. - :paramtype azure_sql_database: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary - :keyword azure_sql_managed_instance: The SKU recommendation summary. - :paramtype azure_sql_managed_instance: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary - :keyword azure_sql_virtual_machine: The SKU recommendation summary. - :paramtype azure_sql_virtual_machine: ~azure.mgmt.azurearcdata.models.SkuRecommendationSummary - """ - super().__init__(**kwargs) - self.azure_sql_database = azure_sql_database - self.azure_sql_managed_instance = azure_sql_managed_instance - self.azure_sql_virtual_machine = azure_sql_virtual_machine - - -class UploadServicePrincipal(_serialization.Model): - """Service principal for uploading billing, metrics and logs. - - :ivar client_id: Client ID of the service principal for uploading data. - :vartype client_id: str - :ivar tenant_id: Tenant ID of the service principal. - :vartype tenant_id: str - :ivar authority: Authority for the service principal. Example: - https://login.microsoftonline.com/. - :vartype authority: str - :ivar client_secret: Secret of the service principal. - :vartype client_secret: str - """ - - _attribute_map = { - "client_id": {"key": "clientId", "type": "str"}, - "tenant_id": {"key": "tenantId", "type": "str"}, - "authority": {"key": "authority", "type": "str"}, - "client_secret": {"key": "clientSecret", "type": "str"}, - } - - def __init__( - self, - *, - client_id: Optional[str] = None, - tenant_id: Optional[str] = None, - authority: Optional[str] = None, - client_secret: Optional[str] = None, - **kwargs: Any - ) -> None: - """ - :keyword client_id: Client ID of the service principal for uploading data. - :paramtype client_id: str - :keyword tenant_id: Tenant ID of the service principal. - :paramtype tenant_id: str - :keyword authority: Authority for the service principal. Example: - https://login.microsoftonline.com/. - :paramtype authority: str - :keyword client_secret: Secret of the service principal. - :paramtype client_secret: str - """ - super().__init__(**kwargs) - self.client_id = client_id - self.tenant_id = tenant_id - self.authority = authority - self.client_secret = client_secret - - -class UploadWatermark(_serialization.Model): - """Properties on upload watermark. Mostly timestamp for each upload data type. - - :ivar metrics: Last uploaded date for metrics from kubernetes cluster. Defaults to current date - time. - :vartype metrics: ~datetime.datetime - :ivar logs: Last uploaded date for logs from kubernetes cluster. Defaults to current date time. - :vartype logs: ~datetime.datetime - :ivar usages: Last uploaded date for usages from kubernetes cluster. Defaults to current date - time. - :vartype usages: ~datetime.datetime - """ - - _attribute_map = { - "metrics": {"key": "metrics", "type": "iso-8601"}, - "logs": {"key": "logs", "type": "iso-8601"}, - "usages": {"key": "usages", "type": "iso-8601"}, - } - - def __init__( - self, - *, - metrics: Optional[datetime.datetime] = None, - logs: Optional[datetime.datetime] = None, - usages: Optional[datetime.datetime] = None, - **kwargs: Any - ) -> None: - """ - :keyword metrics: Last uploaded date for metrics from kubernetes cluster. Defaults to current - date time. - :paramtype metrics: ~datetime.datetime - :keyword logs: Last uploaded date for logs from kubernetes cluster. Defaults to current date - time. - :paramtype logs: ~datetime.datetime - :keyword usages: Last uploaded date for usages from kubernetes cluster. Defaults to current - date time. - :paramtype usages: ~datetime.datetime - """ - super().__init__(**kwargs) - self.metrics = metrics - self.logs = logs - self.usages = usages diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_patch.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_patch.py index f7dd32510333..837c125a81c5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_patch.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_patch.py @@ -1,14 +1,16 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ +# 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. +# -------------------------------------------------------------------------- +from __future__ import annotations """Customize generated code here. Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ -from typing import List -__all__: List[str] = [] # Add all objects you want publicly available to users at this package level + +__all__: list[str] = [] # Add all objects you want publicly available to users at this package level def patch_sdk(): diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/__init__.py index 932bd07931c2..7a8d371b1591 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/__init__.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- # pylint: disable=wrong-import-position @@ -13,16 +13,16 @@ from ._patch import * # pylint: disable=unused-wildcard-import from ._operations import Operations # type: ignore -from ._sql_managed_instances_operations import SqlManagedInstancesOperations # type: ignore -from ._failover_groups_operations import FailoverGroupsOperations # type: ignore -from ._sql_server_instances_operations import SqlServerInstancesOperations # type: ignore -from ._sql_server_licenses_operations import SqlServerLicensesOperations # type: ignore -from ._data_controllers_operations import DataControllersOperations # type: ignore -from ._active_directory_connectors_operations import ActiveDirectoryConnectorsOperations # type: ignore -from ._postgres_instances_operations import PostgresInstancesOperations # type: ignore -from ._sql_server_availability_groups_operations import SqlServerAvailabilityGroupsOperations # type: ignore -from ._sql_server_databases_operations import SqlServerDatabasesOperations # type: ignore -from ._sql_server_esu_licenses_operations import SqlServerEsuLicensesOperations # type: ignore +from ._operations import SqlManagedInstancesOperations # type: ignore +from ._operations import SqlServerInstancesOperations # type: ignore +from ._operations import SqlServerLicensesOperations # type: ignore +from ._operations import PostgresInstancesOperations # type: ignore +from ._operations import SqlServerEsuLicensesOperations # type: ignore +from ._operations import FailoverGroupsOperations # type: ignore +from ._operations import SqlServerAvailabilityGroupsOperations # type: ignore +from ._operations import DataControllersOperations # type: ignore +from ._operations import ActiveDirectoryConnectorsOperations # type: ignore +from ._operations import SqlServerDatabasesOperations # type: ignore from ._patch import __all__ as _patch_all from ._patch import * @@ -31,15 +31,15 @@ __all__ = [ "Operations", "SqlManagedInstancesOperations", - "FailoverGroupsOperations", "SqlServerInstancesOperations", "SqlServerLicensesOperations", - "DataControllersOperations", - "ActiveDirectoryConnectorsOperations", "PostgresInstancesOperations", + "SqlServerEsuLicensesOperations", + "FailoverGroupsOperations", "SqlServerAvailabilityGroupsOperations", + "DataControllersOperations", + "ActiveDirectoryConnectorsOperations", "SqlServerDatabasesOperations", - "SqlServerEsuLicensesOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore _patch_sdk() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_active_directory_connectors_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_active_directory_connectors_operations.py deleted file mode 100644 index 8337ef76e1f5..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_active_directory_connectors_operations.py +++ /dev/null @@ -1,695 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# 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 collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import PipelineClient -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest, HttpResponse -from azure.core.tracing.decorator import distributed_trace -from azure.core.utils import case_insensitive_dict -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -from .. import models as _models -from .._configuration import AzureArcDataManagementClientConfiguration -from .._utils.serialization import Deserializer, Serializer - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list - -_SERIALIZER = Serializer() -_SERIALIZER.client_side_validation = False - - -def build_list_request( - resource_group_name: str, data_controller_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_create_request( - resource_group_name: str, - data_controller_name: str, - active_directory_connector_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", "2026-03-01-preview")) - 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.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), - "activeDirectoryConnectorName": _SERIALIZER.url( - "active_directory_connector_name", active_directory_connector_name, "str" - ), - } - - _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_delete_request( - resource_group_name: str, - data_controller_name: str, - active_directory_connector_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), - "activeDirectoryConnectorName": _SERIALIZER.url( - "active_directory_connector_name", active_directory_connector_name, "str" - ), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_request( - resource_group_name: str, - data_controller_name: str, - active_directory_connector_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), - "activeDirectoryConnectorName": _SERIALIZER.url( - "active_directory_connector_name", active_directory_connector_name, "str" - ), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -class ActiveDirectoryConnectorsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`active_directory_connectors` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list( - self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> ItemPaged["_models.ActiveDirectoryConnectorResource"]: - """List the active directory connectors associated with the given data controller. - - List the active directory connectors associated with the given data controller. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :return: An iterator like instance of either ActiveDirectoryConnectorResource or the result of - cls(response) - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.ActiveDirectoryConnectorListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("ActiveDirectoryConnectorListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - def _create_initial( - self, - resource_group_name: str, - data_controller_name: str, - active_directory_connector_name: str, - active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(active_directory_connector_resource, (IOBase, bytes)): - _content = active_directory_connector_resource - else: - _json = self._serialize.body(active_directory_connector_resource, "ActiveDirectoryConnectorResource") - - _request = build_create_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - active_directory_connector_name=active_directory_connector_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create( - self, - resource_group_name: str, - data_controller_name: str, - active_directory_connector_name: str, - active_directory_connector_resource: _models.ActiveDirectoryConnectorResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.ActiveDirectoryConnectorResource]: - """Creates or replaces an Active Directory connector resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param active_directory_connector_name: The name of the Active Directory connector instance. - Required. - :type active_directory_connector_name: str - :param active_directory_connector_resource: desc. Required. - :type active_directory_connector_resource: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either ActiveDirectoryConnectorResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create( - self, - resource_group_name: str, - data_controller_name: str, - active_directory_connector_name: str, - active_directory_connector_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.ActiveDirectoryConnectorResource]: - """Creates or replaces an Active Directory connector resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param active_directory_connector_name: The name of the Active Directory connector instance. - Required. - :type active_directory_connector_name: str - :param active_directory_connector_resource: desc. Required. - :type active_directory_connector_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either ActiveDirectoryConnectorResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_create( - self, - resource_group_name: str, - data_controller_name: str, - active_directory_connector_name: str, - active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.ActiveDirectoryConnectorResource]: - """Creates or replaces an Active Directory connector resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param active_directory_connector_name: The name of the Active Directory connector instance. - Required. - :type active_directory_connector_name: str - :param active_directory_connector_resource: desc. Is either a ActiveDirectoryConnectorResource - type or a IO[bytes] type. Required. - :type active_directory_connector_resource: - ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource or IO[bytes] - :return: An instance of LROPoller that returns either ActiveDirectoryConnectorResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] - :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[_models.ActiveDirectoryConnectorResource] = 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._create_initial( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - active_directory_connector_name=active_directory_connector_name, - active_directory_connector_resource=active_directory_connector_resource, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("ActiveDirectoryConnectorResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.ActiveDirectoryConnectorResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.ActiveDirectoryConnectorResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _delete_initial( - self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - active_directory_connector_name=active_directory_connector_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_delete( - self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Deletes an Active Directory connector resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param active_directory_connector_name: The name of the Active Directory connector instance. - Required. - :type active_directory_connector_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - active_directory_connector_name=active_directory_connector_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def get( - self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any - ) -> _models.ActiveDirectoryConnectorResource: - """Retrieves an Active Directory connector resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param active_directory_connector_name: The name of the Active Directory connector instance. - Required. - :type active_directory_connector_name: str - :return: ActiveDirectoryConnectorResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.ActiveDirectoryConnectorResource] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - active_directory_connector_name=active_directory_connector_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("ActiveDirectoryConnectorResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_data_controllers_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_data_controllers_operations.py deleted file mode 100644 index 6eb40981e689..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_data_controllers_operations.py +++ /dev/null @@ -1,974 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# 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 collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import PipelineClient -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest, HttpResponse -from azure.core.tracing.decorator import distributed_trace -from azure.core.utils import case_insensitive_dict -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -from .. import models as _models -from .._configuration import AzureArcDataManagementClientConfiguration -from .._utils.serialization import Deserializer, Serializer - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list - -_SERIALIZER = Serializer() -_SERIALIZER.client_side_validation = False - - -def build_list_in_subscription_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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/dataControllers" - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_list_in_group_request(resource_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_put_data_controller_request( - resource_group_name: str, data_controller_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", "2026-03-01-preview")) - 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.AzureArcData/dataControllers/{dataControllerName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), - } - - _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_delete_data_controller_request( - resource_group_name: str, data_controller_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_data_controller_request( - resource_group_name: str, data_controller_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_patch_data_controller_request( - resource_group_name: str, data_controller_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", "2026-03-01-preview")) - 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.AzureArcData/dataControllers/{dataControllerName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), - } - - _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - -class DataControllersOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`data_controllers` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list_in_subscription(self, **kwargs: Any) -> ItemPaged["_models.DataControllerResource"]: - """List dataController resources in the subscription. - - List dataController resources in the subscription. - - :return: An iterator like instance of either DataControllerResource or the result of - cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.PageOfDataControllerResource] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_in_subscription_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("PageOfDataControllerResource", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_in_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.DataControllerResource"]: - """List dataController resources in the resource group. - - List dataController resources in the resource group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :return: An iterator like instance of either DataControllerResource or the result of - cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.PageOfDataControllerResource] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_in_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("PageOfDataControllerResource", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - def _put_data_controller_initial( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: Union[_models.DataControllerResource, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(data_controller_resource, (IOBase, bytes)): - _content = data_controller_resource - else: - _json = self._serialize.body(data_controller_resource, "DataControllerResource") - - _request = build_put_data_controller_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_put_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: _models.DataControllerResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.DataControllerResource]: - """Creates or replaces a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: desc. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either DataControllerResource or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_put_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.DataControllerResource]: - """Creates or replaces a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: desc. Required. - :type data_controller_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either DataControllerResource or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_put_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: Union[_models.DataControllerResource, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.DataControllerResource]: - """Creates or replaces a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: desc. Is either a DataControllerResource type or a IO[bytes] - type. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource or - IO[bytes] - :return: An instance of LROPoller that returns either DataControllerResource or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :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[_models.DataControllerResource] = 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._put_data_controller_initial( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - data_controller_resource=data_controller_resource, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("DataControllerResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.DataControllerResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.DataControllerResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _delete_data_controller_initial( - self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_data_controller_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_delete_data_controller( - self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Deletes a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :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 = 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)) - 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._delete_data_controller_initial( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def get_data_controller( - self, resource_group_name: str, data_controller_name: str, **kwargs: Any - ) -> _models.DataControllerResource: - """Retrieves a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :return: DataControllerResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.DataControllerResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.DataControllerResource] = kwargs.pop("cls", None) - - _request = build_get_data_controller_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("DataControllerResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _patch_data_controller_initial( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: Union[_models.DataControllerUpdate, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(data_controller_resource, (IOBase, bytes)): - _content = data_controller_resource - else: - _json = self._serialize.body(data_controller_resource, "DataControllerUpdate") - - _request = build_patch_data_controller_request( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_patch_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: _models.DataControllerUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.DataControllerResource]: - """Updates a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: The update data controller resource. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either DataControllerResource or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_patch_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.DataControllerResource]: - """Updates a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: The update data controller resource. Required. - :type data_controller_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either DataControllerResource or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_patch_data_controller( - self, - resource_group_name: str, - data_controller_name: str, - data_controller_resource: Union[_models.DataControllerUpdate, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.DataControllerResource]: - """Updates a dataController resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param data_controller_name: The name of the data controller. Required. - :type data_controller_name: str - :param data_controller_resource: The update data controller resource. Is either a - DataControllerUpdate type or a IO[bytes] type. Required. - :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate or - IO[bytes] - :return: An instance of LROPoller that returns either DataControllerResource or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] - :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[_models.DataControllerResource] = 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._patch_data_controller_initial( - resource_group_name=resource_group_name, - data_controller_name=data_controller_name, - data_controller_resource=data_controller_resource, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("DataControllerResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.DataControllerResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.DataControllerResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_failover_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_failover_groups_operations.py deleted file mode 100644 index 4cc675090d3b..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_failover_groups_operations.py +++ /dev/null @@ -1,679 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# 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 collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import PipelineClient -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest, HttpResponse -from azure.core.tracing.decorator import distributed_trace -from azure.core.utils import case_insensitive_dict -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -from .. import models as _models -from .._configuration import AzureArcDataManagementClientConfiguration -from .._utils.serialization import Deserializer, Serializer - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list - -_SERIALIZER = Serializer() -_SERIALIZER.client_side_validation = False - - -def build_list_request( - resource_group_name: str, sql_managed_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_create_request( - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_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", "2026-03-01-preview")) - 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.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups/{failoverGroupName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), - "failoverGroupName": _SERIALIZER.url("failover_group_name", failover_group_name, "str"), - } - - _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_delete_request( - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups/{failoverGroupName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), - "failoverGroupName": _SERIALIZER.url("failover_group_name", failover_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_request( - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups/{failoverGroupName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), - "failoverGroupName": _SERIALIZER.url("failover_group_name", failover_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -class FailoverGroupsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`failover_groups` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list( - self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any - ) -> ItemPaged["_models.FailoverGroupResource"]: - """List the failover groups associated with the given sql managed instance. - - List the failover groups associated with the given sql managed instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :return: An iterator like instance of either FailoverGroupResource or the result of - cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.FailoverGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.FailoverGroupListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("FailoverGroupListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - def _create_initial( - self, - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_name: str, - failover_group_resource: Union[_models.FailoverGroupResource, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(failover_group_resource, (IOBase, bytes)): - _content = failover_group_resource - else: - _json = self._serialize.body(failover_group_resource, "FailoverGroupResource") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - failover_group_name=failover_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_name: str, - failover_group_resource: _models.FailoverGroupResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.FailoverGroupResource]: - """Creates or replaces a failover group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param failover_group_name: The name of the Failover Group. Required. - :type failover_group_name: str - :param failover_group_resource: desc. Required. - :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either FailoverGroupResource or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_name: str, - failover_group_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.FailoverGroupResource]: - """Creates or replaces a failover group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param failover_group_name: The name of the Failover Group. Required. - :type failover_group_name: str - :param failover_group_resource: desc. Required. - :type failover_group_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either FailoverGroupResource or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - failover_group_name: str, - failover_group_resource: Union[_models.FailoverGroupResource, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.FailoverGroupResource]: - """Creates or replaces a failover group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param failover_group_name: The name of the Failover Group. Required. - :type failover_group_name: str - :param failover_group_resource: desc. Is either a FailoverGroupResource type or a IO[bytes] - type. Required. - :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource or - IO[bytes] - :return: An instance of LROPoller that returns either FailoverGroupResource or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] - :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[_models.FailoverGroupResource] = 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._create_initial( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - failover_group_name=failover_group_name, - failover_group_resource=failover_group_resource, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("FailoverGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.FailoverGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.FailoverGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _delete_initial( - self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - failover_group_name=failover_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_delete( - self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Deletes a failover group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param failover_group_name: The name of the Failover Group. Required. - :type failover_group_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - failover_group_name=failover_group_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def get( - self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any - ) -> _models.FailoverGroupResource: - """Retrieves a failover group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param failover_group_name: The name of the Failover Group. Required. - :type failover_group_name: str - :return: FailoverGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.FailoverGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.FailoverGroupResource] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - failover_group_name=failover_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("FailoverGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py index 19ad639dd797..d88e7c7ce631 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py @@ -1,12 +1,16 @@ +# pylint: disable=line-too-long,useless-suppression,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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from __future__ import annotations from collections.abc import MutableMapping -from typing import Any, Callable, Optional, TypeVar +from io import IOBase +import json +from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import PipelineClient @@ -16,28 +20,34 @@ ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, map_error, ) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod from azure.core.rest import HttpRequest, HttpResponse from azure.core.tracing.decorator import distributed_trace from azure.core.utils import case_insensitive_dict from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling from .. import models as _models -from .._configuration import AzureArcDataManagementClientConfiguration +from .._configuration import AzureArcDataClientConfiguration +from .._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from .._utils.serialization import Deserializer, Serializer T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] +JSON = MutableMapping[str, Any] List = list _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_list_request(**kwargs: Any) -> HttpRequest: +def build_operations_list_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) @@ -45,7 +55,2318 @@ def build_list_request(**kwargs: Any) -> HttpRequest: accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/providers/Microsoft.AzureArcData/operations") + _url = "/providers/Microsoft.AzureArcData/operations" + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_managed_instances_get_request( + resource_group_name: str, sql_managed_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_managed_instances_create_request( # pylint: disable=name-too-long + resource_group_name: str, sql_managed_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_managed_instances_update_request( # pylint: disable=name-too-long + resource_group_name: str, sql_managed_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_managed_instances_delete_request( # pylint: disable=name-too-long + resource_group_name: str, sql_managed_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_sql_managed_instances_list_by_resource_group_request( # pylint: disable=name-too-long + resource_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_managed_instances_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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_get_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_create_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_update_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_delete_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_sql_server_instances_list_by_resource_group_request( # pylint: disable=name-too-long + resource_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_get_telemetry_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getTelemetry" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_instances_get_best_practices_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getBestPracticesAssessment" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_instances_run_migration_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runMigrationAssessment" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_run_target_recommendation_job_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runTargetRecommendationJob" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_instances_get_target_recommendation_reports_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getTargetRecommendationReports" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_instances_get_migration_readiness_report_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getMigrationReadinessReport" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_run_best_practices_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runBestPracticesAssessment" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_run_best_practice_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runBestPracticeAssessment" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_run_migration_readiness_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runMigrationReadinessAssessment" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_get_jobs_status_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getJobsStatus" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_instances_get_jobs_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getJobs" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_instances_pre_upgrade_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/preUpgrade" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_post_upgrade_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/postUpgrade" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_instances_run_managed_instance_link_assessment_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runManagedInstanceLinkAssessment" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_instances_get_all_availability_groups_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getAllAvailabilityGroups" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_licenses_get_request( + resource_group_name: str, sql_server_license_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerLicenseName": _SERIALIZER.url("sql_server_license_name", sql_server_license_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_licenses_create_request( + resource_group_name: str, sql_server_license_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerLicenseName": _SERIALIZER.url("sql_server_license_name", sql_server_license_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_licenses_update_request( + resource_group_name: str, sql_server_license_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerLicenseName": _SERIALIZER.url("sql_server_license_name", sql_server_license_name, "str"), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_licenses_delete_request( + resource_group_name: str, sql_server_license_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerLicenseName": _SERIALIZER.url("sql_server_license_name", sql_server_license_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_sql_server_licenses_list_by_resource_group_request( # pylint: disable=name-too-long + resource_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_licenses_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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerLicenses" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_postgres_instances_get_request( + resource_group_name: str, postgres_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_postgres_instances_create_request( + resource_group_name: str, postgres_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_postgres_instances_update_request( + resource_group_name: str, postgres_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_postgres_instances_delete_request( + resource_group_name: str, postgres_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_postgres_instances_list_by_resource_group_request( # pylint: disable=name-too-long + resource_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_postgres_instances_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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/postgresInstances" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_esu_licenses_get_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_esu_license_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerEsuLicenseName": _SERIALIZER.url("sql_server_esu_license_name", sql_server_esu_license_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_esu_licenses_create_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_esu_license_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerEsuLicenseName": _SERIALIZER.url("sql_server_esu_license_name", sql_server_esu_license_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_esu_licenses_update_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_esu_license_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerEsuLicenseName": _SERIALIZER.url("sql_server_esu_license_name", sql_server_esu_license_name, "str"), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_esu_licenses_delete_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_esu_license_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerEsuLicenseName": _SERIALIZER.url("sql_server_esu_license_name", sql_server_esu_license_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_sql_server_esu_licenses_list_by_resource_group_request( # pylint: disable=name-too-long + resource_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_esu_licenses_list_request( # pylint: disable=name-too-long + 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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_failover_groups_get_request( + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups/{failoverGroupName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + "failoverGroupName": _SERIALIZER.url("failover_group_name", failover_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_failover_groups_create_request( + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups/{failoverGroupName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + "failoverGroupName": _SERIALIZER.url("failover_group_name", failover_group_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_failover_groups_delete_request( + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups/{failoverGroupName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + "failoverGroupName": _SERIALIZER.url("failover_group_name", failover_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_failover_groups_list_request( + resource_group_name: str, sql_managed_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_availability_groups_create_availability_group_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createAvailabilityGroup" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_availability_groups_create_distributed_availability_group_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createDistributedAvailabilityGroup" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_availability_groups_create_managed_instance_link_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createManagedInstanceLink" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**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_sql_server_availability_groups_get_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_availability_groups_create_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_availability_groups_update_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_availability_groups_delete_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_sql_server_availability_groups_list_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_availability_groups_detail_view_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/getDetailView" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_availability_groups_failover_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/failover" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_availability_groups_force_failover_allow_data_loss_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/forceFailoverAllowDataLoss" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_availability_groups_add_databases_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/addDatabases" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**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_sql_server_availability_groups_failover_mi_link_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/failoverMiLink" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**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_sql_server_availability_groups_delete_mi_link_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/deleteMiLink" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="POST", url=_url, params=_params, **kwargs) + + +def build_sql_server_availability_groups_remove_databases_request( # pylint: disable=name-too-long + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/removeDatabases" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), + } + + _url: str = _url.format(**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_data_controllers_get_data_controller_request( # pylint: disable=name-too-long + resource_group_name: str, data_controller_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_data_controllers_put_data_controller_request( # pylint: disable=name-too-long + resource_group_name: str, data_controller_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_data_controllers_patch_data_controller_request( # pylint: disable=name-too-long + resource_group_name: str, data_controller_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_data_controllers_delete_data_controller_request( # pylint: disable=name-too-long + resource_group_name: str, data_controller_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_data_controllers_list_in_group_request( # pylint: disable=name-too-long + resource_group_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_data_controllers_list_in_subscription_request( # pylint: disable=name-too-long + 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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/dataControllers" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_active_directory_connectors_get_request( # pylint: disable=name-too-long + resource_group_name: str, + data_controller_name: str, + active_directory_connector_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), + "activeDirectoryConnectorName": _SERIALIZER.url( + "active_directory_connector_name", active_directory_connector_name, "str" + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_active_directory_connectors_create_request( # pylint: disable=name-too-long + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), + "activeDirectoryConnectorName": _SERIALIZER.url( + "active_directory_connector_name", active_directory_connector_name, "str" + ), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_active_directory_connectors_delete_request( # pylint: disable=name-too-long + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), + "activeDirectoryConnectorName": _SERIALIZER.url( + "active_directory_connector_name", active_directory_connector_name, "str" + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_active_directory_connectors_list_request( # pylint: disable=name-too-long + resource_group_name: str, data_controller_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "dataControllerName": _SERIALIZER.url("data_controller_name", data_controller_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_databases_get_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_databases_create_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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 {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str"), + } + + _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_databases_update_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_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 {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str"), + } + + _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_sql_server_databases_delete_request( # pylint: disable=name-too-long + resource_group_name: str, sql_server_instance_name: str, database_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + "databaseName": _SERIALIZER.url("database_name", database_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_sql_server_databases_list_request( + resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -62,34 +2383,12056 @@ class Operations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`operations` attribute. + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`operations` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def list(self, **kwargs: Any) -> ItemPaged["_models.Operation"]: + """Lists all of the available Azure Data Services on Azure Arc API operations. + + :return: An iterator like instance of Operation + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.Operation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.Operation]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_operations_list_request( + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.Operation], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + +class SqlManagedInstancesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`sql_managed_instances` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def get( + self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any + ) -> _models.SqlManagedInstance: + """Retrieves a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :return: SqlManagedInstance. The SqlManagedInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlManagedInstance] = kwargs.pop("cls", None) + + _request = build_sql_managed_instances_get_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlManagedInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_initial( + self, + resource_group_name: str, + sql_managed_instance_name: str, + sql_managed_instance: Union[_models.SqlManagedInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_managed_instance, (IOBase, bytes)): + _content = sql_managed_instance + else: + _content = json.dumps(sql_managed_instance, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_managed_instances_create_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + sql_managed_instance: _models.SqlManagedInstance, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlManagedInstance]: + """Creates or replaces a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. + :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlManagedInstance. The SqlManagedInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + sql_managed_instance: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlManagedInstance]: + """Creates or replaces a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. + :type sql_managed_instance: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlManagedInstance. The SqlManagedInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + sql_managed_instance: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlManagedInstance]: + """Creates or replaces a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. + :type sql_managed_instance: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlManagedInstance. The SqlManagedInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + sql_managed_instance: Union[_models.SqlManagedInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlManagedInstance]: + """Creates or replaces a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param sql_managed_instance: The SQL Managed Instance to be created or updated. Is one of the + following types: SqlManagedInstance, JSON, IO[bytes] Required. + :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance or JSON or + IO[bytes] + :return: An instance of LROPoller that returns SqlManagedInstance. The SqlManagedInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlManagedInstance] = 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._create_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + sql_managed_instance=sql_managed_instance, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.SqlManagedInstance, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlManagedInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlManagedInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + def update( + self, + resource_group_name: str, + sql_managed_instance_name: str, + parameters: _models.SqlManagedInstanceUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlManagedInstance: + """Updates a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param parameters: The SQL Managed Instance. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlManagedInstance. The SqlManagedInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def update( + self, + resource_group_name: str, + sql_managed_instance_name: str, + parameters: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlManagedInstance: + """Updates a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param parameters: The SQL Managed Instance. Required. + :type parameters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlManagedInstance. The SqlManagedInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def update( + self, + resource_group_name: str, + sql_managed_instance_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlManagedInstance: + """Updates a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param parameters: The SQL Managed Instance. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlManagedInstance. The SqlManagedInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def update( + self, + resource_group_name: str, + sql_managed_instance_name: str, + parameters: Union[_models.SqlManagedInstanceUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlManagedInstance: + """Updates a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param parameters: The SQL Managed Instance. Is one of the following types: + SqlManagedInstanceUpdate, JSON, IO[bytes] Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate or JSON or IO[bytes] + :return: SqlManagedInstance. The SqlManagedInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlManagedInstance] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_managed_instances_update_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlManagedInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _delete_initial( + self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_managed_instances_delete_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete(self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any) -> LROPoller[None]: + """Deletes a SQL Managed Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> ItemPaged["_models.SqlManagedInstance"]: + """List sqlManagedInstance resources in the resource group. + + Gets all sqlManagedInstances in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of SqlManagedInstance + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlManagedInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_managed_instances_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlManagedInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list(self, **kwargs: Any) -> ItemPaged["_models.SqlManagedInstance"]: + """List sqlManagedInstance resources in the subscription. + + List sqlManagedInstance resources in the subscription. + + :return: An iterator like instance of SqlManagedInstance + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlManagedInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_managed_instances_list_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlManagedInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + +class SqlServerInstancesOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`sql_server_instances` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def get(self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any) -> _models.SqlServerInstance: + """Retrieves a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstance. The SqlServerInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: Union[_models.SqlServerInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance, (IOBase, bytes)): + _content = sql_server_instance + else: + _content = json.dumps(sql_server_instance, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_instances_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: _models.SqlServerInstance, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Required. + :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Required. + :type sql_server_instance: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Required. + :type sql_server_instance: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance: Union[_models.SqlServerInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Creates or replaces a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance: The SQL Server Instance to be created or updated. Is one of the + following types: SqlServerInstance, JSON, IO[bytes] Required. + :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance or JSON or + IO[bytes] + :return: An instance of LROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerInstance] = 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._create_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance=sql_server_instance, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.SqlServerInstance, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: Union[_models.SqlServerInstanceUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_instances_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: _models.SqlServerInstanceUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Required. + :type parameters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + parameters: Union[_models.SqlServerInstanceUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstance]: + """Updates a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param parameters: The SQL Server Instance. Is one of the following types: + SqlServerInstanceUpdate, JSON, IO[bytes] Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate or JSON or IO[bytes] + :return: An instance of LROPoller that returns SqlServerInstance. The SqlServerInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerInstance] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + parameters=parameters, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.SqlServerInstance, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete(self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any) -> LROPoller[None]: + """Deletes a SQL Server Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.SqlServerInstance"]: + """List sqlServerInstance resources in the resource group. + + Gets all sqlServerInstances in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of SqlServerInstance + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_instances_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list(self, **kwargs: Any) -> ItemPaged["_models.SqlServerInstance"]: + """List sqlServerInstance resources in the subscription. + + List sqlServerInstance resources in the subscription. + + :return: An iterator like instance of SqlServerInstance + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_instances_list_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + def _get_telemetry_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): + _content = sql_server_instance_telemetry_request + else: + _content = json.dumps(sql_server_instance_telemetry_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_instances_get_telemetry_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: _models.SqlServerInstanceTelemetryRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Required. + :type sql_server_instance_telemetry_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Required. + :type sql_server_instance_telemetry_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Required. + :type sql_server_instance_telemetry_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_get_telemetry( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL Server instance telemetry. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server + instance telemetry. Is one of the following types: SqlServerInstanceTelemetryRequest, JSON, + IO[bytes] Required. + :type sql_server_instance_telemetry_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest or JSON or IO[bytes] + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[List[List[str]]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): + _content = sql_server_instance_telemetry_request + else: + _content = json.dumps(sql_server_instance_telemetry_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_instances_get_telemetry_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[List[str]], + deserialized.get("rows", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + 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._get_telemetry_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_telemetry_request=sql_server_instance_telemetry_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + def internal_get_next(next_link=None): + if next_link is None: + return pipeline_response + return get_next(next_link) + + return ItemPaged(internal_get_next, extract_data) + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[ItemPaged[list[str]]].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[ItemPaged[list[str]]]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _get_best_practices_assessment_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): + _content = sql_server_instance_bpa_request + else: + _content = json.dumps(sql_server_instance_bpa_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_instances_get_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: _models.SqlServerInstanceBpaRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Required. + :type sql_server_instance_bpa_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Required. + :type sql_server_instance_bpa_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Required. + :type sql_server_instance_bpa_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_get_best_practices_assessment( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[ItemPaged[list[str]]]: + """Retrieves SQL best practices assessment results for the SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment + results. Is one of the following types: SqlServerInstanceBpaRequest, JSON, IO[bytes] Required. + :type sql_server_instance_bpa_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest or JSON or IO[bytes] + :return: An instance of LROPoller that returns an iterator like instance of list of list of str + :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[List[List[str]]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): + _content = sql_server_instance_bpa_request + else: + _content = json.dumps(sql_server_instance_bpa_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_instances_get_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[List[str]], + deserialized.get("rows", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + 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._get_best_practices_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_bpa_request=sql_server_instance_bpa_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + def internal_get_next(next_link=None): + if next_link is None: + return pipeline_response + return get_next(next_link) + + return ItemPaged(internal_get_next, extract_data) + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[ItemPaged[list[str]]].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[ItemPaged[list[str]]]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def run_migration_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstanceRunMigrationAssessmentResponse: + """Runs migration assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstanceRunMigrationAssessmentResponse. The + SqlServerInstanceRunMigrationAssessmentResponse is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationAssessmentResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstanceRunMigrationAssessmentResponse] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_run_migration_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstanceRunMigrationAssessmentResponse, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _run_target_recommendation_job_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = ( + content_type or "application/json" if sql_server_instance_run_target_recommendation_job_request else None + ) + _content = None + if isinstance(sql_server_instance_run_target_recommendation_job_request, (IOBase, bytes)): + _content = sql_server_instance_run_target_recommendation_job_request + else: + if sql_server_instance_run_target_recommendation_job_request is not None: + _content = json.dumps(sql_server_instance_run_target_recommendation_job_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_sql_server_instances_run_target_recommendation_job_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + _models.SqlServerInstanceRunTargetRecommendationJobRequest + ] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns + SqlServerInstanceRunTargetRecommendationJobResponse. The + SqlServerInstanceRunTargetRecommendationJobResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[JSON] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns + SqlServerInstanceRunTargetRecommendationJobResponse. The + SqlServerInstanceRunTargetRecommendationJobResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns + SqlServerInstanceRunTargetRecommendationJobResponse. The + SqlServerInstanceRunTargetRecommendationJobResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_run_target_recommendation_job( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_run_target_recommendation_job_request: Optional[ + Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: + """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. + If the previous job is in a non-terminal state (NotStarted or InProgress), calling this + operation again returns the existing job status without creating a new job. A new job is + created only when the previous job has reached a terminal state (Succeeded or Failed). This + operation does not return recommendations directly. Use the GetTargetRecommendationReports API + to check the job status and retrieve the target recommendation report if the jobStatus is + Succeeded. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to + run SQL Server instance target recommendation job. Is one of the following types: + SqlServerInstanceRunTargetRecommendationJobRequest, JSON, IO[bytes] Default value is None. + :type sql_server_instance_run_target_recommendation_job_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest or JSON or + IO[bytes] + :return: An instance of LROPoller that returns + SqlServerInstanceRunTargetRecommendationJobResponse. The + SqlServerInstanceRunTargetRecommendationJobResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None + cls: ClsType[_models.SqlServerInstanceRunTargetRecommendationJobResponse] = 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._run_target_recommendation_job_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_run_target_recommendation_job_request=sql_server_instance_run_target_recommendation_job_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceRunTargetRecommendationJobResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _get_target_recommendation_reports_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_target_recommendation_reports_request else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = ( + content_type or "application/json" if sql_server_instance_target_recommendation_reports_request else None + ) + _content = None + if isinstance(sql_server_instance_target_recommendation_reports_request, (IOBase, bytes)): + _content = sql_server_instance_target_recommendation_reports_request + else: + if sql_server_instance_target_recommendation_reports_request is not None: + _content = json.dumps(sql_server_instance_target_recommendation_reports_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_sql_server_instances_get_target_recommendation_reports_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + _models.SqlServerInstanceTargetRecommendationReportsRequest + ] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Default value is None. + :type sql_server_instance_target_recommendation_reports_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns + SqlServerInstanceTargetRecommendationReportsResponse. The + SqlServerInstanceTargetRecommendationReportsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[JSON] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Default value is None. + :type sql_server_instance_target_recommendation_reports_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns + SqlServerInstanceTargetRecommendationReportsResponse. The + SqlServerInstanceTargetRecommendationReportsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Default value is None. + :type sql_server_instance_target_recommendation_reports_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns + SqlServerInstanceTargetRecommendationReportsResponse. The + SqlServerInstanceTargetRecommendationReportsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_get_target_recommendation_reports( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_target_recommendation_reports_request: Optional[ + Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: + """Retrieves the current job status and the latest target recommendation report for the SQL Server + instance. The response always includes the jobStatus field, which indicates the state of the + most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The + report data is included in the response only when the jobStatus is Succeeded. A target + recommendation job must be started using the RunTargetRecommendationJob API before calling this + API. Only the most recent report is returned. If the report contains more sections than can be + returned in a single response, use the nextReportOffset and nextSectionOffset values from the + response to retrieve the remaining data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to + get SQL Server instance target recommendation reports. Is one of the following types: + SqlServerInstanceTargetRecommendationReportsRequest, JSON, IO[bytes] Default value is None. + :type sql_server_instance_target_recommendation_reports_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest or JSON or + IO[bytes] + :return: An instance of LROPoller that returns + SqlServerInstanceTargetRecommendationReportsResponse. The + SqlServerInstanceTargetRecommendationReportsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_target_recommendation_reports_request else None + cls: ClsType[_models.SqlServerInstanceTargetRecommendationReportsResponse] = 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._get_target_recommendation_reports_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_target_recommendation_reports_request=sql_server_instance_target_recommendation_reports_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceTargetRecommendationReportsResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _get_migration_readiness_report_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_get_migration_readiness_report_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_get_migration_readiness_report( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]: + """Retrieves the migration readiness report for the SQL Server instance. The report contains an + assessment of the instance's readiness for migration to Azure SQL targets. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of LROPoller that returns + SqlServerInstanceMigrationReadinessReportResponse. The + SqlServerInstanceMigrationReadinessReportResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceMigrationReadinessReportResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstanceMigrationReadinessReportResponse] = 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._get_migration_readiness_report_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceMigrationReadinessReportResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def run_best_practices_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstanceRunBestPracticesAssessmentResponse: + """The request to run SQL best practices assessment. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstanceRunBestPracticesAssessmentResponse. The + SqlServerInstanceRunBestPracticesAssessmentResponse is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_run_best_practices_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstanceRunBestPracticesAssessmentResponse, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _run_best_practice_assessment_initial( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_run_best_practice_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_run_best_practice_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]: + """The request to run SQL best practices assessment asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of LROPoller that returns + SqlServerInstanceRunBestPracticesAssessmentResponse. The + SqlServerInstanceRunBestPracticesAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = 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._run_best_practice_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceRunBestPracticesAssessmentResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _run_migration_readiness_assessment_initial( # pylint: disable=name-too-long + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_run_migration_readiness_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_run_migration_readiness_assessment( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]: + """The request to run migration readiness assessment asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An instance of LROPoller that returns + SqlServerInstanceRunMigrationReadinessAssessmentResponse. The + SqlServerInstanceRunMigrationReadinessAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] = 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._run_migration_readiness_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize( + _models.SqlServerInstanceRunMigrationReadinessAssessmentResponse, response.json() + ) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[_models.SqlServerInstanceJobsStatusRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Default value is None. + :type sql_server_instance_jobs_status_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerInstanceJobsStatusResponse. The SqlServerInstanceJobsStatusResponse is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[JSON] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Default value is None. + :type sql_server_instance_jobs_status_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerInstanceJobsStatusResponse. The SqlServerInstanceJobsStatusResponse is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Default value is None. + :type sql_server_instance_jobs_status_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerInstanceJobsStatusResponse. The SqlServerInstanceJobsStatusResponse is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def get_jobs_status( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_status_request: Optional[ + Union[_models.SqlServerInstanceJobsStatusRequest, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> _models.SqlServerInstanceJobsStatusResponse: + """Gets jobs status details for sql arc resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server + instance agent jobs status. Is one of the following types: SqlServerInstanceJobsStatusRequest, + JSON, IO[bytes] Default value is None. + :type sql_server_instance_jobs_status_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest or JSON or IO[bytes] + :return: SqlServerInstanceJobsStatusResponse. The SqlServerInstanceJobsStatusResponse is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_jobs_status_request else None + cls: ClsType[_models.SqlServerInstanceJobsStatusResponse] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if sql_server_instance_jobs_status_request else None + _content = None + if isinstance(sql_server_instance_jobs_status_request, (IOBase, bytes)): + _content = sql_server_instance_jobs_status_request + else: + if sql_server_instance_jobs_status_request is not None: + _content = json.dumps(sql_server_instance_jobs_status_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_sql_server_instances_get_jobs_status_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstanceJobsStatusResponse, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _get_jobs_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, JSON, IO[bytes]]] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_jobs_request else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if sql_server_instance_jobs_request else None + _content = None + if isinstance(sql_server_instance_jobs_request, (IOBase, bytes)): + _content = sql_server_instance_jobs_request + else: + if sql_server_instance_jobs_request is not None: + _content = json.dumps(sql_server_instance_jobs_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_sql_server_instances_get_jobs_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[_models.SqlServerInstanceJobsRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Default value is None. + :type sql_server_instance_jobs_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerInstanceJobsResponse. The + SqlServerInstanceJobsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[JSON] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Default value is None. + :type sql_server_instance_jobs_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerInstanceJobsResponse. The + SqlServerInstanceJobsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Default value is None. + :type sql_server_instance_jobs_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerInstanceJobsResponse. The + SqlServerInstanceJobsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_get_jobs( + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, JSON, IO[bytes]]] = None, + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceJobsResponse]: + """Gets job details for sql arc resource asynchronously. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance + agent jobs status. Is one of the following types: SqlServerInstanceJobsRequest, JSON, IO[bytes] + Default value is None. + :type sql_server_instance_jobs_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest or JSON or IO[bytes] + :return: An instance of LROPoller that returns SqlServerInstanceJobsResponse. The + SqlServerInstanceJobsResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if sql_server_instance_jobs_request else None + cls: ClsType[_models.SqlServerInstanceJobsResponse] = 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._get_jobs_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_jobs_request=sql_server_instance_jobs_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceJobsResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceJobsResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceJobsResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def pre_upgrade( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstance: + """Request Upgrade Permission before upgrading. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstance. The SqlServerInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_pre_upgrade_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def post_upgrade( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> _models.SqlServerInstance: + """Clean up after upgrading. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: SqlServerInstance. The SqlServerInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) + + _request = build_sql_server_instances_post_upgrade_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _run_managed_instance_link_assessment_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: Union[ + _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, JSON, IO[bytes] + ], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_instance_managed_instance_link_assessment_request, (IOBase, bytes)): + _content = sql_server_instance_managed_instance_link_assessment_request + else: + _content = json.dumps(sql_server_instance_managed_instance_link_assessment_request, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_instances_run_managed_instance_link_assessment_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Required. + :type sql_server_instance_managed_instance_link_assessment_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns + SqlServerInstanceManagedInstanceLinkAssessmentResponse. The + SqlServerInstanceManagedInstanceLinkAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Required. + :type sql_server_instance_managed_instance_link_assessment_request: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns + SqlServerInstanceManagedInstanceLinkAssessmentResponse. The + SqlServerInstanceManagedInstanceLinkAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Required. + :type sql_server_instance_managed_instance_link_assessment_request: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns + SqlServerInstanceManagedInstanceLinkAssessmentResponse. The + SqlServerInstanceManagedInstanceLinkAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + sql_server_instance_managed_instance_link_assessment_request: Union[ + _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, JSON, IO[bytes] + ], + **kwargs: Any + ) -> LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: + """Runs Managed Instance Link assessment for SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to + run SQL Server instance MI link assessment. Is one of the following types: + SqlServerInstanceManagedInstanceLinkAssessmentRequest, JSON, IO[bytes] Required. + :type sql_server_instance_managed_instance_link_assessment_request: + ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest or JSON + or IO[bytes] + :return: An instance of LROPoller that returns + SqlServerInstanceManagedInstanceLinkAssessmentResponse. The + SqlServerInstanceManagedInstanceLinkAssessmentResponse is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] = 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._run_managed_instance_link_assessment_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + sql_server_instance_managed_instance_link_assessment_request=sql_server_instance_managed_instance_link_assessment_request, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[_models.AvailabilityGroupRetrievalFilters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Default value is None. + :type availability_group_retrieval_filters: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An iterator like instance of SqlServerAvailabilityGroupResource + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[JSON] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Default value is None. + :type availability_group_retrieval_filters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An iterator like instance of SqlServerAvailabilityGroupResource + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Default value is None. + :type availability_group_retrieval_filters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An iterator like instance of SqlServerAvailabilityGroupResource + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def get_all_availability_groups( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_retrieval_filters: Optional[ + Union[_models.AvailabilityGroupRetrievalFilters, JSON, IO[bytes]] + ] = None, + **kwargs: Any + ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """Retrieves full properties of all the Availability Groups in a SQL Server instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_retrieval_filters: Is one of the following types: + AvailabilityGroupRetrievalFilters, JSON, IO[bytes] Default value is None. + :type availability_group_retrieval_filters: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters or JSON or IO[bytes] + :return: An iterator like instance of SqlServerAvailabilityGroupResource + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if availability_group_retrieval_filters else None + cls: ClsType[List[_models.SqlServerAvailabilityGroupResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + content_type = content_type or "application/json" if availability_group_retrieval_filters else None + _content = None + if isinstance(availability_group_retrieval_filters, (IOBase, bytes)): + _content = availability_group_retrieval_filters + else: + if availability_group_retrieval_filters is not None: + _content = json.dumps(availability_group_retrieval_filters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_instances_get_all_availability_groups_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerAvailabilityGroupResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + +class SqlServerLicensesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`sql_server_licenses` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def get(self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any) -> _models.SqlServerLicense: + """Retrieves a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerLicense] = kwargs.pop("cls", None) + + _request = build_sql_server_licenses_get_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: _models.SqlServerLicense, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Required. + :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Required. + :type sql_server_license: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Required. + :type sql_server_license: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def create( + self, + resource_group_name: str, + sql_server_license_name: str, + sql_server_license: Union[_models.SqlServerLicense, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerLicense: + """Creates or replaces a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param sql_server_license: The SQL Server license to be created or updated. Is one of the + following types: SqlServerLicense, JSON, IO[bytes] Required. + :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense or JSON or IO[bytes] + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_license, (IOBase, bytes)): + _content = sql_server_license + else: + _content = json.dumps(sql_server_license, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_licenses_create_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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, 201]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: _models.SqlServerLicenseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Required. + :type parameters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def update( + self, + resource_group_name: str, + sql_server_license_name: str, + parameters: Union[_models.SqlServerLicenseUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerLicense: + """Updates a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :param parameters: The SQL Server license. Is one of the following types: + SqlServerLicenseUpdate, JSON, IO[bytes] Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate or JSON or IO[bytes] + :return: SqlServerLicense. The SqlServerLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_licenses_update_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def delete( # pylint: disable=inconsistent-return-statements + self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any + ) -> None: + """Deletes a SQL Server license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_license_name: Name of SQL Server License. Required. + :type sql_server_license_name: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_sql_server_licenses_delete_request( + resource_group_name=resource_group_name, + sql_server_license_name=sql_server_license_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @distributed_trace + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.SqlServerLicense"]: + """List sqlServerLicense resources in the resource group. + + Gets all sqlServerLicenses in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of SqlServerLicense + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerLicense]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_licenses_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerLicense], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list(self, **kwargs: Any) -> ItemPaged["_models.SqlServerLicense"]: + """List sqlServerLicense resources in the subscription. + + List sqlServerLicense resources in the subscription. + + :return: An iterator like instance of SqlServerLicense + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerLicense]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_licenses_list_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerLicense], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + +class PostgresInstancesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`postgres_instances` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def get(self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any) -> _models.PostgresInstance: + """Retrieves a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :return: PostgresInstance. The PostgresInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.PostgresInstance] = kwargs.pop("cls", None) + + _request = build_postgres_instances_get_request( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.PostgresInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_initial( + self, + resource_group_name: str, + postgres_instance_name: str, + resource: Union[_models.PostgresInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(resource, (IOBase, bytes)): + _content = resource + else: + _content = json.dumps(resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_postgres_instances_create_request( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create( + self, + resource_group_name: str, + postgres_instance_name: str, + resource: _models.PostgresInstance, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.PostgresInstance]: + """Creates or replaces a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param resource: The postgres instance. Required. + :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns PostgresInstance. The PostgresInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + postgres_instance_name: str, + resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.PostgresInstance]: + """Creates or replaces a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param resource: The postgres instance. Required. + :type resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns PostgresInstance. The PostgresInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + postgres_instance_name: str, + resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.PostgresInstance]: + """Creates or replaces a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param resource: The postgres instance. Required. + :type resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns PostgresInstance. The PostgresInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + postgres_instance_name: str, + resource: Union[_models.PostgresInstance, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.PostgresInstance]: + """Creates or replaces a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param resource: The postgres instance. Is one of the following types: PostgresInstance, JSON, + IO[bytes] Required. + :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance or JSON or IO[bytes] + :return: An instance of LROPoller that returns PostgresInstance. The PostgresInstance is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.PostgresInstance] = 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._create_initial( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + resource=resource, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.PostgresInstance, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.PostgresInstance].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.PostgresInstance]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @overload + def update( + self, + resource_group_name: str, + postgres_instance_name: str, + parameters: _models.PostgresInstanceUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.PostgresInstance: + """Updates a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param parameters: The Postgres Instance. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: PostgresInstance. The PostgresInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def update( + self, + resource_group_name: str, + postgres_instance_name: str, + parameters: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.PostgresInstance: + """Updates a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param parameters: The Postgres Instance. Required. + :type parameters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: PostgresInstance. The PostgresInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def update( + self, + resource_group_name: str, + postgres_instance_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.PostgresInstance: + """Updates a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param parameters: The Postgres Instance. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: PostgresInstance. The PostgresInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def update( + self, + resource_group_name: str, + postgres_instance_name: str, + parameters: Union[_models.PostgresInstanceUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.PostgresInstance: + """Updates a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :param parameters: The Postgres Instance. Is one of the following types: + PostgresInstanceUpdate, JSON, IO[bytes] Required. + :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate or JSON or IO[bytes] + :return: PostgresInstance. The PostgresInstance is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.PostgresInstance] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_postgres_instances_update_request( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.PostgresInstance, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _delete_initial(self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_postgres_instances_delete_request( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete(self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any) -> LROPoller[None]: + """Deletes a postgres Instance resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param postgres_instance_name: Name of Postgres Instance. Required. + :type postgres_instance_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + postgres_instance_name=postgres_instance_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.PostgresInstance"]: + """List postgres Instance resources in the resource group. + + Get a postgres Instances list by Resource group name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of PostgresInstance + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.PostgresInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_postgres_instances_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.PostgresInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list(self, **kwargs: Any) -> ItemPaged["_models.PostgresInstance"]: + """List postgres Instance resources in the subscription. + + List postgres Instance resources in the subscription. + + :return: An iterator like instance of PostgresInstance + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.PostgresInstance]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_postgres_instances_list_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.PostgresInstance], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + +class SqlServerEsuLicensesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`sql_server_esu_licenses` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def get( + self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Retrieves a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerEsuLicense] = kwargs.pop("cls", None) + + _request = build_sql_server_esu_licenses_get_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerEsuLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: _models.SqlServerEsuLicense, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. + :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. + :type sql_server_esu_license: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. + :type sql_server_esu_license: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def create( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + sql_server_esu_license: Union[_models.SqlServerEsuLicense, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Creates or replaces a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Is one of + the following types: SqlServerEsuLicense, JSON, IO[bytes] Required. + :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense or JSON or + IO[bytes] + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerEsuLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_esu_license, (IOBase, bytes)): + _content = sql_server_esu_license + else: + _content = json.dumps(sql_server_esu_license, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_esu_licenses_create_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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, 201]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerEsuLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: _models.SqlServerEsuLicenseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Required. + :type parameters: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def update( + self, + resource_group_name: str, + sql_server_esu_license_name: str, + parameters: Union[_models.SqlServerEsuLicenseUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerEsuLicense: + """Updates a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :param parameters: The SQL Server ESU license. Is one of the following types: + SqlServerEsuLicenseUpdate, JSON, IO[bytes] Required. + :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate or JSON or + IO[bytes] + :return: SqlServerEsuLicense. The SqlServerEsuLicense is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerEsuLicense] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _content = json.dumps(parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_esu_licenses_update_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerEsuLicense, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def delete( # pylint: disable=inconsistent-return-statements + self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any + ) -> None: + """Deletes a SQL Server ESU license resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. + :type sql_server_esu_license_name: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_sql_server_esu_licenses_delete_request( + resource_group_name=resource_group_name, + sql_server_esu_license_name=sql_server_esu_license_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, **kwargs: Any + ) -> ItemPaged["_models.SqlServerEsuLicense"]: + """List sqlServerEsuLicense resources in the resource group. + + Gets all sqlServerEsuLicenses in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of SqlServerEsuLicense + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerEsuLicense]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_esu_licenses_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerEsuLicense], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list(self, **kwargs: Any) -> ItemPaged["_models.SqlServerEsuLicense"]: + """List sqlServerEsuLicense resources in the subscription. + + List sqlServerEsuLicense resources in the subscription. + + :return: An iterator like instance of SqlServerEsuLicense + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerEsuLicense]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_esu_licenses_list_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerEsuLicense], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + +class FailoverGroupsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`failover_groups` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def get( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> _models.FailoverGroupResource: + """Retrieves a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :return: FailoverGroupResource. The FailoverGroupResource is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.FailoverGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.FailoverGroupResource] = kwargs.pop("cls", None) + + _request = build_failover_groups_get_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.FailoverGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_initial( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: Union[_models.FailoverGroupResource, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(failover_group_resource, (IOBase, bytes)): + _content = failover_group_resource + else: + _content = json.dumps(failover_group_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_failover_groups_create_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: _models.FailoverGroupResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Required. + :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns FailoverGroupResource. The FailoverGroupResource + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Required. + :type failover_group_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns FailoverGroupResource. The FailoverGroupResource + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Required. + :type failover_group_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns FailoverGroupResource. The FailoverGroupResource + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + sql_managed_instance_name: str, + failover_group_name: str, + failover_group_resource: Union[_models.FailoverGroupResource, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.FailoverGroupResource]: + """Creates or replaces a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :param failover_group_resource: desc. Is one of the following types: FailoverGroupResource, + JSON, IO[bytes] Required. + :type failover_group_resource: ~azure.mgmt.azurearcdata.models.FailoverGroupResource or JSON or + IO[bytes] + :return: An instance of LROPoller that returns FailoverGroupResource. The FailoverGroupResource + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.FailoverGroupResource] = 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._create_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + failover_group_resource=failover_group_resource, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.FailoverGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.FailoverGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.FailoverGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_initial( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_failover_groups_delete_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete( + self, resource_group_name: str, sql_managed_instance_name: str, failover_group_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Deletes a failover group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :param failover_group_name: The name of the Failover Group. Required. + :type failover_group_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + failover_group_name=failover_group_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list( + self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any + ) -> ItemPaged["_models.FailoverGroupResource"]: + """List the failover groups associated with the given sql managed instance. + + List the failover groups associated with the given sql managed instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_managed_instance_name: Name of SQL Managed Instance. Required. + :type sql_managed_instance_name: str + :return: An iterator like instance of FailoverGroupResource + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.FailoverGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.FailoverGroupResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_failover_groups_list_request( + resource_group_name=resource_group_name, + sql_managed_instance_name=sql_managed_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.FailoverGroupResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + +class SqlServerAvailabilityGroupsOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`sql_server_availability_groups` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + def _create_availability_group_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(create_ag_configuration, (IOBase, bytes)): + _content = create_ag_configuration + else: + _content = json.dumps(create_ag_configuration, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_create_availability_group_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: _models.AvailabilityGroupCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_ag_configuration: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_ag_configuration: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_ag_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create_availability_group( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_ag_configuration: The configuration for the new SQL Server availability group + resource. Is one of the following types: AvailabilityGroupCreateUpdateConfiguration, JSON, + IO[bytes] Required. + :type create_ag_configuration: + ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration or JSON or IO[bytes] + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = 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._create_availability_group_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_ag_configuration=create_ag_configuration, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _create_distributed_availability_group_initial( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(create_dag_configuration, (IOBase, bytes)): + _content = create_dag_configuration + else: + _content = json.dumps(create_dag_configuration, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_create_distributed_availability_group_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: _models.DistributedAvailabilityGroupCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_dag_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_dag_configuration: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Required. + :type create_dag_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create_distributed_availability_group( # pylint: disable=name-too-long + self, + resource_group_name: str, + sql_server_instance_name: str, + create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create a SQL Server distributed availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_dag_configuration: The configuration for the new SQL Server availability group + resource. Is one of the following types: DistributedAvailabilityGroupCreateUpdateConfiguration, + JSON, IO[bytes] Required. + :type create_dag_configuration: + ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration or JSON + or IO[bytes] + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = 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._create_distributed_availability_group_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_dag_configuration=create_dag_configuration, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _create_managed_instance_link_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: Union[ + _models.ManagedInstanceLinkCreateUpdateConfiguration, JSON, IO[bytes] + ], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(create_managed_instance_link_configuration, (IOBase, bytes)): + _content = create_managed_instance_link_configuration + else: + _content = json.dumps(create_managed_instance_link_configuration, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_create_managed_instance_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: _models.ManagedInstanceLinkCreateUpdateConfiguration, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Required. + :type create_managed_instance_link_configuration: + ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Required. + :type create_managed_instance_link_configuration: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Required. + :type create_managed_instance_link_configuration: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create_managed_instance_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + create_managed_instance_link_configuration: Union[ + _models.ManagedInstanceLinkCreateUpdateConfiguration, JSON, IO[bytes] + ], + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Create an Managed Instance Link. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param create_managed_instance_link_configuration: The configuration for the new Managed + Instance Link resource. Is one of the following types: + ManagedInstanceLinkCreateUpdateConfiguration, JSON, IO[bytes] Required. + :type create_managed_instance_link_configuration: + ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration or JSON or + IO[bytes] + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = 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._create_managed_instance_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + create_managed_instance_link_configuration=create_managed_instance_link_configuration, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def get( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Retrieves an Arc Sql Server availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: _models.SqlServerAvailabilityGroupResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Required. + :type sql_server_availability_group_resource: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Required. + :type sql_server_availability_group_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Required. + :type sql_server_availability_group_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_resource: Union[_models.SqlServerAvailabilityGroupResource, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Creates or replaces an Arc Sql Server Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_resource: The request body for availability group + resource. Is one of the following types: SqlServerAvailabilityGroupResource, JSON, IO[bytes] + Required. + :type sql_server_availability_group_resource: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource or JSON or IO[bytes] + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_availability_group_resource, (IOBase, bytes)): + _content = sql_server_availability_group_resource + else: + _content = json.dumps(sql_server_availability_group_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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, 201]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_availability_group_update, (IOBase, bytes)): + _content = sql_server_availability_group_update + else: + _content = json.dumps(sql_server_availability_group_update, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: _models.SqlServerAvailabilityGroupUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Required. + :type sql_server_availability_group_update: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Required. + :type sql_server_availability_group_update: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Required. + :type sql_server_availability_group_update: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Updates an existing Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param sql_server_availability_group_update: The requested server availability group resource + state. Is one of the following types: SqlServerAvailabilityGroupUpdate, JSON, IO[bytes] + Required. + :type sql_server_availability_group_update: + ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate or JSON or IO[bytes] + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + sql_server_availability_group_update=sql_server_availability_group_update, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Deletes an Arc Sql Server availability group resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: + """List the availability group associated with the given Arc Sql Server. + + List the availability group associated with the given Arc Sql Server. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An iterator like instance of SqlServerAvailabilityGroupResource + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.SqlServerAvailabilityGroupResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_sql_server_availability_groups_list_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerAvailabilityGroupResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def detail_view( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Retrieves detailed properties of the Availability Group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_detail_view_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def failover( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request manual failover of the availability group to this server. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_failover_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def force_failover_allow_data_loss( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request forced failover of the availability group to this server. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_force_failover_allow_data_loss_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: _models.Databases, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. + Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. + Required. + :type databases: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. + Required. + :type databases: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def add_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: Union[_models.Databases, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request adding database(s) to an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to add to the SQL Server availability group resource. Is + one of the following types: Databases, JSON, IO[bytes] Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases or JSON or IO[bytes] + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(databases, (IOBase, bytes)): + _content = databases + else: + _content = json.dumps(databases, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_add_databases_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _failover_mi_link_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(managed_instance_resource_id, (IOBase, bytes)): + _content = managed_instance_resource_id + else: + _content = json.dumps(managed_instance_resource_id, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_failover_mi_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: _models.FailoverMiLinkResourceId, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Required. + :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Required. + :type managed_instance_resource_id: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Required. + :type managed_instance_resource_id: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_failover_mi_link( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: + """Request failover of Arc Sql Server to Azure Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param managed_instance_resource_id: The azure resource identifier for the Sql Managed + Instance. Is one of the following types: FailoverMiLinkResourceId, JSON, IO[bytes] Required. + :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId or + JSON or IO[bytes] + :return: An instance of LROPoller that returns SqlServerAvailabilityGroupResource. The + SqlServerAvailabilityGroupResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = 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._failover_mi_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + managed_instance_resource_id=managed_instance_resource_id, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerAvailabilityGroupResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_mi_link_initial( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_availability_groups_delete_mi_link_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete_mi_link( + self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Deletes the MI Link between an Azure Arc-enabled SQL Server and an Azure SQL Managed Instance. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_mi_link_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @overload + def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: _models.Databases, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Required. + :type databases: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Required. + :type databases: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def remove_databases( + self, + resource_group_name: str, + sql_server_instance_name: str, + availability_group_name: str, + databases: Union[_models.Databases, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerAvailabilityGroupResource: + """Request removing database(s) from an existing availability group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param availability_group_name: Name of SQL Availability Group. Required. + :type availability_group_name: str + :param databases: The database names to remove from the SQL Server availability group resource. + Is one of the following types: Databases, JSON, IO[bytes] Required. + :type databases: ~azure.mgmt.azurearcdata.models.Databases or JSON or IO[bytes] + :return: SqlServerAvailabilityGroupResource. The SqlServerAvailabilityGroupResource is + compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(databases, (IOBase, bytes)): + _content = databases + else: + _content = json.dumps(databases, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_availability_groups_remove_databases_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + availability_group_name=availability_group_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerAvailabilityGroupResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + +class DataControllersOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`data_controllers` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def get_data_controller( + self, resource_group_name: str, data_controller_name: str, **kwargs: Any + ) -> _models.DataControllerResource: + """Retrieves a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :return: DataControllerResource. The DataControllerResource is compatible with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.DataControllerResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.DataControllerResource] = kwargs.pop("cls", None) + + _request = build_data_controllers_get_data_controller_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.DataControllerResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _put_data_controller_initial( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: Union[_models.DataControllerResource, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(data_controller_resource, (IOBase, bytes)): + _content = data_controller_resource + else: + _content = json.dumps(data_controller_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_data_controllers_put_data_controller_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_put_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: _models.DataControllerResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.DataControllerResource]: + """Creates or replaces a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: desc. Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_put_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.DataControllerResource]: + """Creates or replaces a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: desc. Required. + :type data_controller_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_put_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.DataControllerResource]: + """Creates or replaces a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: desc. Required. + :type data_controller_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_put_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: Union[_models.DataControllerResource, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.DataControllerResource]: + """Creates or replaces a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: desc. Is one of the following types: DataControllerResource, + JSON, IO[bytes] Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerResource or JSON + or IO[bytes] + :return: An instance of LROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.DataControllerResource] = 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._put_data_controller_initial( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + data_controller_resource=data_controller_resource, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.DataControllerResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.DataControllerResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.DataControllerResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _patch_data_controller_initial( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: Union[_models.DataControllerUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(data_controller_resource, (IOBase, bytes)): + _content = data_controller_resource + else: + _content = json.dumps(data_controller_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_data_controllers_patch_data_controller_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_patch_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: _models.DataControllerUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.DataControllerResource]: + """Updates a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: The update data controller resource. Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_patch_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.DataControllerResource]: + """Updates a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: The update data controller resource. Required. + :type data_controller_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_patch_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.DataControllerResource]: + """Updates a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: The update data controller resource. Required. + :type data_controller_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_patch_data_controller( + self, + resource_group_name: str, + data_controller_name: str, + data_controller_resource: Union[_models.DataControllerUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.DataControllerResource]: + """Updates a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param data_controller_resource: The update data controller resource. Is one of the following + types: DataControllerUpdate, JSON, IO[bytes] Required. + :type data_controller_resource: ~azure.mgmt.azurearcdata.models.DataControllerUpdate or JSON or + IO[bytes] + :return: An instance of LROPoller that returns DataControllerResource. The + DataControllerResource is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.DataControllerResource] = 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._patch_data_controller_initial( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + data_controller_resource=data_controller_resource, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.DataControllerResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.DataControllerResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.DataControllerResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_data_controller_initial( + self, resource_group_name: str, data_controller_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_data_controllers_delete_data_controller_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete_data_controller( + self, resource_group_name: str, data_controller_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Deletes a dataController resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_data_controller_initial( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list_in_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.DataControllerResource"]: + """List dataController resources in the resource group. + + List dataController resources in the resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :return: An iterator like instance of DataControllerResource + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.DataControllerResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_data_controllers_list_in_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.DataControllerResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list_in_subscription(self, **kwargs: Any) -> ItemPaged["_models.DataControllerResource"]: + """List dataController resources in the subscription. + + List dataController resources in the subscription. + + :return: An iterator like instance of DataControllerResource + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.DataControllerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.DataControllerResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_data_controllers_list_in_subscription_request( + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.DataControllerResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + +class ActiveDirectoryConnectorsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`active_directory_connectors` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def get( + self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any + ) -> _models.ActiveDirectoryConnectorResource: + """Retrieves an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :return: ActiveDirectoryConnectorResource. The ActiveDirectoryConnectorResource is compatible + with MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.ActiveDirectoryConnectorResource] = kwargs.pop("cls", None) + + _request = build_active_directory_connectors_get_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + active_directory_connector_name=active_directory_connector_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.ActiveDirectoryConnectorResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_initial( + self, + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(active_directory_connector_resource, (IOBase, bytes)): + _content = active_directory_connector_resource + else: + _content = json.dumps(active_directory_connector_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_active_directory_connectors_create_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + active_directory_connector_name=active_directory_connector_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create( + self, + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + active_directory_connector_resource: _models.ActiveDirectoryConnectorResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.ActiveDirectoryConnectorResource]: + """Creates or replaces an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :param active_directory_connector_resource: desc. Required. + :type active_directory_connector_resource: + ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns ActiveDirectoryConnectorResource. The + ActiveDirectoryConnectorResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + active_directory_connector_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.ActiveDirectoryConnectorResource]: + """Creates or replaces an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :param active_directory_connector_resource: desc. Required. + :type active_directory_connector_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns ActiveDirectoryConnectorResource. The + ActiveDirectoryConnectorResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create( + self, + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + active_directory_connector_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.ActiveDirectoryConnectorResource]: + """Creates or replaces an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :param active_directory_connector_resource: desc. Required. + :type active_directory_connector_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns ActiveDirectoryConnectorResource. The + ActiveDirectoryConnectorResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + data_controller_name: str, + active_directory_connector_name: str, + active_directory_connector_resource: Union[_models.ActiveDirectoryConnectorResource, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.ActiveDirectoryConnectorResource]: + """Creates or replaces an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :param active_directory_connector_resource: desc. Is one of the following types: + ActiveDirectoryConnectorResource, JSON, IO[bytes] Required. + :type active_directory_connector_resource: + ~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource or JSON or IO[bytes] + :return: An instance of LROPoller that returns ActiveDirectoryConnectorResource. The + ActiveDirectoryConnectorResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.ActiveDirectoryConnectorResource] = 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._create_initial( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + active_directory_connector_name=active_directory_connector_name, + active_directory_connector_resource=active_directory_connector_resource, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.ActiveDirectoryConnectorResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.ActiveDirectoryConnectorResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.ActiveDirectoryConnectorResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_initial( + self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_active_directory_connectors_delete_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + active_directory_connector_name=active_directory_connector_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete( + self, resource_group_name: str, data_controller_name: str, active_directory_connector_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Deletes an Active Directory connector resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :param active_directory_connector_name: The name of the Active Directory connector instance. + Required. + :type active_directory_connector_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + active_directory_connector_name=active_directory_connector_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list( + self, resource_group_name: str, data_controller_name: str, **kwargs: Any + ) -> ItemPaged["_models.ActiveDirectoryConnectorResource"]: + """List the active directory connectors associated with the given data controller. + + List the active directory connectors associated with the given data controller. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param data_controller_name: The name of the data controller. Required. + :type data_controller_name: str + :return: An iterator like instance of ActiveDirectoryConnectorResource + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.ActiveDirectoryConnectorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.ActiveDirectoryConnectorResource]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_active_directory_connectors_list_request( + resource_group_name=resource_group_name, + data_controller_name=data_controller_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.ActiveDirectoryConnectorResource], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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=_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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + +class SqlServerDatabasesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :attr:`sql_server_databases` attribute. """ - models = _models - def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) + self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list(self, **kwargs: Any) -> ItemPaged["_models.Operation"]: - """Lists all of the available Azure Data Services on Azure Arc API operations. + def get( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Retrieves an Arc Sql Server database. - :return: An iterator like instance of either Operation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.Operation] + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :return: SqlServerDatabaseResource. The SqlServerDatabaseResource is compatible with + MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.SqlServerDatabaseResource] = kwargs.pop("cls", None) + + _request = build_sql_server_databases_get_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerDatabaseResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: _models.SqlServerDatabaseResource, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Required. + :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerDatabaseResource. The SqlServerDatabaseResource is compatible with + MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Required. + :type sql_server_database_resource: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerDatabaseResource. The SqlServerDatabaseResource is compatible with + MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Required. + :type sql_server_database_resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: SqlServerDatabaseResource. The SqlServerDatabaseResource is compatible with + MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def create( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_resource: Union[_models.SqlServerDatabaseResource, JSON, IO[bytes]], + **kwargs: Any + ) -> _models.SqlServerDatabaseResource: + """Creates or replaces an Arc Sql Server Database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_resource: The request body for database resource. Is one of the + following types: SqlServerDatabaseResource, JSON, IO[bytes] Required. + :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + or JSON or IO[bytes] + :return: SqlServerDatabaseResource. The SqlServerDatabaseResource is compatible with + MutableMapping + :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerDatabaseResource] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_database_resource, (IOBase, bytes)): + _content = sql_server_database_resource + else: + _content = json.dumps(sql_server_database_resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_databases_create_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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, 201]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.SqlServerDatabaseResource, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _update_initial( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(sql_server_database_update, (IOBase, bytes)): + _content = sql_server_database_update + else: + _content = json.dumps(sql_server_database_update, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_sql_server_databases_update_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + 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") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: _models.SqlServerDatabaseUpdate, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Required. + :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerDatabaseResource. The + SqlServerDatabaseResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: JSON, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Required. + :type sql_server_database_update: JSON + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerDatabaseResource. The + SqlServerDatabaseResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Required. + :type sql_server_database_update: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns SqlServerDatabaseResource. The + SqlServerDatabaseResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + sql_server_instance_name: str, + database_name: str, + sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, JSON, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.SqlServerDatabaseResource]: + """Updates an existing database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :param sql_server_database_update: The requested database resource state. Is one of the + following types: SqlServerDatabaseUpdate, JSON, IO[bytes] Required. + :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate or + JSON or IO[bytes] + :return: An instance of LROPoller that returns SqlServerDatabaseResource. The + SqlServerDatabaseResource is compatible with MutableMapping + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.SqlServerDatabaseResource] = 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._update_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + sql_server_database_update=sql_server_database_update, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.SqlServerDatabaseResource, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.SqlServerDatabaseResource].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.SqlServerDatabaseResource]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_initial( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_sql_server_databases_delete_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + 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 [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete( + self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Deletes an Arc Sql Server database resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :param database_name: Name of the database. Required. + :type database_name: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + 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._delete_initial( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + database_name=database_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @distributed_trace + def list( + self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any + ) -> ItemPaged["_models.SqlServerDatabaseResource"]: + """List the databases associated with the given Arc Sql Server. + + List the databases associated with the given Arc Sql Server. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param sql_server_instance_name: Name of SQL Server Instance. Required. + :type sql_server_instance_name: str + :return: An iterator like instance of SqlServerDatabaseResource + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + _params = kwargs.pop("params", {}) or {} - api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) - cls: ClsType[_models.OperationListResult] = kwargs.pop("cls", None) + cls: ClsType[List[_models.SqlServerDatabaseResource]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -102,12 +14445,20 @@ def list(self, **kwargs: Any) -> ItemPaged["_models.Operation"]: def prepare_request(next_link=None): if not next_link: - _request = build_list_request( - api_version=api_version, + _request = build_sql_server_databases_list_request( + resource_group_name=resource_group_name, + sql_server_instance_name=sql_server_instance_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, headers=_headers, params=_params, ) - _request.url = self._client.format_url(_request.url) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) else: # make call to next link with the client's api-version @@ -122,16 +14473,24 @@ def prepare_request(next_link=None): _request = HttpRequest( "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + return _request def extract_data(pipeline_response): - deserialized = self._deserialize("OperationListResult", pipeline_response) - list_of_elem = deserialized.value + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.SqlServerDatabaseResource], + deserialized.get("value", []), + ) if cls: list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.next_link or None, iter(list_of_elem) + return deserialized.get("nextLink") or None, iter(list_of_elem) def get_next(next_link=None): _request = prepare_request(next_link) @@ -144,9 +14503,9 @@ def get_next(next_link=None): 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( + error = _failsafe_deserialize( _models.ErrorResponse, - pipeline_response, + response, ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_patch.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_patch.py index f7dd32510333..837c125a81c5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_patch.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_patch.py @@ -1,14 +1,16 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ +# 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. +# -------------------------------------------------------------------------- +from __future__ import annotations """Customize generated code here. Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ -from typing import List -__all__: List[str] = [] # Add all objects you want publicly available to users at this package level + +__all__: list[str] = [] # Add all objects you want publicly available to users at this package level def patch_sdk(): diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_postgres_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_postgres_instances_operations.py deleted file mode 100644 index 87bc57c26b0f..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_postgres_instances_operations.py +++ /dev/null @@ -1,900 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# 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 collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import PipelineClient -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest, HttpResponse -from azure.core.tracing.decorator import distributed_trace -from azure.core.utils import case_insensitive_dict -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -from .. import models as _models -from .._configuration import AzureArcDataManagementClientConfiguration -from .._utils.serialization import Deserializer, Serializer - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list - -_SERIALIZER = Serializer() -_SERIALIZER.client_side_validation = False - - -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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/postgresInstances" - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_list_by_resource_group_request(resource_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_request( - resource_group_name: str, postgres_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_create_request( - resource_group_name: str, postgres_instance_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", "2026-03-01-preview")) - 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.AzureArcData/postgresInstances/{postgresInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), - } - - _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_delete_request( - resource_group_name: str, postgres_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_update_request( - resource_group_name: str, postgres_instance_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", "2026-03-01-preview")) - 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.AzureArcData/postgresInstances/{postgresInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "postgresInstanceName": _SERIALIZER.url("postgres_instance_name", postgres_instance_name, "str"), - } - - _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - -class PostgresInstancesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`postgres_instances` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> ItemPaged["_models.PostgresInstance"]: - """List postgres Instance resources in the subscription. - - List postgres Instance resources in the subscription. - - :return: An iterator like instance of either PostgresInstance or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.PostgresInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("PostgresInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.PostgresInstance"]: - """List postgres Instance resources in the resource group. - - Get a postgres Instances list by Resource group name. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :return: An iterator like instance of either PostgresInstance or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.PostgresInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.PostgresInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("PostgresInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def get(self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any) -> _models.PostgresInstance: - """Retrieves a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :return: PostgresInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.PostgresInstance] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("PostgresInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_initial( - self, - resource_group_name: str, - postgres_instance_name: str, - resource: Union[_models.PostgresInstance, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(resource, (IOBase, bytes)): - _content = resource - else: - _json = self._serialize.body(resource, "PostgresInstance") - - _request = build_create_request( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create( - self, - resource_group_name: str, - postgres_instance_name: str, - resource: _models.PostgresInstance, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.PostgresInstance]: - """Creates or replaces a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param resource: The postgres instance. Required. - :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either PostgresInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create( - self, - resource_group_name: str, - postgres_instance_name: str, - resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.PostgresInstance]: - """Creates or replaces a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param resource: The postgres instance. Required. - :type resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either PostgresInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_create( - self, - resource_group_name: str, - postgres_instance_name: str, - resource: Union[_models.PostgresInstance, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.PostgresInstance]: - """Creates or replaces a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param resource: The postgres instance. Is either a PostgresInstance type or a IO[bytes] type. - Required. - :type resource: ~azure.mgmt.azurearcdata.models.PostgresInstance or IO[bytes] - :return: An instance of LROPoller that returns either PostgresInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.PostgresInstance] - :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[_models.PostgresInstance] = 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._create_initial( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - resource=resource, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("PostgresInstance", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.PostgresInstance].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.PostgresInstance]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _delete_initial(self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_delete(self, resource_group_name: str, postgres_instance_name: str, **kwargs: Any) -> LROPoller[None]: - """Deletes a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @overload - def update( - self, - resource_group_name: str, - postgres_instance_name: str, - parameters: _models.PostgresInstanceUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PostgresInstance: - """Updates a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param parameters: The Postgres Instance. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: PostgresInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def update( - self, - resource_group_name: str, - postgres_instance_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.PostgresInstance: - """Updates a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param parameters: The Postgres Instance. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: PostgresInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def update( - self, - resource_group_name: str, - postgres_instance_name: str, - parameters: Union[_models.PostgresInstanceUpdate, IO[bytes]], - **kwargs: Any - ) -> _models.PostgresInstance: - """Updates a postgres Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param postgres_instance_name: Name of Postgres Instance. Required. - :type postgres_instance_name: str - :param parameters: The Postgres Instance. Is either a PostgresInstanceUpdate type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.PostgresInstanceUpdate or IO[bytes] - :return: PostgresInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.PostgresInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.PostgresInstance] = 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, "PostgresInstanceUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - postgres_instance_name=postgres_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("PostgresInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_managed_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_managed_instances_operations.py deleted file mode 100644 index 4580d62bfbfc..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_managed_instances_operations.py +++ /dev/null @@ -1,906 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# 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 collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import PipelineClient -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest, HttpResponse -from azure.core.tracing.decorator import distributed_trace -from azure.core.utils import case_insensitive_dict -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -from .. import models as _models -from .._configuration import AzureArcDataManagementClientConfiguration -from .._utils.serialization import Deserializer, Serializer - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list - -_SERIALIZER = Serializer() -_SERIALIZER.client_side_validation = False - - -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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances" - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_list_by_resource_group_request(resource_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_request( - resource_group_name: str, sql_managed_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_create_request( - resource_group_name: str, sql_managed_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), - } - - _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_delete_request( - resource_group_name: str, sql_managed_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_update_request( - resource_group_name: str, sql_managed_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlManagedInstanceName": _SERIALIZER.url("sql_managed_instance_name", sql_managed_instance_name, "str"), - } - - _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - -class SqlManagedInstancesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`sql_managed_instances` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> ItemPaged["_models.SqlManagedInstance"]: - """List sqlManagedInstance resources in the subscription. - - List sqlManagedInstance resources in the subscription. - - :return: An iterator like instance of either SqlManagedInstance or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlManagedInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlManagedInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, **kwargs: Any - ) -> ItemPaged["_models.SqlManagedInstance"]: - """List sqlManagedInstance resources in the resource group. - - Gets all sqlManagedInstances in a resource group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :return: An iterator like instance of either SqlManagedInstance or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlManagedInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlManagedInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def get( - self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any - ) -> _models.SqlManagedInstance: - """Retrieves a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :return: SqlManagedInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlManagedInstance] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlManagedInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_initial( - self, - resource_group_name: str, - sql_managed_instance_name: str, - sql_managed_instance: Union[_models.SqlManagedInstance, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_managed_instance, (IOBase, bytes)): - _content = sql_managed_instance - else: - _json = self._serialize.body(sql_managed_instance, "SqlManagedInstance") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - sql_managed_instance: _models.SqlManagedInstance, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlManagedInstance]: - """Creates or replaces a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. - :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlManagedInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - sql_managed_instance: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlManagedInstance]: - """Creates or replaces a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param sql_managed_instance: The SQL Managed Instance to be created or updated. Required. - :type sql_managed_instance: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlManagedInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_create( - self, - resource_group_name: str, - sql_managed_instance_name: str, - sql_managed_instance: Union[_models.SqlManagedInstance, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.SqlManagedInstance]: - """Creates or replaces a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param sql_managed_instance: The SQL Managed Instance to be created or updated. Is either a - SqlManagedInstance type or a IO[bytes] type. Required. - :type sql_managed_instance: ~azure.mgmt.azurearcdata.models.SqlManagedInstance or IO[bytes] - :return: An instance of LROPoller that returns either SqlManagedInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlManagedInstance] - :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[_models.SqlManagedInstance] = 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._create_initial( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - sql_managed_instance=sql_managed_instance, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlManagedInstance", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlManagedInstance].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlManagedInstance]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _delete_initial( - self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_delete(self, resource_group_name: str, sql_managed_instance_name: str, **kwargs: Any) -> LROPoller[None]: - """Deletes a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @overload - def update( - self, - resource_group_name: str, - sql_managed_instance_name: str, - parameters: _models.SqlManagedInstanceUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlManagedInstance: - """Updates a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param parameters: The SQL Managed Instance. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlManagedInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def update( - self, - resource_group_name: str, - sql_managed_instance_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlManagedInstance: - """Updates a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param parameters: The SQL Managed Instance. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlManagedInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def update( - self, - resource_group_name: str, - sql_managed_instance_name: str, - parameters: Union[_models.SqlManagedInstanceUpdate, IO[bytes]], - **kwargs: Any - ) -> _models.SqlManagedInstance: - """Updates a SQL Managed Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_managed_instance_name: Name of SQL Managed Instance. Required. - :type sql_managed_instance_name: str - :param parameters: The SQL Managed Instance. Is either a SqlManagedInstanceUpdate type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate or IO[bytes] - :return: SqlManagedInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlManagedInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlManagedInstance] = 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, "SqlManagedInstanceUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_managed_instance_name=sql_managed_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlManagedInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_availability_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_availability_groups_operations.py deleted file mode 100644 index 82da02866ff2..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_availability_groups_operations.py +++ /dev/null @@ -1,2705 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression,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 collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import PipelineClient -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest, HttpResponse -from azure.core.tracing.decorator import distributed_trace -from azure.core.utils import case_insensitive_dict -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -from .. import models as _models -from .._configuration import AzureArcDataManagementClientConfiguration -from .._utils.serialization import Deserializer, Serializer - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list - -_SERIALIZER = Serializer() -_SERIALIZER.client_side_validation = False - - -def build_create_request( - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_delete_request( - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_request( - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_update_request( - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_detail_view_request( - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/getDetailView", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_failover_request( - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/failover", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_force_failover_allow_data_loss_request( # pylint: disable=name-too-long - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/forceFailoverAllowDataLoss", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_create_availability_group_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createAvailabilityGroup", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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_create_distributed_availability_group_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createDistributedAvailabilityGroup", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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_create_managed_instance_link_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createManagedInstanceLink", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url( - "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 - ), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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_add_databases_request( - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/addDatabases", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**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_failover_mi_link_request( - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/failoverMiLink", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url( - "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 - ), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**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_delete_mi_link_request( - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/deleteMiLink", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url( - "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 - ), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_remove_databases_request( - resource_group_name: str, - sql_server_instance_name: str, - availability_group_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/removeDatabases", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "availabilityGroupName": _SERIALIZER.url("availability_group_name", availability_group_name, "str"), - } - - _url: str = _url.format(**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_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -class SqlServerAvailabilityGroupsOperations: # pylint: disable=too-many-public-methods - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`sql_server_availability_groups` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @overload - def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_resource: _models.SqlServerAvailabilityGroupResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Creates or replaces an Arc Sql Server Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_resource: The request body for availability group - resource. Required. - :type sql_server_availability_group_resource: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Creates or replaces an Arc Sql Server Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_resource: The request body for availability group - resource. Required. - :type sql_server_availability_group_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_resource: Union[_models.SqlServerAvailabilityGroupResource, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Creates or replaces an Arc Sql Server Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_resource: The request body for availability group - resource. Is either a SqlServerAvailabilityGroupResource type or a IO[bytes] type. Required. - :type sql_server_availability_group_resource: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource or IO[bytes] - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_availability_group_resource, (IOBase, bytes)): - _content = sql_server_availability_group_resource - else: - _json = self._serialize.body(sql_server_availability_group_resource, "SqlServerAvailabilityGroupResource") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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, 201]: - 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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _delete_initial( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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 [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_delete( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Deletes an Arc Sql Server availability group resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def get( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Retrieves an Arc Sql Server availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _update_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_availability_group_update, (IOBase, bytes)): - _content = sql_server_availability_group_update - else: - _json = self._serialize.body(sql_server_availability_group_update, "SqlServerAvailabilityGroupUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_update: _models.SqlServerAvailabilityGroupUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Updates an existing Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_update: The requested server availability group resource - state. Required. - :type sql_server_availability_group_update: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_update: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Updates an existing Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_update: The requested server availability group resource - state. Required. - :type sql_server_availability_group_update: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - sql_server_availability_group_update: Union[_models.SqlServerAvailabilityGroupUpdate, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Updates an existing Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param sql_server_availability_group_update: The requested server availability group resource - state. Is either a SqlServerAvailabilityGroupUpdate type or a IO[bytes] type. Required. - :type sql_server_availability_group_update: - ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupUpdate or IO[bytes] - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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[_models.SqlServerAvailabilityGroupResource] = 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._update_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - sql_server_availability_group_update=sql_server_availability_group_update, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerAvailabilityGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def detail_view( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Retrieves detailed properties of the Availability Group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - _request = build_detail_view_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def failover( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request manual failover of the availability group to this server. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - _request = build_failover_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def force_failover_allow_data_loss( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request forced failover of the availability group to this server. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - _request = build_force_failover_allow_data_loss_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_availability_group_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(create_ag_configuration, (IOBase, bytes)): - _content = create_ag_configuration - else: - _json = self._serialize.body(create_ag_configuration, "AvailabilityGroupCreateUpdateConfiguration") - - _request = build_create_availability_group_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create_availability_group( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_ag_configuration: _models.AvailabilityGroupCreateUpdateConfiguration, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_ag_configuration: The configuration for the new SQL Server availability group - resource. Required. - :type create_ag_configuration: - ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_availability_group( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_ag_configuration: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_ag_configuration: The configuration for the new SQL Server availability group - resource. Required. - :type create_ag_configuration: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_create_availability_group( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_ag_configuration: Union[_models.AvailabilityGroupCreateUpdateConfiguration, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_ag_configuration: The configuration for the new SQL Server availability group - resource. Is either a AvailabilityGroupCreateUpdateConfiguration type or a IO[bytes] type. - Required. - :type create_ag_configuration: - ~azure.mgmt.azurearcdata.models.AvailabilityGroupCreateUpdateConfiguration or IO[bytes] - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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[_models.SqlServerAvailabilityGroupResource] = 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._create_availability_group_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - create_ag_configuration=create_ag_configuration, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerAvailabilityGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _create_distributed_availability_group_initial( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(create_dag_configuration, (IOBase, bytes)): - _content = create_dag_configuration - else: - _json = self._serialize.body( - create_dag_configuration, "DistributedAvailabilityGroupCreateUpdateConfiguration" - ) - - _request = build_create_distributed_availability_group_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create_distributed_availability_group( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - create_dag_configuration: _models.DistributedAvailabilityGroupCreateUpdateConfiguration, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server distributed availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_dag_configuration: The configuration for the new SQL Server availability group - resource. Required. - :type create_dag_configuration: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_distributed_availability_group( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - create_dag_configuration: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server distributed availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_dag_configuration: The configuration for the new SQL Server availability group - resource. Required. - :type create_dag_configuration: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_create_distributed_availability_group( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - create_dag_configuration: Union[_models.DistributedAvailabilityGroupCreateUpdateConfiguration, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create a SQL Server distributed availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_dag_configuration: The configuration for the new SQL Server availability group - resource. Is either a DistributedAvailabilityGroupCreateUpdateConfiguration type or a IO[bytes] - type. Required. - :type create_dag_configuration: - ~azure.mgmt.azurearcdata.models.DistributedAvailabilityGroupCreateUpdateConfiguration or - IO[bytes] - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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[_models.SqlServerAvailabilityGroupResource] = 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._create_distributed_availability_group_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - create_dag_configuration=create_dag_configuration, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerAvailabilityGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _create_managed_instance_link_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_managed_instance_link_configuration: Union[ - _models.ManagedInstanceLinkCreateUpdateConfiguration, IO[bytes] - ], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(create_managed_instance_link_configuration, (IOBase, bytes)): - _content = create_managed_instance_link_configuration - else: - _json = self._serialize.body( - create_managed_instance_link_configuration, "ManagedInstanceLinkCreateUpdateConfiguration" - ) - - _request = build_create_managed_instance_link_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create_managed_instance_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_managed_instance_link_configuration: _models.ManagedInstanceLinkCreateUpdateConfiguration, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create an Managed Instance Link. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_managed_instance_link_configuration: The configuration for the new Managed - Instance Link resource. Required. - :type create_managed_instance_link_configuration: - ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_managed_instance_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_managed_instance_link_configuration: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create an Managed Instance Link. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_managed_instance_link_configuration: The configuration for the new Managed - Instance Link resource. Required. - :type create_managed_instance_link_configuration: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_create_managed_instance_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - create_managed_instance_link_configuration: Union[ - _models.ManagedInstanceLinkCreateUpdateConfiguration, IO[bytes] - ], - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Create an Managed Instance Link. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param create_managed_instance_link_configuration: The configuration for the new Managed - Instance Link resource. Is either a ManagedInstanceLinkCreateUpdateConfiguration type or a - IO[bytes] type. Required. - :type create_managed_instance_link_configuration: - ~azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration or IO[bytes] - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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[_models.SqlServerAvailabilityGroupResource] = 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._create_managed_instance_link_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - create_managed_instance_link_configuration=create_managed_instance_link_configuration, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerAvailabilityGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @overload - def add_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: _models.Databases, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request adding database(s) to an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to add to the SQL Server availability group resource. - Required. - :type databases: ~azure.mgmt.azurearcdata.models.Databases - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def add_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request adding database(s) to an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to add to the SQL Server availability group resource. - Required. - :type databases: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def add_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: Union[_models.Databases, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request adding database(s) to an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to add to the SQL Server availability group resource. Is - either a Databases type or a IO[bytes] type. Required. - :type databases: ~azure.mgmt.azurearcdata.models.Databases or IO[bytes] - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(databases, (IOBase, bytes)): - _content = databases - else: - _json = self._serialize.body(databases, "Databases") - - _request = build_add_databases_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _failover_mi_link_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(managed_instance_resource_id, (IOBase, bytes)): - _content = managed_instance_resource_id - else: - _json = self._serialize.body(managed_instance_resource_id, "FailoverMiLinkResourceId") - - _request = build_failover_mi_link_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_failover_mi_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - managed_instance_resource_id: _models.FailoverMiLinkResourceId, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Request failover of Arc Sql Server to Azure Managed Instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param managed_instance_resource_id: The azure resource identifier for the Sql Managed - Instance. Required. - :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_failover_mi_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - managed_instance_resource_id: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Request failover of Arc Sql Server to Azure Managed Instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param managed_instance_resource_id: The azure resource identifier for the Sql Managed - Instance. Required. - :type managed_instance_resource_id: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_failover_mi_link( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - managed_instance_resource_id: Union[_models.FailoverMiLinkResourceId, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.SqlServerAvailabilityGroupResource]: - """Request failover of Arc Sql Server to Azure Managed Instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param managed_instance_resource_id: The azure resource identifier for the Sql Managed - Instance. Is either a FailoverMiLinkResourceId type or a IO[bytes] type. Required. - :type managed_instance_resource_id: ~azure.mgmt.azurearcdata.models.FailoverMiLinkResourceId or - IO[bytes] - :return: An instance of LROPoller that returns either SqlServerAvailabilityGroupResource or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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[_models.SqlServerAvailabilityGroupResource] = 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._failover_mi_link_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - managed_instance_resource_id=managed_instance_resource_id, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerAvailabilityGroupResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerAvailabilityGroupResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _delete_mi_link_initial( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_mi_link_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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 [202]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = {} - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_delete_mi_link( - self, resource_group_name: str, sql_server_instance_name: str, availability_group_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Deletes the MI Link between an Azure Arc-enabled SQL Server and an Azure SQL Managed Instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :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 = 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)) - 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._delete_mi_link_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @overload - def remove_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: _models.Databases, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request removing database(s) from an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to remove from the SQL Server availability group resource. - Required. - :type databases: ~azure.mgmt.azurearcdata.models.Databases - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def remove_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request removing database(s) from an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to remove from the SQL Server availability group resource. - Required. - :type databases: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def remove_databases( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_name: str, - databases: Union[_models.Databases, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerAvailabilityGroupResource: - """Request removing database(s) from an existing availability group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_name: Name of SQL Availability Group. Required. - :type availability_group_name: str - :param databases: The database names to remove from the SQL Server availability group resource. - Is either a Databases type or a IO[bytes] type. Required. - :type databases: ~azure.mgmt.azurearcdata.models.Databases or IO[bytes] - :return: SqlServerAvailabilityGroupResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerAvailabilityGroupResource] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(databases, (IOBase, bytes)): - _content = databases - else: - _json = self._serialize.body(databases, "Databases") - - _request = build_remove_databases_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - availability_group_name=availability_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlServerAvailabilityGroupResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def list( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: - """List the availability group associated with the given Arc Sql Server. - - List the availability group associated with the given Arc Sql Server. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result - of cls(response) - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.ArcSqlServerAvailabilityGroupListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("ArcSqlServerAvailabilityGroupListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_databases_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_databases_operations.py deleted file mode 100644 index 2f3af9b52c49..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_databases_operations.py +++ /dev/null @@ -1,855 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# 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 collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import PipelineClient -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest, HttpResponse -from azure.core.tracing.decorator import distributed_trace -from azure.core.utils import case_insensitive_dict -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -from .. import models as _models -from .._configuration import AzureArcDataManagementClientConfiguration -from .._utils.serialization import Deserializer, Serializer - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list - -_SERIALIZER = Serializer() -_SERIALIZER.client_side_validation = False - - -def build_create_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - } - - _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_delete_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_update_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - "databaseName": _SERIALIZER.url("database_name", database_name, "str"), - } - - _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_list_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -class SqlServerDatabasesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`sql_server_databases` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @overload - def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_resource: _models.SqlServerDatabaseResource, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerDatabaseResource: - """Creates or replaces an Arc Sql Server Database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_resource: The request body for database resource. Required. - :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerDatabaseResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_resource: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerDatabaseResource: - """Creates or replaces an Arc Sql Server Database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_resource: The request body for database resource. Required. - :type sql_server_database_resource: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerDatabaseResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def create( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_resource: Union[_models.SqlServerDatabaseResource, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerDatabaseResource: - """Creates or replaces an Arc Sql Server Database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_resource: The request body for database resource. Is either a - SqlServerDatabaseResource type or a IO[bytes] type. Required. - :type sql_server_database_resource: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - or IO[bytes] - :return: SqlServerDatabaseResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerDatabaseResource] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_database_resource, (IOBase, bytes)): - _content = sql_server_database_resource - else: - _json = self._serialize.body(sql_server_database_resource, "SqlServerDatabaseResource") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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, 201]: - 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("SqlServerDatabaseResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _delete_initial( - self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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 [202, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_delete( - self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any - ) -> LROPoller[None]: - """Deletes an Arc Sql Server database resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - @distributed_trace - def get( - self, resource_group_name: str, sql_server_instance_name: str, database_name: str, **kwargs: Any - ) -> _models.SqlServerDatabaseResource: - """Retrieves an Arc Sql Server database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :return: SqlServerDatabaseResource or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerDatabaseResource] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerDatabaseResource", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _update_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_database_update, (IOBase, bytes)): - _content = sql_server_database_update - else: - _json = self._serialize.body(sql_server_database_update, "SqlServerDatabaseUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_update: _models.SqlServerDatabaseUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerDatabaseResource]: - """Updates an existing database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_update: The requested database resource state. Required. - :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerDatabaseResource or the result - of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_update: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerDatabaseResource]: - """Updates an existing database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_update: The requested database resource state. Required. - :type sql_server_database_update: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerDatabaseResource or the result - of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - database_name: str, - sql_server_database_update: Union[_models.SqlServerDatabaseUpdate, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.SqlServerDatabaseResource]: - """Updates an existing database. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param database_name: Name of the database. Required. - :type database_name: str - :param sql_server_database_update: The requested database resource state. Is either a - SqlServerDatabaseUpdate type or a IO[bytes] type. Required. - :type sql_server_database_update: ~azure.mgmt.azurearcdata.models.SqlServerDatabaseUpdate or - IO[bytes] - :return: An instance of LROPoller that returns either SqlServerDatabaseResource or the result - of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] - :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[_models.SqlServerDatabaseResource] = 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._update_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - database_name=database_name, - sql_server_database_update=sql_server_database_update, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerDatabaseResource", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerDatabaseResource].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerDatabaseResource]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def list( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> ItemPaged["_models.SqlServerDatabaseResource"]: - """List the databases associated with the given Arc Sql Server. - - List the databases associated with the given Arc Sql Server. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: An iterator like instance of either SqlServerDatabaseResource or the result of - cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerDatabaseResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.ArcSqlServerDatabaseListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("ArcSqlServerDatabaseListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_esu_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_esu_licenses_operations.py deleted file mode 100644 index 116dfa1b676f..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_esu_licenses_operations.py +++ /dev/null @@ -1,815 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# 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 collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Optional, TypeVar, Union, overload -import urllib.parse - -from azure.core import PipelineClient -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - map_error, -) -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.rest import HttpRequest, HttpResponse -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 .._configuration import AzureArcDataManagementClientConfiguration -from .._utils.serialization import Deserializer, Serializer - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list - -_SERIALIZER = Serializer() -_SERIALIZER.client_side_validation = False - - -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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses" - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_list_by_resource_group_request(resource_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url( - "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 - ), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_request( - resource_group_name: str, sql_server_esu_license_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url( - "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 - ), - "sqlServerEsuLicenseName": _SERIALIZER.url( - "sql_server_esu_license_name", sql_server_esu_license_name, "str", pattern=r"^[-\w\._\(\)]+$" - ), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_create_request( - resource_group_name: str, sql_server_esu_license_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url( - "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 - ), - "sqlServerEsuLicenseName": _SERIALIZER.url( - "sql_server_esu_license_name", sql_server_esu_license_name, "str", pattern=r"^[-\w\._\(\)]+$" - ), - } - - _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_delete_request( - resource_group_name: str, sql_server_esu_license_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url( - "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 - ), - "sqlServerEsuLicenseName": _SERIALIZER.url( - "sql_server_esu_license_name", sql_server_esu_license_name, "str", pattern=r"^[-\w\._\(\)]+$" - ), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_update_request( - resource_group_name: str, sql_server_esu_license_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url( - "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 - ), - "sqlServerEsuLicenseName": _SERIALIZER.url( - "sql_server_esu_license_name", sql_server_esu_license_name, "str", pattern=r"^[-\w\._\(\)]+$" - ), - } - - _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - -class SqlServerEsuLicensesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`sql_server_esu_licenses` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> ItemPaged["_models.SqlServerEsuLicense"]: - """List sqlServerEsuLicense resources in the subscription. - - List sqlServerEsuLicense resources in the subscription. - - :return: An iterator like instance of either SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerEsuLicenseListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerEsuLicenseListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, **kwargs: Any - ) -> ItemPaged["_models.SqlServerEsuLicense"]: - """List sqlServerEsuLicense resources in the resource group. - - Gets all sqlServerEsuLicenses in a resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :return: An iterator like instance of either SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerEsuLicense] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerEsuLicenseListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerEsuLicenseListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def get( - self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Retrieves a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerEsuLicense] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_server_esu_license_name=sql_server_esu_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerEsuLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - def create( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - sql_server_esu_license: _models.SqlServerEsuLicense, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Creates or replaces a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. - :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def create( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - sql_server_esu_license: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Creates or replaces a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Required. - :type sql_server_esu_license: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def create( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - sql_server_esu_license: Union[_models.SqlServerEsuLicense, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Creates or replaces a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param sql_server_esu_license: The SQL Server ESU license to be created or updated. Is either a - SqlServerEsuLicense type or a IO[bytes] type. Required. - :type sql_server_esu_license: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense or IO[bytes] - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerEsuLicense] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_esu_license, (IOBase, bytes)): - _content = sql_server_esu_license - else: - _json = self._serialize.body(sql_server_esu_license, "SqlServerEsuLicense") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_server_esu_license_name=sql_server_esu_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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, 201]: - 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("SqlServerEsuLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def delete( # pylint: disable=inconsistent-return-statements - self, resource_group_name: str, sql_server_esu_license_name: str, **kwargs: Any - ) -> None: - """Deletes a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :return: None or the result of cls(response) - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[None] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_esu_license_name=sql_server_esu_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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, 204]: - 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) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - def update( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - parameters: _models.SqlServerEsuLicenseUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Updates a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param parameters: The SQL Server ESU license. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def update( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Updates a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param parameters: The SQL Server ESU license. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def update( - self, - resource_group_name: str, - sql_server_esu_license_name: str, - parameters: Union[_models.SqlServerEsuLicenseUpdate, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerEsuLicense: - """Updates a SQL Server ESU license resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_esu_license_name: Name of SQL Server ESU License. Required. - :type sql_server_esu_license_name: str - :param parameters: The SQL Server ESU license. Is either a SqlServerEsuLicenseUpdate type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicenseUpdate or IO[bytes] - :return: SqlServerEsuLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerEsuLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerEsuLicense] = 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, "SqlServerEsuLicenseUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_server_esu_license_name=sql_server_esu_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlServerEsuLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_instances_operations.py deleted file mode 100644 index 18af41a5d9e9..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_instances_operations.py +++ /dev/null @@ -1,3905 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression,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 __future__ import annotations -from collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload -import urllib.parse - -from azure.core import PipelineClient -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - StreamClosedError, - StreamConsumedError, - map_error, -) -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.core.rest import HttpRequest, HttpResponse -from azure.core.tracing.decorator import distributed_trace -from azure.core.utils import case_insensitive_dict -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -from .. import models as _models -from .._configuration import AzureArcDataManagementClientConfiguration -from .._utils.serialization import Deserializer, Serializer - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list - -_SERIALIZER = Serializer() -_SERIALIZER.client_side_validation = False - - -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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances" - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_list_by_resource_group_request(resource_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_create_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_delete_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_update_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_telemetry_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getTelemetry", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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_get_best_practices_assessment_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getBestPracticesAssessment", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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_run_migration_assessment_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runMigrationAssessment", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_run_target_recommendation_job_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runTargetRecommendationJob", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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_get_target_recommendation_reports_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getTargetRecommendationReports", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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_get_migration_readiness_report_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getMigrationReadinessReport", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_run_best_practices_assessment_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runBestPracticesAssessment", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_run_best_practice_assessment_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runBestPracticeAssessment", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_run_migration_readiness_assessment_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runMigrationReadinessAssessment", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_jobs_status_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getJobsStatus", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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_get_jobs_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getJobs", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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_pre_upgrade_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/preUpgrade", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_post_upgrade_request( - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/postUpgrade", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_run_managed_instance_link_assessment_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runManagedInstanceLinkAssessment", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url( - "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 - ), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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_get_all_availability_groups_request( # pylint: disable=name-too-long - resource_group_name: str, sql_server_instance_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getAllAvailabilityGroups", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerInstanceName": _SERIALIZER.url("sql_server_instance_name", sql_server_instance_name, "str"), - } - - _url: str = _url.format(**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 SqlServerInstancesOperations: # pylint: disable=too-many-public-methods - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`sql_server_instances` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> ItemPaged["_models.SqlServerInstance"]: - """List sqlServerInstance resources in the subscription. - - List sqlServerInstance resources in the subscription. - - :return: An iterator like instance of either SqlServerInstance or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.SqlServerInstance"]: - """List sqlServerInstance resources in the resource group. - - Gets all sqlServerInstances in a resource group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :return: An iterator like instance of either SqlServerInstance or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def get(self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any) -> _models.SqlServerInstance: - """Retrieves a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance: Union[_models.SqlServerInstance, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance, (IOBase, bytes)): - _content = sql_server_instance - else: - _json = self._serialize.body(sql_server_instance, "SqlServerInstance") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 201]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_create( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance: _models.SqlServerInstance, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstance]: - """Creates or replaces a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance: The SQL Server Instance to be created or updated. Required. - :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstance]: - """Creates or replaces a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance: The SQL Server Instance to be created or updated. Required. - :type sql_server_instance: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_create( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance: Union[_models.SqlServerInstance, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstance]: - """Creates or replaces a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance: The SQL Server Instance to be created or updated. Is either a - SqlServerInstance type or a IO[bytes] type. Required. - :type sql_server_instance: ~azure.mgmt.azurearcdata.models.SqlServerInstance or IO[bytes] - :return: An instance of LROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :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[_models.SqlServerInstance] = 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._create_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance=sql_server_instance, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerInstance].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerInstance]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _delete_initial( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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, 204]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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 = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_delete(self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any) -> LROPoller[None]: - """Deletes a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :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 = 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)) - 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._delete_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - if polling is True: - polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - - def _update_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - parameters: Union[_models.SqlServerInstanceUpdate, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = 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, "SqlServerInstanceUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - parameters: _models.SqlServerInstanceUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstance]: - """Updates a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param parameters: The SQL Server Instance. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstance]: - """Updates a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param parameters: The SQL Server Instance. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_update( - self, - resource_group_name: str, - sql_server_instance_name: str, - parameters: Union[_models.SqlServerInstanceUpdate, IO[bytes]], - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstance]: - """Updates a SQL Server Instance resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param parameters: The SQL Server Instance. Is either a SqlServerInstanceUpdate type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerInstanceUpdate or IO[bytes] - :return: An instance of LROPoller that returns either SqlServerInstance or the result of - cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstance] - :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[_models.SqlServerInstance] = 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._update_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - parameters=parameters, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerInstance", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerInstance].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerInstance]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _get_telemetry_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): - _content = sql_server_instance_telemetry_request - else: - _json = self._serialize.body(sql_server_instance_telemetry_request, "SqlServerInstanceTelemetryRequest") - - _request = build_get_telemetry_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_get_telemetry( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_telemetry_request: _models.SqlServerInstanceTelemetryRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[ItemPaged[list[str]]]: - """Retrieves SQL Server instance telemetry. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server - instance telemetry. Required. - :type sql_server_instance_telemetry_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceTelemetryResponse or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_get_telemetry( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_telemetry_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[ItemPaged[list[str]]]: - """Retrieves SQL Server instance telemetry. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server - instance telemetry. Required. - :type sql_server_instance_telemetry_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceTelemetryResponse or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_get_telemetry( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_telemetry_request: Union[_models.SqlServerInstanceTelemetryRequest, IO[bytes]], - **kwargs: Any - ) -> LROPoller[ItemPaged[list[str]]]: - """Retrieves SQL Server instance telemetry. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_telemetry_request: Contains the parameters to get SQL Server - instance telemetry. Is either a SqlServerInstanceTelemetryRequest type or a IO[bytes] type. - Required. - :type sql_server_instance_telemetry_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTelemetryRequest or IO[bytes] - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceTelemetryResponse or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] - :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[_models.SqlServerInstanceTelemetryResponse] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance_telemetry_request, (IOBase, bytes)): - _content = sql_server_instance_telemetry_request - else: - _json = self._serialize.body(sql_server_instance_telemetry_request, "SqlServerInstanceTelemetryRequest") - - def prepare_request(next_link=None): - if not next_link: - - _request = build_get_telemetry_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceTelemetryResponse", pipeline_response.http_response) - list_of_elem = deserialized.rows - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - 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._get_telemetry_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_telemetry_request=sql_server_instance_telemetry_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - def internal_get_next(next_link=None): - if next_link is None: - return pipeline_response - return get_next(next_link) - - return ItemPaged(internal_get_next, extract_data) - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[ItemPaged[list[str]]].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[ItemPaged[list[str]]]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _get_best_practices_assessment_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, IO[bytes]], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): - _content = sql_server_instance_bpa_request - else: - _json = self._serialize.body(sql_server_instance_bpa_request, "SqlServerInstanceBpaRequest") - - _request = build_get_best_practices_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_get_best_practices_assessment( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_bpa_request: _models.SqlServerInstanceBpaRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[ItemPaged[list[str]]]: - """Retrieves SQL best practices assessment results for the SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment - results. Required. - :type sql_server_instance_bpa_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceBpaResponse or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_get_best_practices_assessment( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_bpa_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[ItemPaged[list[str]]]: - """Retrieves SQL best practices assessment results for the SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment - results. Required. - :type sql_server_instance_bpa_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceBpaResponse or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_get_best_practices_assessment( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_bpa_request: Union[_models.SqlServerInstanceBpaRequest, IO[bytes]], - **kwargs: Any - ) -> LROPoller[ItemPaged[list[str]]]: - """Retrieves SQL best practices assessment results for the SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_bpa_request: The request to fetch the SQL best practices assessment - results. Is either a SqlServerInstanceBpaRequest type or a IO[bytes] type. Required. - :type sql_server_instance_bpa_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceBpaRequest or IO[bytes] - :return: An instance of LROPoller that returns an iterator like instance of either - SqlServerInstanceBpaResponse or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[list[str]]] - :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[_models.SqlServerInstanceBpaResponse] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance_bpa_request, (IOBase, bytes)): - _content = sql_server_instance_bpa_request - else: - _json = self._serialize.body(sql_server_instance_bpa_request, "SqlServerInstanceBpaRequest") - - def prepare_request(next_link=None): - if not next_link: - - _request = build_get_best_practices_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceBpaResponse", pipeline_response.http_response) - list_of_elem = deserialized.rows - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - 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._get_best_practices_assessment_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_bpa_request=sql_server_instance_bpa_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - def internal_get_next(next_link=None): - if next_link is None: - return pipeline_response - return get_next(next_link) - - return ItemPaged(internal_get_next, extract_data) - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[ItemPaged[list[str]]].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[ItemPaged[list[str]]]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def run_migration_assessment( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> _models.SqlServerInstanceRunMigrationAssessmentResponse: - """Runs migration assessment for SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: SqlServerInstanceRunMigrationAssessmentResponse or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationAssessmentResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceRunMigrationAssessmentResponse] = kwargs.pop("cls", None) - - _request = build_run_migration_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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( - "SqlServerInstanceRunMigrationAssessmentResponse", pipeline_response.http_response - ) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _run_target_recommendation_job_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_run_target_recommendation_job_request: Optional[ - Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, IO[bytes]] - ] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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)) - content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = ( - content_type or "application/json" if sql_server_instance_run_target_recommendation_job_request else None - ) - _json = None - _content = None - if isinstance(sql_server_instance_run_target_recommendation_job_request, (IOBase, bytes)): - _content = sql_server_instance_run_target_recommendation_job_request - else: - if sql_server_instance_run_target_recommendation_job_request is not None: - _json = self._serialize.body( - sql_server_instance_run_target_recommendation_job_request, - "SqlServerInstanceRunTargetRecommendationJobRequest", - ) - else: - _json = None - - _request = build_run_target_recommendation_job_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_run_target_recommendation_job( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_run_target_recommendation_job_request: Optional[ - _models.SqlServerInstanceRunTargetRecommendationJobRequest - ] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: - """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. - If the previous job is in a non-terminal state (NotStarted or InProgress), calling this - operation again returns the existing job status without creating a new job. A new job is - created only when the previous job has reached a terminal state (Succeeded or Failed). This - operation does not return recommendations directly. Use the GetTargetRecommendationReports API - to check the job status and retrieve the target recommendation report if the jobStatus is - Succeeded. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to - run SQL Server instance target recommendation job. Default value is None. - :type sql_server_instance_run_target_recommendation_job_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either - SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_run_target_recommendation_job( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_run_target_recommendation_job_request: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: - """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. - If the previous job is in a non-terminal state (NotStarted or InProgress), calling this - operation again returns the existing job status without creating a new job. A new job is - created only when the previous job has reached a terminal state (Succeeded or Failed). This - operation does not return recommendations directly. Use the GetTargetRecommendationReports API - to check the job status and retrieve the target recommendation report if the jobStatus is - Succeeded. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to - run SQL Server instance target recommendation job. Default value is None. - :type sql_server_instance_run_target_recommendation_job_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either - SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_run_target_recommendation_job( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_run_target_recommendation_job_request: Optional[ - Union[_models.SqlServerInstanceRunTargetRecommendationJobRequest, IO[bytes]] - ] = None, - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]: - """Starts a target recommendation job for the SQL Server instance. Only one job can run at a time. - If the previous job is in a non-terminal state (NotStarted or InProgress), calling this - operation again returns the existing job status without creating a new job. A new job is - created only when the previous job has reached a terminal state (Succeeded or Failed). This - operation does not return recommendations directly. Use the GetTargetRecommendationReports API - to check the job status and retrieve the target recommendation report if the jobStatus is - Succeeded. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_run_target_recommendation_job_request: Contains the parameters to - run SQL Server instance target recommendation job. Is either a - SqlServerInstanceRunTargetRecommendationJobRequest type or a IO[bytes] type. Default value is - None. - :type sql_server_instance_run_target_recommendation_job_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobRequest or IO[bytes] - :return: An instance of LROPoller that returns either - SqlServerInstanceRunTargetRecommendationJobResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunTargetRecommendationJobResponse] - :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)) - content_type = content_type if sql_server_instance_run_target_recommendation_job_request else None - cls: ClsType[_models.SqlServerInstanceRunTargetRecommendationJobResponse] = 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._run_target_recommendation_job_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_run_target_recommendation_job_request=sql_server_instance_run_target_recommendation_job_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceRunTargetRecommendationJobResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerInstanceRunTargetRecommendationJobResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _get_target_recommendation_reports_initial( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_target_recommendation_reports_request: Optional[ - Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, IO[bytes]] - ] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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)) - content_type = content_type if sql_server_instance_target_recommendation_reports_request else None - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = ( - content_type or "application/json" if sql_server_instance_target_recommendation_reports_request else None - ) - _json = None - _content = None - if isinstance(sql_server_instance_target_recommendation_reports_request, (IOBase, bytes)): - _content = sql_server_instance_target_recommendation_reports_request - else: - if sql_server_instance_target_recommendation_reports_request is not None: - _json = self._serialize.body( - sql_server_instance_target_recommendation_reports_request, - "SqlServerInstanceTargetRecommendationReportsRequest", - ) - else: - _json = None - - _request = build_get_target_recommendation_reports_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_get_target_recommendation_reports( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_target_recommendation_reports_request: Optional[ - _models.SqlServerInstanceTargetRecommendationReportsRequest - ] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: - """Retrieves the current job status and the latest target recommendation report for the SQL Server - instance. The response always includes the jobStatus field, which indicates the state of the - most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The - report data is included in the response only when the jobStatus is Succeeded. A target - recommendation job must be started using the RunTargetRecommendationJob API before calling this - API. Only the most recent report is returned. If the report contains more sections than can be - returned in a single response, use the nextReportOffset and nextSectionOffset values from the - response to retrieve the remaining data. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to - get SQL Server instance target recommendation reports. Default value is None. - :type sql_server_instance_target_recommendation_reports_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either - SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_get_target_recommendation_reports( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_target_recommendation_reports_request: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: - """Retrieves the current job status and the latest target recommendation report for the SQL Server - instance. The response always includes the jobStatus field, which indicates the state of the - most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The - report data is included in the response only when the jobStatus is Succeeded. A target - recommendation job must be started using the RunTargetRecommendationJob API before calling this - API. Only the most recent report is returned. If the report contains more sections than can be - returned in a single response, use the nextReportOffset and nextSectionOffset values from the - response to retrieve the remaining data. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to - get SQL Server instance target recommendation reports. Default value is None. - :type sql_server_instance_target_recommendation_reports_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either - SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_get_target_recommendation_reports( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_target_recommendation_reports_request: Optional[ - Union[_models.SqlServerInstanceTargetRecommendationReportsRequest, IO[bytes]] - ] = None, - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]: - """Retrieves the current job status and the latest target recommendation report for the SQL Server - instance. The response always includes the jobStatus field, which indicates the state of the - most recent target recommendation job (NotStarted, InProgress, Succeeded, or Failed). The - report data is included in the response only when the jobStatus is Succeeded. A target - recommendation job must be started using the RunTargetRecommendationJob API before calling this - API. Only the most recent report is returned. If the report contains more sections than can be - returned in a single response, use the nextReportOffset and nextSectionOffset values from the - response to retrieve the remaining data. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_target_recommendation_reports_request: Contains the parameters to - get SQL Server instance target recommendation reports. Is either a - SqlServerInstanceTargetRecommendationReportsRequest type or a IO[bytes] type. Default value is - None. - :type sql_server_instance_target_recommendation_reports_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsRequest or - IO[bytes] - :return: An instance of LROPoller that returns either - SqlServerInstanceTargetRecommendationReportsResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceTargetRecommendationReportsResponse] - :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)) - content_type = content_type if sql_server_instance_target_recommendation_reports_request else None - cls: ClsType[_models.SqlServerInstanceTargetRecommendationReportsResponse] = 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._get_target_recommendation_reports_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_target_recommendation_reports_request=sql_server_instance_target_recommendation_reports_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceTargetRecommendationReportsResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerInstanceTargetRecommendationReportsResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _get_migration_readiness_report_initial( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_get_migration_readiness_report_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_get_migration_readiness_report( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]: - """Retrieves the migration readiness report for the SQL Server instance. The report contains an - assessment of the instance's readiness for migration to Azure SQL targets. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: An instance of LROPoller that returns either - SqlServerInstanceMigrationReadinessReportResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceMigrationReadinessReportResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceMigrationReadinessReportResponse] = 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._get_migration_readiness_report_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceMigrationReadinessReportResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerInstanceMigrationReadinessReportResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def run_best_practices_assessment( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> _models.SqlServerInstanceRunBestPracticesAssessmentResponse: - """The request to run SQL best practices assessment. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: SqlServerInstanceRunBestPracticesAssessmentResponse or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = kwargs.pop("cls", None) - - _request = build_run_best_practices_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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( - "SqlServerInstanceRunBestPracticesAssessmentResponse", pipeline_response.http_response - ) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _run_best_practice_assessment_initial( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_run_best_practice_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_run_best_practice_assessment( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]: - """The request to run SQL best practices assessment asynchronously. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: An instance of LROPoller that returns either - SqlServerInstanceRunBestPracticesAssessmentResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunBestPracticesAssessmentResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceRunBestPracticesAssessmentResponse] = 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._run_best_practice_assessment_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceRunBestPracticesAssessmentResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerInstanceRunBestPracticesAssessmentResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _run_migration_readiness_assessment_initial( # pylint: disable=name-too-long - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_run_migration_readiness_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_run_migration_readiness_assessment( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]: - """The request to run migration readiness assessment asynchronously. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: An instance of LROPoller that returns either - SqlServerInstanceRunMigrationReadinessAssessmentResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse] = 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._run_migration_readiness_assessment_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - api_version=api_version, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceRunMigrationReadinessAssessmentResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerInstanceRunMigrationReadinessAssessmentResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @overload - def get_jobs_status( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_status_request: Optional[_models.SqlServerInstanceJobsStatusRequest] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerInstanceJobsStatusResponse: - """Gets jobs status details for sql arc resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server - instance agent jobs status. Default value is None. - :type sql_server_instance_jobs_status_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def get_jobs_status( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_status_request: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerInstanceJobsStatusResponse: - """Gets jobs status details for sql arc resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server - instance agent jobs status. Default value is None. - :type sql_server_instance_jobs_status_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def get_jobs_status( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_status_request: Optional[ - Union[_models.SqlServerInstanceJobsStatusRequest, IO[bytes]] - ] = None, - **kwargs: Any - ) -> _models.SqlServerInstanceJobsStatusResponse: - """Gets jobs status details for sql arc resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_status_request: Contains the parameters to get SQL Server - instance agent jobs status. Is either a SqlServerInstanceJobsStatusRequest type or a IO[bytes] - type. Default value is None. - :type sql_server_instance_jobs_status_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusRequest or IO[bytes] - :return: SqlServerInstanceJobsStatusResponse or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsStatusResponse - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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)) - content_type = content_type if sql_server_instance_jobs_status_request else None - cls: ClsType[_models.SqlServerInstanceJobsStatusResponse] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" if sql_server_instance_jobs_status_request else None - _json = None - _content = None - if isinstance(sql_server_instance_jobs_status_request, (IOBase, bytes)): - _content = sql_server_instance_jobs_status_request - else: - if sql_server_instance_jobs_status_request is not None: - _json = self._serialize.body( - sql_server_instance_jobs_status_request, "SqlServerInstanceJobsStatusRequest" - ) - else: - _json = None - - _request = build_get_jobs_status_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlServerInstanceJobsStatusResponse", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _get_jobs_initial( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, IO[bytes]]] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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)) - content_type = content_type if sql_server_instance_jobs_request else None - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" if sql_server_instance_jobs_request else None - _json = None - _content = None - if isinstance(sql_server_instance_jobs_request, (IOBase, bytes)): - _content = sql_server_instance_jobs_request - else: - if sql_server_instance_jobs_request is not None: - _json = self._serialize.body(sql_server_instance_jobs_request, "SqlServerInstanceJobsRequest") - else: - _json = None - - _request = build_get_jobs_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_get_jobs( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_request: Optional[_models.SqlServerInstanceJobsRequest] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceJobsResponse]: - """Gets job details for sql arc resource asynchronously. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance - agent jobs status. Default value is None. - :type sql_server_instance_jobs_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerInstanceJobsResponse or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_get_jobs( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_request: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceJobsResponse]: - """Gets job details for sql arc resource asynchronously. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance - agent jobs status. Default value is None. - :type sql_server_instance_jobs_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either SqlServerInstanceJobsResponse or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_get_jobs( - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_jobs_request: Optional[Union[_models.SqlServerInstanceJobsRequest, IO[bytes]]] = None, - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceJobsResponse]: - """Gets job details for sql arc resource asynchronously. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_jobs_request: Contains the parameters to get SQL Server instance - agent jobs status. Is either a SqlServerInstanceJobsRequest type or a IO[bytes] type. Default - value is None. - :type sql_server_instance_jobs_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsRequest or IO[bytes] - :return: An instance of LROPoller that returns either SqlServerInstanceJobsResponse or the - result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceJobsResponse] - :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)) - content_type = content_type if sql_server_instance_jobs_request else None - cls: ClsType[_models.SqlServerInstanceJobsResponse] = 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._get_jobs_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_jobs_request=sql_server_instance_jobs_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize("SqlServerInstanceJobsResponse", pipeline_response.http_response) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerInstanceJobsResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerInstanceJobsResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def pre_upgrade( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> _models.SqlServerInstance: - """Request Upgrade Permission before upgrading. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) - - _request = build_pre_upgrade_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def post_upgrade( - self, resource_group_name: str, sql_server_instance_name: str, **kwargs: Any - ) -> _models.SqlServerInstance: - """Clean up after upgrading. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :return: SqlServerInstance or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerInstance - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerInstance] = kwargs.pop("cls", None) - - _request = build_post_upgrade_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerInstance", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _run_managed_instance_link_assessment_initial( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_managed_instance_link_assessment_request: Union[ - _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, IO[bytes] - ], - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 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[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_instance_managed_instance_link_assessment_request, (IOBase, bytes)): - _content = sql_server_instance_managed_instance_link_assessment_request - else: - _json = self._serialize.body( - sql_server_instance_managed_instance_link_assessment_request, - "SqlServerInstanceManagedInstanceLinkAssessmentRequest", - ) - - _request = build_run_managed_instance_link_assessment_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - _decompress = kwargs.pop("decompress", True) - _stream = True - 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]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass - 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["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_managed_instance_link_assessment_request: _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: - """Runs Managed Instance Link assessment for SQL Server instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to - run SQL Server instance MI link assessment. Required. - :type sql_server_instance_managed_instance_link_assessment_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either - SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_managed_instance_link_assessment_request: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: - """Runs Managed Instance Link assessment for SQL Server instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to - run SQL Server instance MI link assessment. Required. - :type sql_server_instance_managed_instance_link_assessment_request: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An instance of LROPoller that returns either - SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_run_managed_instance_link_assessment( # pylint: disable=name-too-long - self, - resource_group_name: str, - sql_server_instance_name: str, - sql_server_instance_managed_instance_link_assessment_request: Union[ - _models.SqlServerInstanceManagedInstanceLinkAssessmentRequest, IO[bytes] - ], - **kwargs: Any - ) -> LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]: - """Runs Managed Instance Link assessment for SQL Server instance. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param sql_server_instance_managed_instance_link_assessment_request: Contains the parameters to - run SQL Server instance MI link assessment. Is either a - SqlServerInstanceManagedInstanceLinkAssessmentRequest type or a IO[bytes] type. Required. - :type sql_server_instance_managed_instance_link_assessment_request: - ~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentRequest or - IO[bytes] - :return: An instance of LROPoller that returns either - SqlServerInstanceManagedInstanceLinkAssessmentResponse or the result of cls(response) - :rtype: - ~azure.core.polling.LROPoller[~azure.mgmt.azurearcdata.models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] - :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[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse] = 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._run_managed_instance_link_assessment_initial( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - sql_server_instance_managed_instance_link_assessment_request=sql_server_instance_managed_instance_link_assessment_request, - api_version=api_version, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - "SqlServerInstanceManagedInstanceLinkAssessmentResponse", pipeline_response.http_response - ) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.SqlServerInstanceManagedInstanceLinkAssessmentResponse]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @overload - def get_all_availability_groups( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_retrieval_filters: Optional[_models.AvailabilityGroupRetrievalFilters] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: - """Retrieves full properties of all the Availability Groups in a SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_retrieval_filters: Default value is None. - :type availability_group_retrieval_filters: - ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result - of cls(response) - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def get_all_availability_groups( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_retrieval_filters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: - """Retrieves full properties of all the Availability Groups in a SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_retrieval_filters: Default value is None. - :type availability_group_retrieval_filters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result - of cls(response) - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def get_all_availability_groups( - self, - resource_group_name: str, - sql_server_instance_name: str, - availability_group_retrieval_filters: Optional[ - Union[_models.AvailabilityGroupRetrievalFilters, IO[bytes]] - ] = None, - **kwargs: Any - ) -> ItemPaged["_models.SqlServerAvailabilityGroupResource"]: - """Retrieves full properties of all the Availability Groups in a SQL Server instance. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_instance_name: Name of SQL Server Instance. Required. - :type sql_server_instance_name: str - :param availability_group_retrieval_filters: Is either a AvailabilityGroupRetrievalFilters type - or a IO[bytes] type. Default value is None. - :type availability_group_retrieval_filters: - ~azure.mgmt.azurearcdata.models.AvailabilityGroupRetrievalFilters or IO[bytes] - :return: An iterator like instance of either SqlServerAvailabilityGroupResource or the result - of cls(response) - :rtype: - ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerAvailabilityGroupResource] - :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)) - content_type = content_type if availability_group_retrieval_filters else None - cls: ClsType[_models.ArcSqlServerAvailabilityGroupListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - content_type = content_type or "application/json" if availability_group_retrieval_filters else None - _json = None - _content = None - if isinstance(availability_group_retrieval_filters, (IOBase, bytes)): - _content = availability_group_retrieval_filters - else: - if availability_group_retrieval_filters is not None: - _json = self._serialize.body(availability_group_retrieval_filters, "AvailabilityGroupRetrievalFilters") - else: - _json = None - - def prepare_request(next_link=None): - if not next_link: - - _request = build_get_all_availability_groups_request( - resource_group_name=resource_group_name, - sql_server_instance_name=sql_server_instance_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("ArcSqlServerAvailabilityGroupListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_licenses_operations.py deleted file mode 100644 index 3b0cd40028c0..000000000000 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_sql_server_licenses_operations.py +++ /dev/null @@ -1,792 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# 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 collections.abc import MutableMapping -from io import IOBase -from typing import Any, Callable, IO, Optional, TypeVar, Union, overload -import urllib.parse - -from azure.core import PipelineClient -from azure.core.exceptions import ( - ClientAuthenticationError, - HttpResponseError, - ResourceExistsError, - ResourceNotFoundError, - ResourceNotModifiedError, - map_error, -) -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.rest import HttpRequest, HttpResponse -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 .._configuration import AzureArcDataManagementClientConfiguration -from .._utils.serialization import Deserializer, Serializer - -T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list - -_SERIALIZER = Serializer() -_SERIALIZER.client_side_validation = False - - -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: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerLicenses" - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_list_by_resource_group_request(resource_group_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_get_request( - resource_group_name: str, sql_server_license_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerLicenseName": _SERIALIZER.url( - "sql_server_license_name", sql_server_license_name, "str", pattern=r"^[-\w\._\(\)]+$" - ), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_create_request( - resource_group_name: str, sql_server_license_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerLicenseName": _SERIALIZER.url( - "sql_server_license_name", sql_server_license_name, "str", pattern=r"^[-\w\._\(\)]+$" - ), - } - - _url: str = _url.format(**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="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_delete_request( - resource_group_name: str, sql_server_license_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", "2026-03-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = kwargs.pop( - "template_url", - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerLicenseName": _SERIALIZER.url( - "sql_server_license_name", sql_server_license_name, "str", pattern=r"^[-\w\._\(\)]+$" - ), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_update_request( - resource_group_name: str, sql_server_license_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", "2026-03-01-preview")) - 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.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}", - ) - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "sqlServerLicenseName": _SERIALIZER.url( - "sql_server_license_name", sql_server_license_name, "str", pattern=r"^[-\w\._\(\)]+$" - ), - } - - _url: str = _url.format(**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="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - -class SqlServerLicensesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s - :attr:`sql_server_licenses` attribute. - """ - - models = _models - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace - def list(self, **kwargs: Any) -> ItemPaged["_models.SqlServerLicense"]: - """List sqlServerLicense resources in the subscription. - - List sqlServerLicense resources in the subscription. - - :return: An iterator like instance of either SqlServerLicense or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerLicenseListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_request( - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerLicenseListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.SqlServerLicense"]: - """List sqlServerLicense resources in the resource group. - - Gets all sqlServerLicenses in a resource group. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :return: An iterator like instance of either SqlServerLicense or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.azurearcdata.models.SqlServerLicense] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = 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)) - cls: ClsType[_models.SqlServerLicenseListResult] = kwargs.pop("cls", None) - - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - def prepare_request(next_link=None): - if not next_link: - - _request = build_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _request.url = self._client.format_url(_request.url) - - else: - # make call to next link with the client's api-version - _parsed_next_link = urllib.parse.urlparse(next_link) - _next_request_params = case_insensitive_dict( - { - key: [urllib.parse.quote(v) for v in value] - for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() - } - ) - _next_request_params["api-version"] = self._config.api_version - _request = HttpRequest( - "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params - ) - _request.url = self._client.format_url(_request.url) - _request.method = "GET" - return _request - - def extract_data(pipeline_response): - deserialized = self._deserialize("SqlServerLicenseListResult", pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - 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=_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) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def get(self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any) -> _models.SqlServerLicense: - """Retrieves a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[_models.SqlServerLicense] = kwargs.pop("cls", None) - - _request = build_get_request( - resource_group_name=resource_group_name, - sql_server_license_name=sql_server_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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("SqlServerLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @overload - def create( - self, - resource_group_name: str, - sql_server_license_name: str, - sql_server_license: _models.SqlServerLicense, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerLicense: - """Creates or replaces a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param sql_server_license: The SQL Server license to be created or updated. Required. - :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def create( - self, - resource_group_name: str, - sql_server_license_name: str, - sql_server_license: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerLicense: - """Creates or replaces a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param sql_server_license: The SQL Server license to be created or updated. Required. - :type sql_server_license: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def create( - self, - resource_group_name: str, - sql_server_license_name: str, - sql_server_license: Union[_models.SqlServerLicense, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerLicense: - """Creates or replaces a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param sql_server_license: The SQL Server license to be created or updated. Is either a - SqlServerLicense type or a IO[bytes] type. Required. - :type sql_server_license: ~azure.mgmt.azurearcdata.models.SqlServerLicense or IO[bytes] - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerLicense] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" - _json = None - _content = None - if isinstance(sql_server_license, (IOBase, bytes)): - _content = sql_server_license - else: - _json = self._serialize.body(sql_server_license, "SqlServerLicense") - - _request = build_create_request( - resource_group_name=resource_group_name, - sql_server_license_name=sql_server_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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, 201]: - 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("SqlServerLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def delete( # pylint: disable=inconsistent-return-statements - self, resource_group_name: str, sql_server_license_name: str, **kwargs: Any - ) -> None: - """Deletes a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :return: None or the result of cls(response) - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = 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)) - cls: ClsType[None] = kwargs.pop("cls", None) - - _request = build_delete_request( - resource_group_name=resource_group_name, - sql_server_license_name=sql_server_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - headers=_headers, - params=_params, - ) - _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, 204]: - 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) - - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - @overload - def update( - self, - resource_group_name: str, - sql_server_license_name: str, - parameters: _models.SqlServerLicenseUpdate, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerLicense: - """Updates a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param parameters: The SQL Server license. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def update( - self, - resource_group_name: str, - sql_server_license_name: str, - parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> _models.SqlServerLicense: - """Updates a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param parameters: The SQL Server license. Required. - :type parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def update( - self, - resource_group_name: str, - sql_server_license_name: str, - parameters: Union[_models.SqlServerLicenseUpdate, IO[bytes]], - **kwargs: Any - ) -> _models.SqlServerLicense: - """Updates a SQL Server license resource. - - :param resource_group_name: The name of the Azure resource group. Required. - :type resource_group_name: str - :param sql_server_license_name: Name of SQL Server License. Required. - :type sql_server_license_name: str - :param parameters: The SQL Server license. Is either a SqlServerLicenseUpdate type or a - IO[bytes] type. Required. - :type parameters: ~azure.mgmt.azurearcdata.models.SqlServerLicenseUpdate or IO[bytes] - :return: SqlServerLicense or the result of cls(response) - :rtype: ~azure.mgmt.azurearcdata.models.SqlServerLicense - :raises ~azure.core.exceptions.HttpResponseError: - """ - error_map: MutableMapping = { - 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.SqlServerLicense] = 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, "SqlServerLicenseUpdate") - - _request = build_update_request( - resource_group_name=resource_group_name, - sql_server_license_name=sql_server_license_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - headers=_headers, - params=_params, - ) - _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("SqlServerLicense", pipeline_response.http_response) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json new file mode 100644 index 000000000000..5ac0b32cea16 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json @@ -0,0 +1,49657 @@ +{ + "azure.mgmt.azurearcdata": { + "class_nodes": { + "AzureArcDataClient": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "credential": { + "default": null, + "param_type": "positional_or_keyword" + }, + "subscription_id": { + "default": null, + "param_type": "positional_or_keyword" + }, + "base_url": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "cloud_setting": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "close": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "send_request": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "stream": { + "default": "bool", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "client_side_validation": { + "attr_type": false + }, + "operations": { + "attr_type": "Operations" + }, + "sql_managed_instances": { + "attr_type": "SqlManagedInstancesOperations" + }, + "sql_server_instances": { + "attr_type": "SqlServerInstancesOperations" + }, + "sql_server_licenses": { + "attr_type": "SqlServerLicensesOperations" + }, + "postgres_instances": { + "attr_type": "PostgresInstancesOperations" + }, + "sql_server_esu_licenses": { + "attr_type": "SqlServerEsuLicensesOperations" + }, + "failover_groups": { + "attr_type": "FailoverGroupsOperations" + }, + "sql_server_availability_groups": { + "attr_type": "SqlServerAvailabilityGroupsOperations" + }, + "data_controllers": { + "attr_type": "DataControllersOperations" + }, + "active_directory_connectors": { + "attr_type": "ActiveDirectoryConnectorsOperations" + }, + "sql_server_databases": { + "attr_type": "SqlServerDatabasesOperations" + } + } + } + }, + "function_nodes": {} + }, + "azure.mgmt.azurearcdata.operations": { + "class_nodes": { + "ActiveDirectoryConnectorsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "type": "ActiveDirectoryConnectorResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "DataControllersOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_delete_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_patch_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "DataControllerUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_put_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "DataControllerResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "get_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_in_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_in_subscription": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "FailoverGroupsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "type": "FailoverGroupResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "Operations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "PostgresInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "type": "PostgresInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "PostgresInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlManagedInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "type": "SqlManagedInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlManagedInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerAvailabilityGroupsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "add_databases": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "Databases", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_create_availability_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "type": "AvailabilityGroupCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_create_distributed_availability_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "type": "DistributedAvailabilityGroupCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_create_managed_instance_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "type": "ManagedInstanceLinkCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_delete_mi_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_failover_mi_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "type": "FailoverMiLinkResourceId", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "type": "SqlServerAvailabilityGroupUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "type": "SqlServerAvailabilityGroupResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "detail_view": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "failover": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "force_failover_allow_data_loss": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "remove_databases": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "Databases", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerDatabasesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "type": "SqlServerDatabaseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "type": "SqlServerDatabaseResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "SqlServerEsuLicensesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "type": "SqlServerEsuLicense", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerEsuLicenseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "type": "SqlServerInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_get_best_practices_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "type": "SqlServerInstanceBpaRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_get_jobs": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "type": "Optional[SqlServerInstanceJobsRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "type": "Optional[JSON]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_get_migration_readiness_report": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_get_target_recommendation_reports": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "type": "Optional[SqlServerInstanceTargetRecommendationReportsRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "type": "Optional[JSON]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_get_telemetry": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "type": "SqlServerInstanceTelemetryRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_run_best_practice_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_run_managed_instance_link_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "type": "SqlServerInstanceManagedInstanceLinkAssessmentRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_run_migration_readiness_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_run_target_recommendation_job": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "type": "Optional[SqlServerInstanceRunTargetRecommendationJobRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "type": "Optional[JSON]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get_all_availability_groups": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "type": "Optional[AvailabilityGroupRetrievalFilters]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "type": "Optional[JSON]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "get_jobs_status": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "type": "Optional[SqlServerInstanceJobsStatusRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "type": "Optional[JSON]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "post_upgrade": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pre_upgrade": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "run_best_practices_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "run_migration_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "SqlServerLicensesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "type": "SqlServerLicense", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerLicenseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + } + }, + "properties": {} + } + }, + "function_nodes": {} + }, + "azure.mgmt.azurearcdata.models": { + "class_nodes": { + "AccountProvisioningMode": { + "type": "Enum", + "methods": {}, + "properties": { + "AUTOMATIC": "AUTOMATIC", + "MANUAL": "MANUAL", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ActionType": { + "type": "Enum", + "methods": {}, + "properties": { + "INTERNAL": "INTERNAL", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ActivationState": { + "type": "Enum", + "methods": {}, + "properties": { + "ACTIVATED": "ACTIVATED", + "DEACTIVATED": "DEACTIVATED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ActiveDirectoryConnectorDNSDetails": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "nameserver_ip_addresses": { + "type": "list[str]", + "default": null, + "param_type": "keyword_only" + }, + "domain_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "replicas": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "prefer_k8_s_dns_for_ptr_lookups": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "domain_name": "Optional", + "nameserver_ip_addresses": "list", + "replicas": "Optional", + "prefer_k8_s_dns_for_ptr_lookups": "Optional" + } + }, + "ActiveDirectoryConnectorDomainDetails": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "realm": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "netbios_domain_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "service_account_provisioning": { + "type": "Optional[Union[str, _models.AccountProvisioningMode]]", + "default": null, + "param_type": "keyword_only" + }, + "ou_distinguished_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "domain_controllers": { + "type": "Optional[_models.ActiveDirectoryDomainControllers]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "realm": null, + "netbios_domain_name": "Optional", + "service_account_provisioning": "Optional", + "ou_distinguished_name": "Optional", + "domain_controllers": "Optional" + } + }, + "ActiveDirectoryConnectorProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "spec": { + "type": "_models.ActiveDirectoryConnectorSpec", + "default": null, + "param_type": "keyword_only" + }, + "domain_service_account_login_information": { + "type": "Optional[_models.BasicLoginInformation]", + "default": null, + "param_type": "keyword_only" + }, + "status": { + "type": "Optional[_models.ActiveDirectoryConnectorStatus]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "domain_service_account_login_information": "Optional", + "provisioning_state": "Optional", + "spec": null, + "status": "Optional" + } + }, + "ActiveDirectoryConnectorResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "properties": { + "type": "_models.ActiveDirectoryConnectorProperties", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "ActiveDirectoryConnectorSpec": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory": { + "type": "_models.ActiveDirectoryConnectorDomainDetails", + "default": null, + "param_type": "keyword_only" + }, + "dns": { + "type": "_models.ActiveDirectoryConnectorDNSDetails", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "active_directory": null, + "dns": null + } + }, + "ActiveDirectoryConnectorStatus": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "last_update_time": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "observed_generation": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "state": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "last_update_time": "Optional", + "observed_generation": "Optional", + "state": "Optional" + } + }, + "ActiveDirectoryDomainController": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "hostname": { + "type": "str", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "hostname": null + } + }, + "ActiveDirectoryDomainControllers": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "primary_domain_controller": { + "type": "Optional[_models.ActiveDirectoryDomainController]", + "default": null, + "param_type": "keyword_only" + }, + "secondary_domain_controllers": { + "type": "Optional[list[_models.ActiveDirectoryDomainController]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "primary_domain_controller": "Optional", + "secondary_domain_controllers": "Optional" + } + }, + "ActiveDirectoryInformation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "keytab_information": { + "type": "Optional[_models.KeytabInformation]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "keytab_information": "Optional" + } + }, + "AdditionalMigrationJobAttributes": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "key_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "key_value": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "key_name": "Optional", + "key_value": "Optional" + } + }, + "AggregationType": { + "type": "Enum", + "methods": {}, + "properties": { + "AVERAGE": "AVERAGE", + "COUNT": "COUNT", + "MAXIMUM": "MAXIMUM", + "MINIMUM": "MINIMUM", + "SUM": "SUM", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "AlwaysOnRole": { + "type": "Enum", + "methods": {}, + "properties": { + "AVAILABILITY_GROUP_REPLICA": "AVAILABILITY_GROUP_REPLICA", + "FAILOVER_CLUSTER_INSTANCE": "FAILOVER_CLUSTER_INSTANCE", + "FAILOVER_CLUSTER_NODE": "FAILOVER_CLUSTER_NODE", + "NONE": "NONE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ArcSqlManagedInstanceLicenseType": { + "type": "Enum", + "methods": {}, + "properties": { + "BASE_PRICE": "BASE_PRICE", + "DISASTER_RECOVERY": "DISASTER_RECOVERY", + "LICENSE_INCLUDED": "LICENSE_INCLUDED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ArcSqlServerAvailabilityGroupTypeFilter": { + "type": "Enum", + "methods": {}, + "properties": { + "CONTAINED": "CONTAINED", + "DEFAULT": "DEFAULT", + "DISTRIBUTED": "DISTRIBUTED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ArcSqlServerAvailabilityMode": { + "type": "Enum", + "methods": {}, + "properties": { + "ASYNCHRONOUS_COMMIT": "ASYNCHRONOUS_COMMIT", + "SYNCHRONOUS_COMMIT": "SYNCHRONOUS_COMMIT", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ArcSqlServerFailoverMode": { + "type": "Enum", + "methods": {}, + "properties": { + "AUTOMATIC": "AUTOMATIC", + "EXTERNAL": "EXTERNAL", + "MANUAL": "MANUAL", + "NONE": "NONE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ArcSqlServerLicenseType": { + "type": "Enum", + "methods": {}, + "properties": { + "FABRIC_CAPACITY": "FABRIC_CAPACITY", + "FREE": "FREE", + "HADR": "HADR", + "LICENSE_ONLY": "LICENSE_ONLY", + "PAID": "PAID", + "PAYG": "PAYG", + "SERVER_CAL": "SERVER_CAL", + "UNDEFINED": "UNDEFINED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "AssessmentStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "FAILURE": "FAILURE", + "SUCCESS": "SUCCESS", + "WARNING": "WARNING", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Authentication": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mode": { + "type": "Optional[Union[str, _models.Mode]]", + "default": null, + "param_type": "keyword_only" + }, + "sql_server_entra_identity": { + "type": "Optional[list[_models.EntraAuthentication]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "mode": "Optional", + "sql_server_entra_identity": "Optional" + } + }, + "AutomatedBackupPreference": { + "type": "Enum", + "methods": {}, + "properties": { + "NONE": "NONE", + "PRIMARY": "PRIMARY", + "SECONDARY": "SECONDARY", + "SECONDARY_ONLY": "SECONDARY_ONLY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "AvailabilityGroupConfigure": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "endpoint_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "endpoint_url": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "endpoint_authentication_mode": { + "type": "Optional[Union[str, _models.ConnectionAuth]]", + "default": null, + "param_type": "keyword_only" + }, + "certificate_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "endpoint_connect_login": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "availability_mode": { + "type": "Optional[Union[str, _models.ArcSqlServerAvailabilityMode]]", + "default": null, + "param_type": "keyword_only" + }, + "failover_mode": { + "type": "Optional[Union[str, _models.ArcSqlServerFailoverMode]]", + "default": null, + "param_type": "keyword_only" + }, + "session_timeout": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "primary_allow_connections": { + "type": "Optional[Union[str, _models.PrimaryAllowConnections]]", + "default": null, + "param_type": "keyword_only" + }, + "secondary_allow_connections": { + "type": "Optional[Union[str, _models.SecondaryAllowConnections]]", + "default": null, + "param_type": "keyword_only" + }, + "backup_priority": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "read_only_routing_url": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "read_write_routing_url": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "seeding_mode": { + "type": "Optional[Union[str, _models.SeedingMode]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "endpoint_name": "Optional", + "endpoint_url": "Optional", + "endpoint_authentication_mode": "Optional", + "certificate_name": "Optional", + "endpoint_connect_login": "Optional", + "availability_mode": "Optional", + "availability_mode_description": "Optional", + "failover_mode": "Optional", + "failover_mode_description": "Optional", + "session_timeout": "Optional", + "primary_allow_connections": "Optional", + "primary_role_allow_connections_description": "Optional", + "secondary_allow_connections": "Optional", + "secondary_role_allow_connections_description": "Optional", + "replica_create_date": "Optional", + "replica_modify_date": "Optional", + "backup_priority": "Optional", + "read_only_routing_url": "Optional", + "read_write_routing_url": "Optional", + "seeding_mode": "Optional", + "seeding_mode_description": "Optional" + } + }, + "AvailabilityGroupCreateUpdateConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "replicas": { + "type": "Optional[list[_models.AvailabilityGroupCreateUpdateReplicaConfiguration]]", + "default": null, + "param_type": "keyword_only" + }, + "databases": { + "type": "Optional[list[str]]", + "default": null, + "param_type": "keyword_only" + }, + "automated_backup_preference": { + "type": "Optional[Union[str, _models.AutomatedBackupPreference]]", + "default": null, + "param_type": "keyword_only" + }, + "failure_condition_level": { + "type": "Optional[Union[int, _models.FailureConditionLevel]]", + "default": null, + "param_type": "keyword_only" + }, + "health_check_timeout": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "db_failover": { + "type": "Optional[Union[str, _models.DbFailover]]", + "default": null, + "param_type": "keyword_only" + }, + "dtc_support": { + "type": "Optional[Union[str, _models.DtcSupport]]", + "default": null, + "param_type": "keyword_only" + }, + "required_synchronized_secondaries_to_commit": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "cluster_type": { + "type": "Optional[Union[str, _models.ClusterType]]", + "default": null, + "param_type": "keyword_only" + }, + "listener": { + "type": "Optional[_models.SqlAvailabilityGroupStaticIPListenerProperties]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group_name": "Optional", + "replicas": "Optional", + "databases": "Optional", + "automated_backup_preference": "Optional", + "failure_condition_level": "Optional", + "health_check_timeout": "Optional", + "db_failover": "Optional", + "dtc_support": "Optional", + "required_synchronized_secondaries_to_commit": "Optional", + "cluster_type": "Optional", + "listener": "Optional" + } + }, + "AvailabilityGroupCreateUpdateReplicaConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "server_instance": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "endpoint_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "endpoint_url": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "endpoint_authentication_mode": { + "type": "Optional[Union[str, _models.ConnectionAuth]]", + "default": null, + "param_type": "keyword_only" + }, + "certificate_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "endpoint_connect_login": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "availability_mode": { + "type": "Optional[Union[str, _models.ArcSqlServerAvailabilityMode]]", + "default": null, + "param_type": "keyword_only" + }, + "failover_mode": { + "type": "Optional[Union[str, _models.ArcSqlServerFailoverMode]]", + "default": null, + "param_type": "keyword_only" + }, + "seeding_mode": { + "type": "Optional[Union[str, _models.SeedingMode]]", + "default": null, + "param_type": "keyword_only" + }, + "backup_priority": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "secondary_role_allow_connections": { + "type": "Optional[Union[str, _models.SecondaryAllowConnections]]", + "default": null, + "param_type": "keyword_only" + }, + "secondary_role_read_only_routing_url": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "primary_role_allow_connections": { + "type": "Optional[Union[str, _models.PrimaryAllowConnections]]", + "default": null, + "param_type": "keyword_only" + }, + "primary_role_read_only_routing_list": { + "type": "Optional[list[str]]", + "default": null, + "param_type": "keyword_only" + }, + "session_timeout": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "server_instance": "Optional", + "endpoint_name": "Optional", + "endpoint_url": "Optional", + "endpoint_authentication_mode": "Optional", + "certificate_name": "Optional", + "endpoint_connect_login": "Optional", + "availability_mode": "Optional", + "failover_mode": "Optional", + "seeding_mode": "Optional", + "backup_priority": "Optional", + "secondary_role_allow_connections": "Optional", + "secondary_role_read_only_routing_url": "Optional", + "primary_role_allow_connections": "Optional", + "primary_role_read_only_routing_list": "Optional", + "session_timeout": "Optional" + } + }, + "AvailabilityGroupInfo": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "failure_condition_level": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "health_check_timeout": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "basic_features": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "dtc_support": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "db_failover": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "is_distributed": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "required_synchronized_secondaries_to_commit": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "is_contained": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "listener": { + "type": "Optional[_models.SqlAvailabilityGroupStaticIPListenerProperties]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "failure_condition_level": "Optional", + "health_check_timeout": "Optional", + "automated_backup_preference_description": "Optional", + "version": "Optional", + "basic_features": "Optional", + "dtc_support": "Optional", + "db_failover": "Optional", + "is_distributed": "Optional", + "cluster_type_description": "Optional", + "required_synchronized_secondaries_to_commit": "Optional", + "is_contained": "Optional", + "primary_replica": "Optional", + "primary_recovery_health_description": "Optional", + "secondary_recovery_health_description": "Optional", + "synchronization_health_description": "Optional", + "replication_partner_type": "Optional", + "listener": "Optional" + } + }, + "AvailabilityGroupRetrievalFilters": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_type_filter": { + "type": "Optional[Union[str, _models.ArcSqlServerAvailabilityGroupTypeFilter]]", + "default": null, + "param_type": "keyword_only" + }, + "replication_partner_type_filter": { + "type": "Optional[Union[str, _models.ReplicationPartnerType]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group_type_filter": "Optional", + "replication_partner_type_filter": "Optional" + } + }, + "AvailabilityGroupState": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group_replica_role": "Optional", + "operational_state_description": "Optional", + "recovery_health_description": "Optional", + "synchronization_health_description": "Optional", + "connected_state_description": "Optional", + "last_connect_error_description": "Optional", + "last_connect_error_timestamp": "Optional" + } + }, + "AzureManagedInstanceRole": { + "type": "Enum", + "methods": {}, + "properties": { + "PRIMARY": "PRIMARY", + "SECONDARY": "SECONDARY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "BackgroundJob": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "state": { + "type": "Optional[Union[str, _models.State]]", + "default": null, + "param_type": "keyword_only" + }, + "execution_state": { + "type": "Optional[Union[str, _models.ExecutionState]]", + "default": null, + "param_type": "keyword_only" + }, + "start_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "end_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "last_execution_status": { + "type": "Optional[Union[str, _models.LastExecutionStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "last_execution_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "next_execution_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "state": "Optional", + "execution_state": "Optional", + "start_time": "Optional", + "end_time": "Optional", + "last_execution_status": "Optional", + "last_execution_time": "Optional", + "next_execution_time": "Optional" + } + }, + "BackupPolicy": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "retention_period_days": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "full_backup_days": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "differential_backup_hours": { + "type": "Optional[Union[int, _models.DifferentialBackupHours]]", + "default": null, + "param_type": "keyword_only" + }, + "transaction_log_backup_minutes": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "retention_period_days": "Optional", + "full_backup_days": "Optional", + "differential_backup_hours": "Optional", + "transaction_log_backup_minutes": "Optional" + } + }, + "BasicLoginInformation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "username": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "password": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "username": "Optional", + "password": "Optional" + } + }, + "BestPracticesAssessment": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "enabled": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "schedule": { + "type": "Optional[_models.Schedule]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "enabled": "Optional", + "schedule": "Optional" + } + }, + "BillingPlan": { + "type": "Enum", + "methods": {}, + "properties": { + "PAID": "PAID", + "PAYG": "PAYG", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ClientConnection": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "enabled": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "enabled": "Optional" + } + }, + "ClusterType": { + "type": "Enum", + "methods": {}, + "properties": { + "NONE": "NONE", + "WSFC": "WSFC", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "CommonSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "dev": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "size": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "family": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "capacity": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": null, + "dev": "Optional", + "size": "Optional", + "family": "Optional", + "capacity": "Optional" + } + }, + "ConnectionAuth": { + "type": "Enum", + "methods": {}, + "properties": { + "CERTIFICATE": "CERTIFICATE", + "CERTIFICATE_WINDOWS_KERBEROS": "CERTIFICATE_WINDOWS_KERBEROS", + "CERTIFICATE_WINDOWS_NEGOTIATE": "CERTIFICATE_WINDOWS_NEGOTIATE", + "CERTIFICATE_WINDOWS_NTLM": "CERTIFICATE_WINDOWS_NTLM", + "WINDOWS_KERBEROS": "WINDOWS_KERBEROS", + "WINDOWS_KERBEROS_CERTIFICATE": "WINDOWS_KERBEROS_CERTIFICATE", + "WINDOWS_NEGOTIATE": "WINDOWS_NEGOTIATE", + "WINDOWS_NEGOTIATE_CERTIFICATE": "WINDOWS_NEGOTIATE_CERTIFICATE", + "WINDOWS_NTLM": "WINDOWS_NTLM", + "WINDOWS_NTLM_CERTIFICATE": "WINDOWS_NTLM_CERTIFICATE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ConnectionStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "CONNECTED": "CONNECTED", + "DISCONNECTED": "DISCONNECTED", + "DISCOVERED": "DISCOVERED", + "REGISTERED": "REGISTERED", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "CostOptionSelectedValues": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_and_storage_cost_option": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "sql_license_cost_option": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "windows_license_cost_option": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_and_storage_cost_option": "Optional", + "sql_license_cost_option": "Optional", + "windows_license_cost_option": "Optional" + } + }, + "CostTypeValues": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_cost": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "storage_cost": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "iops_cost": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_cost": "Optional", + "storage_cost": "Optional", + "iops_cost": "Optional" + } + }, + "CreatedByType": { + "type": "Enum", + "methods": {}, + "properties": { + "APPLICATION": "APPLICATION", + "KEY": "KEY", + "MANAGED_IDENTITY": "MANAGED_IDENTITY", + "USER": "USER", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "CronTrigger": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "start_time": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "time_zone": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "expression": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "start_time": "Optional", + "time_zone": "Optional", + "expression": "Optional" + } + }, + "DBMEndpoint": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "endpoint_name": "Optional", + "role": "Optional", + "is_encryption_enabled": "Optional", + "encryption_algorithm": "Optional", + "connection_auth": "Optional", + "port": "Optional", + "is_dynamic_port": "Optional", + "ip_address": "Optional", + "certificate_name": "Optional", + "certificate_expiry_date": "Optional" + } + }, + "DataBaseMigration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "assessment": { + "type": "Optional[_models.DataBaseMigrationAssessment]", + "default": null, + "param_type": "keyword_only" + }, + "jobs": { + "type": "Optional[list[_models.DatabaseMigrationJobsItem]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "assessment": "Optional", + "jobs": "Optional" + } + }, + "DataBaseMigrationAssessment": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "assessment_upload_time": "Optional", + "target_recommendation_generation_time": "Optional", + "database_assessments": "Optional", + "target_readiness": "Optional" + } + }, + "DataControllerProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "infrastructure": { + "type": "Optional[Union[str, _models.Infrastructure]]", + "default": null, + "param_type": "keyword_only" + }, + "on_premise_property": { + "type": "Optional[_models.OnPremiseProperty]", + "default": null, + "param_type": "keyword_only" + }, + "k8_s_raw": { + "type": "Optional[Any]", + "default": null, + "param_type": "keyword_only" + }, + "upload_watermark": { + "type": "Optional[_models.UploadWatermark]", + "default": null, + "param_type": "keyword_only" + }, + "last_uploaded_date": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "basic_login_information": { + "type": "Optional[_models.BasicLoginInformation]", + "default": null, + "param_type": "keyword_only" + }, + "metrics_dashboard_credential": { + "type": "Optional[_models.BasicLoginInformation]", + "default": null, + "param_type": "keyword_only" + }, + "logs_dashboard_credential": { + "type": "Optional[_models.BasicLoginInformation]", + "default": null, + "param_type": "keyword_only" + }, + "log_analytics_workspace_config": { + "type": "Optional[_models.LogAnalyticsWorkspaceConfig]", + "default": null, + "param_type": "keyword_only" + }, + "upload_service_principal": { + "type": "Optional[_models.UploadServicePrincipal]", + "default": null, + "param_type": "keyword_only" + }, + "cluster_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "extension_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "infrastructure": "Optional", + "on_premise_property": "Optional", + "k8_s_raw": "Optional", + "upload_watermark": "Optional", + "last_uploaded_date": "Optional", + "basic_login_information": "Optional", + "metrics_dashboard_credential": "Optional", + "logs_dashboard_credential": "Optional", + "log_analytics_workspace_config": "Optional", + "upload_service_principal": "Optional", + "provisioning_state": "Optional", + "cluster_id": "Optional", + "extension_id": "Optional" + } + }, + "DataControllerResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "_models.DataControllerProperties", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "extended_location": { + "type": "Optional[_models.ExtendedLocation]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": null, + "extended_location": "Optional", + "tags": "Optional", + "location": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "DataControllerUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "Optional[_models.DataControllerProperties]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": "Optional", + "properties": "Optional" + } + }, + "DatabaseAssessmentsItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "applies_to_migration_target_platform": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "feature_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "issue_category": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "more_information": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "applies_to_migration_target_platform": "Optional", + "feature_id": "Optional", + "issue_category": "Optional", + "more_information": "Optional" + } + }, + "DatabaseCreateMode": { + "type": "Enum", + "methods": {}, + "properties": { + "DEFAULT": "DEFAULT", + "POINT_IN_TIME_RESTORE": "POINT_IN_TIME_RESTORE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "DatabaseMigrationJobsItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "migration_tracking_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "migration_mode": { + "type": "Optional[Union[str, _models.MigrationMode]]", + "default": null, + "param_type": "keyword_only" + }, + "initiated_from": { + "type": "Optional[Union[str, _models.InitiatedFrom]]", + "default": null, + "param_type": "keyword_only" + }, + "status": { + "type": "Optional[Union[str, _models.MigrationStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "last_error": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "target_type": { + "type": "Optional[Union[str, _models.TargetType]]", + "default": null, + "param_type": "keyword_only" + }, + "target_resource_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "start_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "end_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "additional_attributes": { + "type": "Optional[list[_models.AdditionalMigrationJobAttributes]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "migration_tracking_id": "Optional", + "migration_mode": "Optional", + "initiated_from": "Optional", + "status": "Optional", + "last_error": "Optional", + "target_type": "Optional", + "target_resource_id": "Optional", + "start_time": "Optional", + "end_time": "Optional", + "additional_attributes": "Optional" + } + }, + "DatabaseState": { + "type": "Enum", + "methods": {}, + "properties": { + "COPYING": "COPYING", + "EMERGENCY": "EMERGENCY", + "OFFLINE": "OFFLINE", + "OFFLINE_SECONDARY": "OFFLINE_SECONDARY", + "ONLINE": "ONLINE", + "RECOVERING": "RECOVERING", + "RECOVERY_PENDING": "RECOVERY_PENDING", + "RESTORING": "RESTORING", + "SUSPECT": "SUSPECT", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Databases": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "values_property": { + "type": "Optional[list[str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "values_property": "Optional" + } + }, + "DbFailover": { + "type": "Enum", + "methods": {}, + "properties": { + "OFF": "OFF", + "ON": "ON", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "DefenderStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "PROTECTED": "PROTECTED", + "UNKNOWN": "UNKNOWN", + "UNPROTECTED": "UNPROTECTED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "DifferentialBackupHours": { + "type": "Enum", + "methods": {}, + "properties": { + "TWELVE": "TWELVE", + "TWENTY_FOUR": "TWENTY_FOUR", + "as_integer_ratio": "as_integer_ratio", + "bit_count": "bit_count", + "bit_length": "bit_length", + "conjugate": "conjugate", + "denominator": "denominator", + "from_bytes": "from_bytes", + "imag": "imag", + "is_integer": "is_integer", + "numerator": "numerator", + "real": "real", + "to_bytes": "to_bytes" + } + }, + "DiscoverySource": { + "type": "Enum", + "methods": {}, + "properties": { + "ADS": "ADS", + "AZURE_ARC": "AZURE_ARC", + "AZURE_MIGRATE": "AZURE_MIGRATE", + "DMSCLI": "DMSCLI", + "DMSPS": "DMSPS", + "DMSSDK": "DMSSDK", + "DMS_PORTAL": "DMS_PORTAL", + "IMPORT": "IMPORT", + "OTHER": "OTHER", + "SSMA": "SSMA", + "SSMS": "SSMS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "DiskSizes": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "disk_type": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "redundancy": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "size": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "caching": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "max_size_in_gib": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "max_throughput_in_mbps": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "max_iops": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "disk_type": "Optional", + "redundancy": "Optional", + "size": "Optional", + "caching": "Optional", + "max_size_in_gib": "Optional", + "max_throughput_in_mbps": "Optional", + "max_iops": "Optional" + } + }, + "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "certificate_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "certificate_name": "Optional" + } + }, + "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "listener_url": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "availability_mode": { + "type": "Optional[Union[str, _models.ArcSqlServerAvailabilityMode]]", + "default": null, + "param_type": "keyword_only" + }, + "failover_mode": { + "type": "Optional[Union[str, _models.ArcSqlServerFailoverMode]]", + "default": null, + "param_type": "keyword_only" + }, + "seeding_mode": { + "type": "Optional[Union[str, _models.SeedingMode]]", + "default": null, + "param_type": "keyword_only" + }, + "certificate_configuration": { + "type": "Optional[_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group": "Optional", + "listener_url": "Optional", + "availability_mode": "Optional", + "failover_mode": "Optional", + "seeding_mode": "Optional", + "certificate_configuration": "Optional" + } + }, + "DistributedAvailabilityGroupCreateUpdateConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "primary_availability_group": { + "type": "Optional[_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration]", + "default": null, + "param_type": "keyword_only" + }, + "secondary_availability_group": { + "type": "Optional[_models.DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group_name": "Optional", + "primary_availability_group": "Optional", + "secondary_availability_group": "Optional" + } + }, + "DtcSupport": { + "type": "Enum", + "methods": {}, + "properties": { + "NONE": "NONE", + "PERDB": "PERDB", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "EditionType": { + "type": "Enum", + "methods": {}, + "properties": { + "BUSINESS_INTELLIGENCE": "BUSINESS_INTELLIGENCE", + "DEVELOPER": "DEVELOPER", + "ENTERPRISE": "ENTERPRISE", + "EVALUATION": "EVALUATION", + "EXPRESS": "EXPRESS", + "STANDARD": "STANDARD", + "STANDARD_DEVELOPER": "STANDARD_DEVELOPER", + "UNKNOWN": "UNKNOWN", + "WEB": "WEB", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "EncryptionAlgorithm": { + "type": "Enum", + "methods": {}, + "properties": { + "AES": "AES", + "AESRC4": "AESRC4", + "NONE": "NONE", + "NONE_AES": "NONE_AES", + "NONE_AESRC4": "NONE_AESRC4", + "NONE_RC4": "NONE_RC4", + "NONE_RC4_AES": "NONE_RC4_AES", + "RC4": "RC4", + "RC4AES": "RC4AES", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "EntraAuthentication": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "identity_type": { + "type": "Optional[Union[str, _models.IdentityType]]", + "default": null, + "param_type": "keyword_only" + }, + "client_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "identity_type": "Optional", + "client_id": "Optional" + } + }, + "ErrorAdditionalInfo": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "type": "Optional", + "info": "Optional" + } + }, + "ErrorDetail": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "code": "Optional", + "message": "Optional", + "target": "Optional", + "details": "Optional", + "additional_info": "Optional" + } + }, + "ErrorResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "error": { + "type": "Optional[_models.ErrorDetail]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "error": "Optional" + } + }, + "ExecutionState": { + "type": "Enum", + "methods": {}, + "properties": { + "RUNNING": "RUNNING", + "WAITING": "WAITING", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ExtendedLocation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "type": { + "type": "Optional[Union[str, _models.ExtendedLocationTypes]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": "Optional", + "type": "Optional" + } + }, + "ExtendedLocationTypes": { + "type": "Enum", + "methods": {}, + "properties": { + "CUSTOM_LOCATION": "CUSTOM_LOCATION", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "FailoverCluster": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": "Optional", + "network_name": "Optional", + "sql_instance_ids": "Optional", + "host_names": "Optional", + "host_ip_addresses": "Optional" + } + }, + "FailoverGroupPartnerSyncMode": { + "type": "Enum", + "methods": {}, + "properties": { + "ASYNC": "ASYNC", + "SYNC": "SYNC", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "FailoverGroupProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "partner_managed_instance_id": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "spec": { + "type": "_models.FailoverGroupSpec", + "default": null, + "param_type": "keyword_only" + }, + "status": { + "type": "Optional[Any]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "provisioning_state": "Optional", + "partner_managed_instance_id": null, + "spec": null, + "status": "Optional" + } + }, + "FailoverGroupResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "properties": { + "type": "_models.FailoverGroupProperties", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "FailoverGroupSpec": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "role": { + "type": "Union[str, _models.InstanceFailoverGroupRole]", + "default": null, + "param_type": "keyword_only" + }, + "shared_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "source_mi": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "partner_mi": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "partner_mirroring_url": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "partner_mirroring_cert": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "partner_sync_mode": { + "type": "Optional[Union[str, _models.FailoverGroupPartnerSyncMode]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "shared_name": "Optional", + "source_mi": "Optional", + "partner_mi": "Optional", + "partner_mirroring_url": "Optional", + "partner_mirroring_cert": "Optional", + "partner_sync_mode": "Optional", + "role": "Union" + } + }, + "FailoverMiLinkResourceId": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "force": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "managed_instance_id": "Optional", + "force": "Optional" + } + }, + "FailureConditionLevel": { + "type": "Enum", + "methods": {}, + "properties": { + "FIVE": "FIVE", + "FOUR": "FOUR", + "ONE": "ONE", + "THREE": "THREE", + "TWO": "TWO", + "as_integer_ratio": "as_integer_ratio", + "bit_count": "bit_count", + "bit_length": "bit_length", + "conjugate": "conjugate", + "denominator": "denominator", + "from_bytes": "from_bytes", + "imag": "imag", + "is_integer": "is_integer", + "numerator": "numerator", + "real": "real", + "to_bytes": "to_bytes" + } + }, + "HostIPAddressInformation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "ip_address": "Optional", + "subnet_mask": "Optional" + } + }, + "HostType": { + "type": "Enum", + "methods": {}, + "properties": { + "AWSVM_WARE_VIRTUAL_MACHINE": "AWSVM_WARE_VIRTUAL_MACHINE", + "AWS_KUBERNETES_SERVICE": "AWS_KUBERNETES_SERVICE", + "AWS_VIRTUAL_MACHINE": "AWS_VIRTUAL_MACHINE", + "AZURE_KUBERNETES_SERVICE": "AZURE_KUBERNETES_SERVICE", + "AZURE_VIRTUAL_MACHINE": "AZURE_VIRTUAL_MACHINE", + "AZURE_VM_WARE_VIRTUAL_MACHINE": "AZURE_VM_WARE_VIRTUAL_MACHINE", + "CONTAINER": "CONTAINER", + "GCPVM_WARE_VIRTUAL_MACHINE": "GCPVM_WARE_VIRTUAL_MACHINE", + "GCP_KUBERNETES_SERVICE": "GCP_KUBERNETES_SERVICE", + "GCP_VIRTUAL_MACHINE": "GCP_VIRTUAL_MACHINE", + "HYPER_V_VIRTUAL_MACHINE": "HYPER_V_VIRTUAL_MACHINE", + "OTHER": "OTHER", + "PHYSICAL_SERVER": "PHYSICAL_SERVER", + "VIRTUAL_MACHINE": "VIRTUAL_MACHINE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "IdentityType": { + "type": "Enum", + "methods": {}, + "properties": { + "SYSTEM_ASSIGNED_MANAGED_IDENTITY": "SYSTEM_ASSIGNED_MANAGED_IDENTITY", + "USER_ASSIGNED_MANAGED_IDENTITY": "USER_ASSIGNED_MANAGED_IDENTITY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ImpactedObjectsInfo": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "feature_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "number_impacted": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "issue_category": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "feature_id": "Optional", + "number_impacted": "Optional", + "issue_category": "Optional" + } + }, + "ImpactedObjectsSuitabilitySummary": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "azure_sql_database": "Optional", + "azure_sql_managed_instance": "Optional" + } + }, + "Infrastructure": { + "type": "Enum", + "methods": {}, + "properties": { + "ALIBABA": "ALIBABA", + "AWS": "AWS", + "AZURE": "AZURE", + "GCP": "GCP", + "ONPREMISES": "ONPREMISES", + "OTHER": "OTHER", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "InitiatedFrom": { + "type": "Enum", + "methods": {}, + "properties": { + "ADS": "ADS", + "AZURE_ARC": "AZURE_ARC", + "DMSCLI": "DMSCLI", + "DMSPS": "DMSPS", + "DMSSDK": "DMSSDK", + "DMS_PORTAL": "DMS_PORTAL", + "OTHER": "OTHER", + "SSMA": "SSMA", + "SSMS": "SSMS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "InstanceFailoverGroupRole": { + "type": "Enum", + "methods": {}, + "properties": { + "FORCE_PRIMARY_ALLOW_DATA_LOSS": "FORCE_PRIMARY_ALLOW_DATA_LOSS", + "FORCE_SECONDARY": "FORCE_SECONDARY", + "PRIMARY": "PRIMARY", + "SECONDARY": "SECONDARY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "JobStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "FAILED": "FAILED", + "IN_PROGRESS": "IN_PROGRESS", + "NOT_STARTED": "NOT_STARTED", + "SUCCEEDED": "SUCCEEDED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "K8sActiveDirectory": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "connector": { + "type": "Optional[_models.K8sActiveDirectoryConnector]", + "default": null, + "param_type": "keyword_only" + }, + "account_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "keytab_secret": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "encryption_types": { + "type": "Optional[list[str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "connector": "Optional", + "account_name": "Optional", + "keytab_secret": "Optional", + "encryption_types": "Optional" + } + }, + "K8sActiveDirectoryConnector": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "namespace": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": "Optional", + "namespace": "Optional" + } + }, + "K8sNetworkSettings": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "forceencryption": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "tlsciphers": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "tlsprotocols": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "forceencryption": "Optional", + "tlsciphers": "Optional", + "tlsprotocols": "Optional" + } + }, + "K8sResourceRequirements": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "requests": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "limits": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "requests": "Optional", + "limits": "Optional" + } + }, + "K8sScheduling": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "type": "Optional[_models.K8sSchedulingOptions]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "default": "Optional" + } + }, + "K8sSchedulingOptions": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resources": { + "type": "Optional[_models.K8sResourceRequirements]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "resources": "Optional" + } + }, + "K8sSecurity": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "admin_login_secret": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "service_certificate_secret": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "active_directory": { + "type": "Optional[_models.K8sActiveDirectory]", + "default": null, + "param_type": "keyword_only" + }, + "transparent_data_encryption": { + "type": "Optional[_models.K8stransparentDataEncryption]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "admin_login_secret": "Optional", + "service_certificate_secret": "Optional", + "active_directory": "Optional", + "transparent_data_encryption": "Optional" + } + }, + "K8sSettings": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "network": { + "type": "Optional[_models.K8sNetworkSettings]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "network": "Optional" + } + }, + "K8stransparentDataEncryption": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mode": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "protector_secret": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "mode": "Optional", + "protector_secret": "Optional" + } + }, + "KeytabInformation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "keytab": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "keytab": "Optional" + } + }, + "LastExecutionStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "COMPLETED": "COMPLETED", + "FAILED": "FAILED", + "FAULTED": "FAULTED", + "POSTPONED": "POSTPONED", + "RESCHEDULED": "RESCHEDULED", + "SUCCEEDED": "SUCCEEDED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "LicenseCategory": { + "type": "Enum", + "methods": {}, + "properties": { + "CORE": "CORE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "LogAnalyticsWorkspaceConfig": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "workspace_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "primary_key": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "workspace_id": "Optional", + "primary_key": "Optional" + } + }, + "ManagedInstanceLinkCreateUpdateConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group": { + "type": "Optional[_models.AvailabilityGroupCreateUpdateConfiguration]", + "default": null, + "param_type": "keyword_only" + }, + "distributed_availability_group": { + "type": "Optional[_models.DistributedAvailabilityGroupCreateUpdateConfiguration]", + "default": null, + "param_type": "keyword_only" + }, + "mi_link_configuration": { + "type": "Optional[_models.MiLinkCreateUpdateConfiguration]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group": "Optional", + "distributed_availability_group": "Optional", + "mi_link_configuration": "Optional" + } + }, + "MiLinkAssessmentCategory": { + "type": "Enum", + "methods": {}, + "properties": { + "BOX_TO_MI_NETWORK_CONNECTIVITY": "BOX_TO_MI_NETWORK_CONNECTIVITY", + "CERTIFICATES": "CERTIFICATES", + "DAG_CROSS_VALIDATION": "DAG_CROSS_VALIDATION", + "MANAGED_INSTANCE": "MANAGED_INSTANCE", + "MANAGED_INSTANCE_CROSS_VALIDATION": "MANAGED_INSTANCE_CROSS_VALIDATION", + "MANAGED_INSTANCE_DATABASE": "MANAGED_INSTANCE_DATABASE", + "MI_TO_BOX_NETWORK_CONNECTIVITY": "MI_TO_BOX_NETWORK_CONNECTIVITY", + "SQL_INSTANCE": "SQL_INSTANCE", + "SQL_INSTANCE_AG": "SQL_INSTANCE_AG", + "SQL_INSTANCE_DATABASE": "SQL_INSTANCE_DATABASE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "MiLinkCreateUpdateConfiguration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "instance_availability_group_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "instance_availability_group_name": "Optional" + } + }, + "Migration": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "assessment": { + "type": "Optional[_models.MigrationAssessment]", + "default": null, + "param_type": "keyword_only" + }, + "target_selected_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "target_resource_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "assessment": "Optional", + "target_selected_time": "Optional", + "target_resource_id": "Optional" + } + }, + "MigrationAssessment": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "enabled": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "assessment_viewed_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "settings": { + "type": "Optional[_models.MigrationAssessmentSettings]", + "default": null, + "param_type": "keyword_only" + }, + "impacted_objects_summary": { + "type": "Optional[_models.ImpactedObjectsSuitabilitySummary]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "enabled": "Optional", + "assessment_upload_time": "Optional", + "assessment_viewed_time": "Optional", + "target_recommendation_generation_time": "Optional", + "version": "Optional", + "settings": "Optional", + "server_assessments": "Optional", + "sku_recommendation_results": "Optional", + "impacted_objects_summary": "Optional" + } + }, + "MigrationAssessmentSettings": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "target_location": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "percentile": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "lookback_period_in_days": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "comfort_factor": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "strategy": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "currency": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "discount_percentage": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "cost_options": { + "type": "Optional[_models.CostOptionSelectedValues]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "target_location": "Optional", + "percentile": "Optional", + "lookback_period_in_days": "Optional", + "comfort_factor": "Optional", + "strategy": "Optional", + "currency": "Optional", + "discount_percentage": "Optional", + "cost_options": "Optional" + } + }, + "MigrationMode": { + "type": "Enum", + "methods": {}, + "properties": { + "LOGICAL": "LOGICAL", + "LOG_SHIPPING": "LOG_SHIPPING", + "MI_LINK": "MI_LINK", + "OTHER": "OTHER", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "MigrationStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "CANCELLED": "CANCELLED", + "FAILED": "FAILED", + "IN_PROGRESS": "IN_PROGRESS", + "IN_PROGRESS_WITH_WARNINGS": "IN_PROGRESS_WITH_WARNINGS", + "NOT_STARTED": "NOT_STARTED", + "SUCCESSFUL": "SUCCESSFUL", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Mode": { + "type": "Enum", + "methods": {}, + "properties": { + "MIXED": "MIXED", + "UNDEFINED": "UNDEFINED", + "WINDOWS": "WINDOWS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Monitoring": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "enabled": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "enabled": "Optional" + } + }, + "OnPremiseProperty": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "public_signing_key": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "signing_certificate_thumbprint": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": null, + "public_signing_key": null, + "signing_certificate_thumbprint": "Optional" + } + }, + "Operation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "display": { + "type": "Optional[_models.OperationDisplay]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": "Optional", + "is_data_action": "Optional", + "display": "Optional", + "origin": "Optional", + "action_type": "Optional" + } + }, + "OperationDisplay": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "provider": "Optional", + "resource": "Optional", + "operation": "Optional", + "description": "Optional" + } + }, + "Origin": { + "type": "Enum", + "methods": {}, + "properties": { + "SYSTEM": "SYSTEM", + "USER": "USER", + "USER_SYSTEM": "USER_SYSTEM", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "PostgresInstance": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "_models.PostgresInstanceProperties", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "extended_location": { + "type": "Optional[_models.ExtendedLocation]", + "default": null, + "param_type": "keyword_only" + }, + "sku": { + "type": "Optional[_models.PostgresInstanceSku]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": null, + "extended_location": "Optional", + "sku": "Optional", + "tags": "Optional", + "location": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "PostgresInstanceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "admin": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "basic_login_information": { + "type": "Optional[_models.BasicLoginInformation]", + "default": null, + "param_type": "keyword_only" + }, + "k8_s_raw": { + "type": "Optional[Any]", + "default": null, + "param_type": "keyword_only" + }, + "last_uploaded_date": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "data_controller_id": "Optional", + "admin": "Optional", + "basic_login_information": "Optional", + "k8_s_raw": "Optional", + "last_uploaded_date": "Optional", + "provisioning_state": "Optional" + } + }, + "PostgresInstanceSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "dev": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "size": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "family": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "capacity": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "tier": { + "type": "Optional[Literal[Hyperscale]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "dev": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "size": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "family": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "capacity": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tier": "Optional", + "name": null, + "dev": "Optional", + "size": "Optional", + "family": "Optional", + "capacity": "Optional" + } + }, + "PostgresInstanceUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "Optional[_models.PostgresInstanceProperties]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": "Optional", + "properties": "Optional" + } + }, + "PrimaryAllowConnections": { + "type": "Enum", + "methods": {}, + "properties": { + "ALL": "ALL", + "READ_WRITE": "READ_WRITE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ProvisioningState": { + "type": "Enum", + "methods": {}, + "properties": { + "ACCEPTED": "ACCEPTED", + "CANCELED": "CANCELED", + "FAILED": "FAILED", + "SUCCEEDED": "SUCCEEDED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ProxyResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "RecommendationStatus": { + "type": "Enum", + "methods": {}, + "properties": { + "NOT_READY": "NOT_READY", + "READY": "READY", + "READY_WITH_CONDITIONS": "READY_WITH_CONDITIONS", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "RecoveryMode": { + "type": "Enum", + "methods": {}, + "properties": { + "BULK_LOGGED": "BULK_LOGGED", + "FULL": "FULL", + "SIMPLE": "SIMPLE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ReplicationPartnerType": { + "type": "Enum", + "methods": {}, + "properties": { + "AZURE_SQLVM": "AZURE_SQLVM", + "AZURE_SQL_MANAGED_INSTANCE": "AZURE_SQL_MANAGED_INSTANCE", + "SQL_SERVER": "SQL_SERVER", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Resource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "ResourceUpdateMode": { + "type": "Enum", + "methods": {}, + "properties": { + "SKIP_RESOURCE_UPDATE": "SKIP_RESOURCE_UPDATE", + "UPDATE_ALL_TARGET_RECOMMENDATION_DETAILS": "UPDATE_ALL_TARGET_RECOMMENDATION_DETAILS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Result": { + "type": "Enum", + "methods": {}, + "properties": { + "FAILED": "FAILED", + "NOT_COMPLETED": "NOT_COMPLETED", + "SKIPPED": "SKIPPED", + "SUCCEEDED": "SUCCEEDED", + "TIMED_OUT": "TIMED_OUT", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Role": { + "type": "Enum", + "methods": {}, + "properties": { + "ALL": "ALL", + "NONE": "NONE", + "PARTNER": "PARTNER", + "WITNESS": "WITNESS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "Schedule": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "enabled": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "cron_trigger": { + "type": "Optional[_models.CronTrigger]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "enabled": "Optional", + "cron_trigger": "Optional" + } + }, + "ScopeType": { + "type": "Enum", + "methods": {}, + "properties": { + "RESOURCE_GROUP": "RESOURCE_GROUP", + "SUBSCRIPTION": "SUBSCRIPTION", + "TENANT": "TENANT", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SecondaryAllowConnections": { + "type": "Enum", + "methods": {}, + "properties": { + "ALL": "ALL", + "NO": "NO", + "READ_ONLY": "READ_ONLY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SeedingMode": { + "type": "Enum", + "methods": {}, + "properties": { + "AUTOMATIC": "AUTOMATIC", + "MANUAL": "MANUAL", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SequencerAction": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "action_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "state": { + "type": "Optional[Union[str, _models.SequencerState]]", + "default": null, + "param_type": "keyword_only" + }, + "result": { + "type": "Optional[Union[str, _models.Result]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "action_id": "Optional", + "state": "Optional", + "result": "Optional" + } + }, + "SequencerState": { + "type": "Enum", + "methods": {}, + "properties": { + "COMPLETED": "COMPLETED", + "CREATING_SUCCESSORS": "CREATING_SUCCESSORS", + "EXECUTING_ACTION": "EXECUTING_ACTION", + "NOT_STARTED": "NOT_STARTED", + "WAITING_PREDECESSORS": "WAITING_PREDECESSORS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "ServerAssessmentsItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "applies_to_migration_target_platform": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "feature_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "impacted_objects": { + "type": "Optional[list[_models.ServerAssessmentsPropertiesItemsItem]]", + "default": null, + "param_type": "keyword_only" + }, + "issue_category": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "more_information": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "applies_to_migration_target_platform": "Optional", + "feature_id": "Optional", + "impacted_objects": "Optional", + "issue_category": "Optional", + "more_information": "Optional" + } + }, + "ServerAssessmentsPropertiesItemsItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "impact_detail": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "object_type": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "impact_detail": "Optional", + "name": "Optional", + "object_type": "Optional" + } + }, + "ServiceType": { + "type": "Enum", + "methods": {}, + "properties": { + "ENGINE": "ENGINE", + "PBIRS": "PBIRS", + "SSAS": "SSAS", + "SSIS": "SSIS", + "SSRS": "SSRS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SkuRecommendationResults": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "azure_sql_database": { + "type": "Optional[_models.SkuRecommendationResultsAzureSqlDatabase]", + "default": null, + "param_type": "keyword_only" + }, + "azure_sql_managed_instance": { + "type": "Optional[_models.SkuRecommendationResultsAzureSqlManagedInstance]", + "default": null, + "param_type": "keyword_only" + }, + "azure_sql_virtual_machine": { + "type": "Optional[_models.SkuRecommendationResultsAzureSqlVirtualMachine]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "azure_sql_database": "Optional", + "azure_sql_managed_instance": "Optional", + "azure_sql_virtual_machine": "Optional" + } + }, + "SkuRecommendationResultsAzureSqlDatabase": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "recommendation_status": { + "type": "Optional[Union[str, _models.RecommendationStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "number_of_server_blocker_issues": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "monthly_cost": { + "type": "Optional[_models.SkuRecommendationResultsMonthlyCost]", + "default": null, + "param_type": "keyword_only" + }, + "target_sku": { + "type": "Optional[_models.SkuRecommendationResultsAzureSqlDatabaseTargetSku]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "recommendation_status": "Optional", + "number_of_server_blocker_issues": "Optional", + "monthly_cost": "Optional", + "monthly_cost_options": "Optional", + "target_sku": "Optional" + } + }, + "SkuRecommendationResultsAzureSqlDatabaseTargetSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "category": { + "type": "Optional[_models.SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory]", + "default": null, + "param_type": "keyword_only" + }, + "compute_size": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "storage_max_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "predicted_data_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "predicted_log_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "max_storage_iops": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "max_throughput_m_bps": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "category": "Optional", + "compute_size": "Optional", + "storage_max_size_in_mb": "Optional", + "predicted_data_size_in_mb": "Optional", + "predicted_log_size_in_mb": "Optional", + "max_storage_iops": "Optional", + "max_throughput_m_bps": "Optional" + } + }, + "SkuRecommendationResultsAzureSqlDatabaseTargetSkuCategory": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_tier": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "hardware_type": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "sql_purchasing_model": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "sql_service_tier": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "zone_redundancy_available": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_tier": "Optional", + "hardware_type": "Optional", + "sql_purchasing_model": "Optional", + "sql_service_tier": "Optional", + "zone_redundancy_available": "Optional" + } + }, + "SkuRecommendationResultsAzureSqlManagedInstance": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "recommendation_status": { + "type": "Optional[Union[str, _models.RecommendationStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "number_of_server_blocker_issues": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "monthly_cost": { + "type": "Optional[_models.SkuRecommendationResultsMonthlyCost]", + "default": null, + "param_type": "keyword_only" + }, + "target_sku": { + "type": "Optional[_models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSku]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "recommendation_status": "Optional", + "number_of_server_blocker_issues": "Optional", + "monthly_cost": "Optional", + "monthly_cost_options": "Optional", + "target_sku": "Optional" + } + }, + "SkuRecommendationResultsAzureSqlManagedInstanceTargetSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "category": { + "type": "Optional[_models.SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory]", + "default": null, + "param_type": "keyword_only" + }, + "compute_size": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "storage_max_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "predicted_data_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "predicted_log_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "max_storage_iops": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "max_throughput_m_bps": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "category": "Optional", + "compute_size": "Optional", + "storage_max_size_in_mb": "Optional", + "predicted_data_size_in_mb": "Optional", + "predicted_log_size_in_mb": "Optional", + "max_storage_iops": "Optional", + "max_throughput_m_bps": "Optional" + } + }, + "SkuRecommendationResultsAzureSqlManagedInstanceTargetSkuCategory": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_tier": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "hardware_type": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "sql_purchasing_model": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "sql_service_tier": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "zone_redundancy_available": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_tier": "Optional", + "hardware_type": "Optional", + "sql_purchasing_model": "Optional", + "sql_service_tier": "Optional", + "zone_redundancy_available": "Optional" + } + }, + "SkuRecommendationResultsAzureSqlVirtualMachine": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "recommendation_status": { + "type": "Optional[Union[str, _models.RecommendationStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "number_of_server_blocker_issues": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "monthly_cost": { + "type": "Optional[_models.SkuRecommendationResultsMonthlyCost]", + "default": null, + "param_type": "keyword_only" + }, + "target_sku": { + "type": "Optional[_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSku]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "recommendation_status": "Optional", + "number_of_server_blocker_issues": "Optional", + "monthly_cost": "Optional", + "monthly_cost_options": "Optional", + "target_sku": "Optional" + } + }, + "SkuRecommendationResultsAzureSqlVirtualMachineTargetSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "category": { + "type": "Optional[_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory]", + "default": null, + "param_type": "keyword_only" + }, + "compute_size": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "predicted_data_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "predicted_log_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "virtual_machine_size": { + "type": "Optional[_models.SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize]", + "default": null, + "param_type": "keyword_only" + }, + "data_disk_sizes": { + "type": "Optional[list[_models.DiskSizes]]", + "default": null, + "param_type": "keyword_only" + }, + "log_disk_sizes": { + "type": "Optional[list[_models.DiskSizes]]", + "default": null, + "param_type": "keyword_only" + }, + "temp_db_disk_sizes": { + "type": "Optional[list[_models.DiskSizes]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "category": "Optional", + "compute_size": "Optional", + "predicted_data_size_in_mb": "Optional", + "predicted_log_size_in_mb": "Optional", + "virtual_machine_size": "Optional", + "data_disk_sizes": "Optional", + "log_disk_sizes": "Optional", + "temp_db_disk_sizes": "Optional" + } + }, + "SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuCategory": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "available_vm_skus": { + "type": "Optional[list[str]]", + "default": null, + "param_type": "keyword_only" + }, + "virtual_machine_family": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "available_vm_skus": "Optional", + "virtual_machine_family": "Optional" + } + }, + "SkuRecommendationResultsAzureSqlVirtualMachineTargetSkuVirtualMachineSize": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "virtual_machine_family": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "size_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "compute_size": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "azure_sku_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "v_cpus_available": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "max_network_interfaces": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "virtual_machine_family": "Optional", + "size_name": "Optional", + "compute_size": "Optional", + "azure_sku_name": "Optional", + "v_cpus_available": "Optional", + "max_network_interfaces": "Optional" + } + }, + "SkuRecommendationResultsMonthlyCost": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_cost": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "storage_cost": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "iops_cost": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "sql_license_cost": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "windows_license_cost": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "total_cost": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_cost": "Optional", + "storage_cost": "Optional", + "iops_cost": "Optional", + "sql_license_cost": "Optional", + "windows_license_cost": "Optional", + "total_cost": "Optional" + } + }, + "SkuRecommendationResultsMonthlyCostOptionItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "key_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "key_value": { + "type": "Optional[_models.CostTypeValues]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "key_name": "Optional", + "key_value": "Optional" + } + }, + "SkuRecommendationSummary": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "num_of_blocker_issues": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "recommendation_status": { + "type": "Optional[Union[str, _models.RecommendationStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "monthly_cost": { + "type": "Optional[_models.SkuRecommendationResultsMonthlyCost]", + "default": null, + "param_type": "keyword_only" + }, + "target_sku": { + "type": "Optional[_models.SkuRecommendationSummaryTargetSku]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "num_of_blocker_issues": "Optional", + "recommendation_status": "Optional", + "impacted_objects_summary": "Optional", + "monthly_cost": "Optional", + "monthly_cost_options": "Optional", + "target_sku": "Optional" + } + }, + "SkuRecommendationSummaryTargetSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "category": { + "type": "Optional[_models.SkuRecommendationSummaryTargetSkuCategory]", + "default": null, + "param_type": "keyword_only" + }, + "compute_size": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "storage_max_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "predicted_data_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "predicted_log_size_in_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "max_storage_iops": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "max_throughput_m_bps": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "category": "Optional", + "compute_size": "Optional", + "storage_max_size_in_mb": "Optional", + "predicted_data_size_in_mb": "Optional", + "predicted_log_size_in_mb": "Optional", + "max_storage_iops": "Optional", + "max_throughput_m_bps": "Optional" + } + }, + "SkuRecommendationSummaryTargetSkuCategory": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "compute_tier": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "hardware_type": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "sql_purchasing_model": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "sql_service_tier": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "zone_redundancy_available": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "compute_tier": "Optional", + "hardware_type": "Optional", + "sql_purchasing_model": "Optional", + "sql_service_tier": "Optional", + "zone_redundancy_available": "Optional" + } + }, + "SqlAvailabilityGroupDatabaseReplicaResourceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "database_name": "Optional", + "replica_name": "Optional", + "is_local": "Optional", + "is_primary_replica": "Optional", + "synchronization_state_description": "Optional", + "is_commit_participant": "Optional", + "synchronization_health_description": "Optional", + "database_state_description": "Optional", + "is_suspended": "Optional", + "suspend_reason_description": "Optional" + } + }, + "SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "ip_address": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "mask": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "ip_address": "Optional", + "mask": "Optional" + } + }, + "SqlAvailabilityGroupReplicaResourceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "replica_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "replica_resource_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "configure": { + "type": "Optional[_models.AvailabilityGroupConfigure]", + "default": null, + "param_type": "keyword_only" + }, + "state": { + "type": "Optional[_models.AvailabilityGroupState]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "replica_id": "Optional", + "replica_name": "Optional", + "replica_resource_id": "Optional", + "configure": "Optional", + "state": "Optional" + } + }, + "SqlAvailabilityGroupStaticIPListenerProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "dns_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "ip_v4_addresses_and_masks": { + "type": "Optional[list[_models.SqlAvailabilityGroupIpV4AddressesAndMasksPropertiesItem]]", + "default": null, + "param_type": "keyword_only" + }, + "ip_v6_addresses": { + "type": "Optional[list[str]]", + "default": null, + "param_type": "keyword_only" + }, + "port": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "dns_name": "Optional", + "ip_v4_addresses_and_masks": "Optional", + "ip_v6_addresses": "Optional", + "port": "Optional" + } + }, + "SqlManagedInstance": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "_models.SqlManagedInstanceProperties", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "extended_location": { + "type": "Optional[_models.ExtendedLocation]", + "default": null, + "param_type": "keyword_only" + }, + "sku": { + "type": "Optional[_models.SqlManagedInstanceSku]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": null, + "extended_location": "Optional", + "sku": "Optional", + "tags": "Optional", + "location": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "SqlManagedInstanceK8sRaw": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "spec": { + "type": "Optional[_models.SqlManagedInstanceK8sSpec]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "spec": "Optional" + } + }, + "SqlManagedInstanceK8sSpec": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "scheduling": { + "type": "Optional[_models.K8sScheduling]", + "default": null, + "param_type": "keyword_only" + }, + "replicas": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "security": { + "type": "Optional[_models.K8sSecurity]", + "default": null, + "param_type": "keyword_only" + }, + "settings": { + "type": "Optional[_models.K8sSettings]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "scheduling": "Optional", + "replicas": "Optional", + "security": "Optional", + "settings": "Optional" + } + }, + "SqlManagedInstanceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "admin": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "start_time": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "end_time": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "k8_s_raw": { + "type": "Optional[_models.SqlManagedInstanceK8sRaw]", + "default": null, + "param_type": "keyword_only" + }, + "basic_login_information": { + "type": "Optional[_models.BasicLoginInformation]", + "default": null, + "param_type": "keyword_only" + }, + "last_uploaded_date": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "active_directory_information": { + "type": "Optional[_models.ActiveDirectoryInformation]", + "default": null, + "param_type": "keyword_only" + }, + "license_type": { + "type": "Optional[Union[str, _models.ArcSqlManagedInstanceLicenseType]]", + "default": null, + "param_type": "keyword_only" + }, + "cluster_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "extension_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "data_controller_id": "Optional", + "admin": "Optional", + "start_time": "Optional", + "end_time": "Optional", + "k8_s_raw": "Optional", + "basic_login_information": "Optional", + "last_uploaded_date": "Optional", + "provisioning_state": "Optional", + "active_directory_information": "Optional", + "license_type": "Optional", + "cluster_id": "Optional", + "extension_id": "Optional" + } + }, + "SqlManagedInstanceSku": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "tier": { + "type": "Optional[Union[str, _models.SqlManagedInstanceSkuTier]]", + "default": null, + "param_type": "keyword_only" + }, + "dev": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "size": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "family": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "capacity": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": "Literal", + "tier": "Optional", + "dev": "Optional", + "size": "Optional", + "family": "Optional", + "capacity": "Optional" + } + }, + "SqlManagedInstanceSkuTier": { + "type": "Enum", + "methods": {}, + "properties": { + "BUSINESS_CRITICAL": "BUSINESS_CRITICAL", + "GENERAL_PURPOSE": "GENERAL_PURPOSE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlManagedInstanceUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": "Optional" + } + }, + "SqlServerAvailabilityGroupResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "_models.SqlServerAvailabilityGroupResourceProperties", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": null, + "tags": "Optional", + "location": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "SqlServerAvailabilityGroupResourceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "info": { + "type": "Optional[_models.AvailabilityGroupInfo]", + "default": null, + "param_type": "keyword_only" + }, + "replicas": { + "type": "Optional[_models.SqlServerAvailabilityGroupResourcePropertiesReplicas]", + "default": null, + "param_type": "keyword_only" + }, + "databases": { + "type": "Optional[_models.SqlServerAvailabilityGroupResourcePropertiesDatabases]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "availability_group_id": "Optional", + "server_name": "Optional", + "instance_name": "Optional", + "vm_id": "Optional", + "collection_timestamp": "Optional", + "info": "Optional", + "replicas": "Optional", + "databases": "Optional", + "provisioning_state": "Optional" + } + }, + "SqlServerAvailabilityGroupResourcePropertiesDatabases": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "value": { + "type": "Optional[list[_models.SqlAvailabilityGroupDatabaseReplicaResourceProperties]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": "Optional", + "next_link": "Optional" + } + }, + "SqlServerAvailabilityGroupResourcePropertiesReplicas": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "value": { + "type": "Optional[list[_models.SqlAvailabilityGroupReplicaResourceProperties]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "value": "Optional", + "next_link": "Optional" + } + }, + "SqlServerAvailabilityGroupUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "Optional[_models.SqlServerAvailabilityGroupResourceProperties]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": "Optional", + "properties": "Optional" + } + }, + "SqlServerDatabaseResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "_models.SqlServerDatabaseResourceProperties", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": null, + "tags": "Optional", + "location": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "SqlServerDatabaseResourceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "collation_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "database_creation_date": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "compatibility_level": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "size_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "log_file_size_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "data_file_size_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "space_available_mb": { + "type": "Optional[float]", + "default": null, + "param_type": "keyword_only" + }, + "state": { + "type": "Optional[Union[str, _models.DatabaseState]]", + "default": null, + "param_type": "keyword_only" + }, + "is_read_only": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "recovery_mode": { + "type": "Optional[Union[str, _models.RecoveryMode]]", + "default": null, + "param_type": "keyword_only" + }, + "database_options": { + "type": "Optional[_models.SqlServerDatabaseResourcePropertiesDatabaseOptions]", + "default": null, + "param_type": "keyword_only" + }, + "backup_information": { + "type": "Optional[_models.SqlServerDatabaseResourcePropertiesBackupInformation]", + "default": null, + "param_type": "keyword_only" + }, + "backup_policy": { + "type": "Optional[_models.BackupPolicy]", + "default": null, + "param_type": "keyword_only" + }, + "create_mode": { + "type": "Optional[Union[str, _models.DatabaseCreateMode]]", + "default": null, + "param_type": "keyword_only" + }, + "source_database_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "restore_point_in_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "migration": { + "type": "Optional[_models.DataBaseMigration]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "collation_name": "Optional", + "database_creation_date": "Optional", + "compatibility_level": "Optional", + "size_mb": "Optional", + "log_file_size_mb": "Optional", + "data_file_size_mb": "Optional", + "space_available_mb": "Optional", + "state": "Optional", + "is_read_only": "Optional", + "recovery_mode": "Optional", + "database_options": "Optional", + "backup_information": "Optional", + "backup_policy": "Optional", + "earliest_restore_date": "Optional", + "create_mode": "Optional", + "source_database_id": "Optional", + "vm_id": "Optional", + "restore_point_in_time": "Optional", + "provisioning_state": "Optional", + "last_database_upload_time": "Optional", + "migration": "Optional" + } + }, + "SqlServerDatabaseResourcePropertiesBackupInformation": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "last_full_backup": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "last_log_backup": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "last_full_backup": "Optional", + "last_log_backup": "Optional" + } + }, + "SqlServerDatabaseResourcePropertiesDatabaseOptions": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "is_auto_close_on": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "is_auto_shrink_on": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "is_auto_create_stats_on": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "is_auto_update_stats_on": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "is_remote_data_archive_enabled": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "is_memory_optimization_enabled": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "is_encrypted": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "is_trustworthy_on": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "is_hekaton_files_on": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "number_of_hekaton_files": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "is_auto_close_on": "Optional", + "is_auto_shrink_on": "Optional", + "is_auto_create_stats_on": "Optional", + "is_auto_update_stats_on": "Optional", + "is_remote_data_archive_enabled": "Optional", + "is_memory_optimization_enabled": "Optional", + "is_encrypted": "Optional", + "is_trustworthy_on": "Optional", + "is_hekaton_files_on": "Optional", + "number_of_hekaton_files": "Optional" + } + }, + "SqlServerDatabaseUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "Optional[_models.SqlServerDatabaseResourceProperties]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": "Optional", + "properties": "Optional" + } + }, + "SqlServerEsuLicense": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "_models.SqlServerEsuLicenseProperties", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": null, + "tags": "Optional", + "location": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "SqlServerEsuLicenseProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "billing_plan": { + "type": "Union[str, _models.BillingPlan]", + "default": null, + "param_type": "keyword_only" + }, + "version": { + "type": "Union[str, _models.Version]", + "default": null, + "param_type": "keyword_only" + }, + "physical_cores": { + "type": "int", + "default": null, + "param_type": "keyword_only" + }, + "activation_state": { + "type": "Union[str, _models.State]", + "default": null, + "param_type": "keyword_only" + }, + "scope_type": { + "type": "Union[str, _models.ScopeType]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "billing_plan": "Union", + "version": "Union", + "unique_id": "Optional", + "physical_cores": null, + "activation_state": "Union", + "scope_type": "Union", + "activated_at": "Optional", + "terminated_at": "Optional", + "tenant_id": "Optional" + } + }, + "SqlServerEsuLicenseUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "Optional[_models.SqlServerEsuLicenseUpdateProperties]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": "Optional", + "properties": "Optional" + } + }, + "SqlServerEsuLicenseUpdateProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "billing_plan": { + "type": "Optional[Union[str, _models.BillingPlan]]", + "default": null, + "param_type": "keyword_only" + }, + "version": { + "type": "Optional[Union[str, _models.Version]]", + "default": null, + "param_type": "keyword_only" + }, + "physical_cores": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "activation_state": { + "type": "Optional[Union[str, _models.State]]", + "default": null, + "param_type": "keyword_only" + }, + "scope_type": { + "type": "Optional[Union[str, _models.ScopeType]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "billing_plan": "Optional", + "version": "Optional", + "unique_id": "Optional", + "physical_cores": "Optional", + "activation_state": "Optional", + "scope_type": "Optional", + "activated_at": "Optional", + "terminated_at": "Optional", + "tenant_id": "Optional" + } + }, + "SqlServerInstance": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "Optional[_models.SqlServerInstanceProperties]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": "Optional", + "tags": "Optional", + "location": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "SqlServerInstanceBpaColumn": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "type": { + "type": "Optional[Union[str, _models.SqlServerInstanceBpaColumnType]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": "Optional", + "type": "Optional" + } + }, + "SqlServerInstanceBpaColumnType": { + "type": "Enum", + "methods": {}, + "properties": { + "BOOL": "BOOL", + "DATETIME": "DATETIME", + "DOUBLE": "DOUBLE", + "GUID": "GUID", + "INT": "INT", + "LONG": "LONG", + "STRING": "STRING", + "TIMESPAN": "TIMESPAN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlServerInstanceBpaQueryType": { + "type": "Enum", + "methods": {}, + "properties": { + "BASIC": "BASIC", + "HISTORICAL_TRENDS": "HISTORICAL_TRENDS", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlServerInstanceBpaReportType": { + "type": "Enum", + "methods": {}, + "properties": { + "ASSESSMENT_DATA_POINT": "ASSESSMENT_DATA_POINT", + "ASSESSMENT_SUMMARY": "ASSESSMENT_SUMMARY", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlServerInstanceBpaRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "report_type": { + "type": "Optional[Union[str, _models.SqlServerInstanceBpaReportType]]", + "default": null, + "param_type": "keyword_only" + }, + "report_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "skip_token": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "query_type": { + "type": "Optional[Union[str, _models.SqlServerInstanceBpaQueryType]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "report_type": "Optional", + "report_id": "Optional", + "skip_token": "Optional", + "query_type": "Optional" + } + }, + "SqlServerInstanceJob": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "instance_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "job_status": { + "type": "Optional[Union[str, _models.JobStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "job_exception": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "background_job": { + "type": "Optional[_models.BackgroundJob]", + "default": null, + "param_type": "keyword_only" + }, + "sequencer_actions": { + "type": "Optional[list[_models.SequencerAction]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": "Optional", + "instance_name": "Optional", + "job_status": "Optional", + "job_exception": "Optional", + "background_job": "Optional", + "sequencer_actions": "Optional" + } + }, + "SqlServerInstanceJobStatus": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "instance_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "job_status": { + "type": "Optional[Union[str, _models.JobStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "job_exception": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "background_job": { + "type": "Optional[_models.BackgroundJob]", + "default": null, + "param_type": "keyword_only" + }, + "sequencer_actions": { + "type": "Optional[list[_models.SequencerAction]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": "Optional", + "instance_name": "Optional", + "job_status": "Optional", + "job_exception": "Optional", + "background_job": "Optional", + "sequencer_actions": "Optional" + } + }, + "SqlServerInstanceJobsRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "feature_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "job_type": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "feature_name": "Optional", + "job_type": "Optional" + } + }, + "SqlServerInstanceJobsResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "jobs": { + "type": "Optional[list[_models.SqlServerInstanceJob]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "jobs": "Optional" + } + }, + "SqlServerInstanceJobsStatusRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "feature_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "job_type": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "feature_name": "Optional", + "job_type": "Optional" + } + }, + "SqlServerInstanceJobsStatusResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "jobs_status": { + "type": "Optional[list[_models.SqlServerInstanceJobStatus]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "jobs_status": "Optional" + } + }, + "SqlServerInstanceManagedInstanceLinkAssessment": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "category": { + "type": "Optional[Union[str, _models.MiLinkAssessmentCategory]]", + "default": null, + "param_type": "keyword_only" + }, + "status": { + "type": "Optional[Union[str, _models.AssessmentStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "information": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "additional_information": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "failing_dbs": { + "type": "Optional[list[str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": "Optional", + "category": "Optional", + "status": "Optional", + "information": "Optional", + "additional_information": "Optional", + "failing_dbs": "Optional" + } + }, + "SqlServerInstanceManagedInstanceLinkAssessmentRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "azure_managed_instance_resource_id": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "database_names": { + "type": "list[str]", + "default": null, + "param_type": "keyword_only" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "distributed_availability_group_name": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "azure_managed_instance_role": { + "type": "Optional[Union[str, _models.AzureManagedInstanceRole]]", + "default": null, + "param_type": "keyword_only" + }, + "assessment_categories": { + "type": "Optional[list[Union[str, _models.MiLinkAssessmentCategory]]]", + "default": null, + "param_type": "keyword_only" + }, + "sql_server_ip_address": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "azure_managed_instance_resource_id": null, + "azure_managed_instance_role": "Optional", + "database_names": "list", + "availability_group_name": null, + "distributed_availability_group_name": null, + "assessment_categories": "Optional", + "sql_server_ip_address": "Optional" + } + }, + "SqlServerInstanceManagedInstanceLinkAssessmentResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "assessments": { + "type": "Optional[list[_models.SqlServerInstanceManagedInstanceLinkAssessment]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "assessments": "Optional" + } + }, + "SqlServerInstanceMigrationReadinessReportResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "report": "Optional", + "is_compressed": "Optional", + "created_time": "Optional" + } + }, + "SqlServerInstanceProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "version": { + "type": "Optional[Union[str, _models.SqlVersion]]", + "default": null, + "param_type": "keyword_only" + }, + "edition": { + "type": "Optional[Union[str, _models.EditionType]]", + "default": null, + "param_type": "keyword_only" + }, + "cores": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "discovery_source": { + "type": "Optional[Union[str, _models.DiscoverySource]]", + "default": null, + "param_type": "keyword_only" + }, + "instance_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "host_type": { + "type": "Optional[Union[str, _models.HostType]]", + "default": null, + "param_type": "keyword_only" + }, + "database_mirroring_endpoint": { + "type": "Optional[_models.DBMEndpoint]", + "default": null, + "param_type": "keyword_only" + }, + "failover_cluster": { + "type": "Optional[_models.FailoverCluster]", + "default": null, + "param_type": "keyword_only" + }, + "backup_policy": { + "type": "Optional[_models.BackupPolicy]", + "default": null, + "param_type": "keyword_only" + }, + "upgrade_locked_until": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "monitoring": { + "type": "Optional[_models.Monitoring]", + "default": null, + "param_type": "keyword_only" + }, + "migration": { + "type": "Optional[_models.Migration]", + "default": null, + "param_type": "keyword_only" + }, + "best_practices_assessment": { + "type": "Optional[_models.BestPracticesAssessment]", + "default": null, + "param_type": "keyword_only" + }, + "client_connection": { + "type": "Optional[_models.ClientConnection]", + "default": null, + "param_type": "keyword_only" + }, + "service_type": { + "type": "Optional[Union[str, _models.ServiceType]]", + "default": null, + "param_type": "keyword_only" + }, + "authentication": { + "type": "Optional[_models.Authentication]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "version": "Optional", + "edition": "Optional", + "container_resource_id": "Optional", + "vm_id": "Optional", + "create_time": "Optional", + "v_core": "Optional", + "cores": "Optional", + "status": "Optional", + "discovery_source": "Optional", + "patch_level": "Optional", + "collation": "Optional", + "db_master_key_exists": "Optional", + "is_hadr_enabled": "Optional", + "trace_flags": "Optional", + "current_version": "Optional", + "instance_name": "Optional", + "tcp_dynamic_ports": "Optional", + "tcp_static_ports": "Optional", + "product_id": "Optional", + "license_type": "Optional", + "azure_defender_status_last_updated": "Optional", + "azure_defender_status": "Optional", + "provisioning_state": "Optional", + "last_inventory_upload_time": "Optional", + "last_usage_upload_time": "Optional", + "host_type": "Optional", + "always_on_role": "Optional", + "database_mirroring_endpoint": "Optional", + "failover_cluster": "Optional", + "backup_policy": "Optional", + "upgrade_locked_until": "Optional", + "monitoring": "Optional", + "migration": "Optional", + "best_practices_assessment": "Optional", + "client_connection": "Optional", + "service_type": "Optional", + "max_server_memory_mb": "Optional", + "is_microsoft_pki_cert_trust_configured": "Optional", + "is_digi_cert_pki_cert_trust_configured": "Optional", + "authentication": "Optional" + } + }, + "SqlServerInstanceRunBestPracticesAssessmentResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "instance_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "job_status": { + "type": "Optional[Union[str, _models.JobStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "job_exception": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "background_job": { + "type": "Optional[_models.BackgroundJob]", + "default": null, + "param_type": "keyword_only" + }, + "sequencer_actions": { + "type": "Optional[list[_models.SequencerAction]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": "Optional", + "instance_name": "Optional", + "job_status": "Optional", + "job_exception": "Optional", + "background_job": "Optional", + "sequencer_actions": "Optional" + } + }, + "SqlServerInstanceRunMigrationAssessmentResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "instance_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "job_status": { + "type": "Optional[Union[str, _models.JobStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "job_exception": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "background_job": { + "type": "Optional[_models.BackgroundJob]", + "default": null, + "param_type": "keyword_only" + }, + "sequencer_actions": { + "type": "Optional[list[_models.SequencerAction]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": "Optional", + "instance_name": "Optional", + "job_status": "Optional", + "job_exception": "Optional", + "background_job": "Optional", + "sequencer_actions": "Optional" + } + }, + "SqlServerInstanceRunMigrationReadinessAssessmentResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "instance_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "job_status": { + "type": "Optional[Union[str, _models.JobStatus]]", + "default": null, + "param_type": "keyword_only" + }, + "job_exception": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "background_job": { + "type": "Optional[_models.BackgroundJob]", + "default": null, + "param_type": "keyword_only" + }, + "sequencer_actions": { + "type": "Optional[list[_models.SequencerAction]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "id": "Optional", + "instance_name": "Optional", + "job_status": "Optional", + "job_exception": "Optional", + "background_job": "Optional", + "sequencer_actions": "Optional" + } + }, + "SqlServerInstanceRunTargetRecommendationJobRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_update_mode": { + "type": "Optional[Union[str, _models.ResourceUpdateMode]]", + "default": null, + "param_type": "keyword_only" + }, + "include_file_level_requirements": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "target_location": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "percentile": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "lookback_period_in_days": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "resource_update_mode": "Optional", + "include_file_level_requirements": "Optional", + "target_location": "Optional", + "percentile": "Optional", + "lookback_period_in_days": "Optional" + } + }, + "SqlServerInstanceRunTargetRecommendationJobResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "job_status": "Optional" + } + }, + "SqlServerInstanceTargetRecommendationReport": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "report_id": "Optional", + "created_time": "Optional", + "sections": "Optional" + } + }, + "SqlServerInstanceTargetRecommendationReportSection": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "data": "Optional", + "type": "Optional", + "database_name": "Optional", + "is_compressed": "Optional" + } + }, + "SqlServerInstanceTargetRecommendationReportSectionType": { + "type": "Enum", + "methods": {}, + "properties": { + "FILE_REQUIREMENTS_PER_DATABASE": "FILE_REQUIREMENTS_PER_DATABASE", + "REQUIREMENTS_PER_DATABASE": "REQUIREMENTS_PER_DATABASE", + "REQUIREMENTS_PER_INSTANCE": "REQUIREMENTS_PER_INSTANCE", + "SQL_DB_TARGET_RECOMMENDATION_PER_DATABASE": "SQL_DB_TARGET_RECOMMENDATION_PER_DATABASE", + "SQL_MI_TARGET_RECOMMENDATION_PER_INSTANCE": "SQL_MI_TARGET_RECOMMENDATION_PER_INSTANCE", + "SQL_VM_TARGET_RECOMMENDATION_PER_INSTANCE": "SQL_VM_TARGET_RECOMMENDATION_PER_INSTANCE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlServerInstanceTargetRecommendationReportsRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "report_offset": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "section_offset": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "section_type": { + "type": "Optional[Union[str, _models.SqlServerInstanceTargetRecommendationReportSectionType]]", + "default": null, + "param_type": "keyword_only" + }, + "database_names": { + "type": "Optional[list[str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "report_offset": "Optional", + "section_offset": "Optional", + "section_type": "Optional", + "database_names": "Optional" + } + }, + "SqlServerInstanceTargetRecommendationReportsResponse": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "job_status": "Optional", + "reports": "Optional", + "total_report_count": "Optional", + "next_report_offset": "Optional", + "next_section_offset": "Optional" + } + }, + "SqlServerInstanceTelemetryColumn": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "type": { + "type": "Optional[Union[str, _models.SqlServerInstanceTelemetryColumnType]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "name": "Optional", + "type": "Optional" + } + }, + "SqlServerInstanceTelemetryColumnType": { + "type": "Enum", + "methods": {}, + "properties": { + "BOOL": "BOOL", + "DATETIME": "DATETIME", + "DOUBLE": "DOUBLE", + "GUID": "GUID", + "INT": "INT", + "LONG": "LONG", + "STRING": "STRING", + "TIMESPAN": "TIMESPAN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SqlServerInstanceTelemetryRequest": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "dataset_name": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "start_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "end_time": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "interval": { + "type": "Optional[timedelta]", + "default": null, + "param_type": "keyword_only" + }, + "aggregation_type": { + "type": "Optional[Union[str, _models.AggregationType]]", + "default": null, + "param_type": "keyword_only" + }, + "database_names": { + "type": "Optional[list[str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "dataset_name": null, + "start_time": "Optional", + "end_time": "Optional", + "interval": "Optional", + "aggregation_type": "Optional", + "database_names": "Optional" + } + }, + "SqlServerInstanceUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "Optional[_models.SqlServerInstanceUpdateProperties]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": "Optional", + "properties": "Optional" + } + }, + "SqlServerInstanceUpdateProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "version": { + "type": "Optional[Union[str, _models.SqlVersion]]", + "default": null, + "param_type": "keyword_only" + }, + "edition": { + "type": "Optional[Union[str, _models.EditionType]]", + "default": null, + "param_type": "keyword_only" + }, + "cores": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "discovery_source": { + "type": "Optional[Union[str, _models.DiscoverySource]]", + "default": null, + "param_type": "keyword_only" + }, + "instance_name": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "host_type": { + "type": "Optional[Union[str, _models.HostType]]", + "default": null, + "param_type": "keyword_only" + }, + "failover_cluster": { + "type": "Optional[_models.FailoverCluster]", + "default": null, + "param_type": "keyword_only" + }, + "backup_policy": { + "type": "Optional[_models.BackupPolicy]", + "default": null, + "param_type": "keyword_only" + }, + "upgrade_locked_until": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "monitoring": { + "type": "Optional[_models.Monitoring]", + "default": null, + "param_type": "keyword_only" + }, + "migration": { + "type": "Optional[_models.Migration]", + "default": null, + "param_type": "keyword_only" + }, + "best_practices_assessment": { + "type": "Optional[_models.BestPracticesAssessment]", + "default": null, + "param_type": "keyword_only" + }, + "client_connection": { + "type": "Optional[_models.ClientConnection]", + "default": null, + "param_type": "keyword_only" + }, + "service_type": { + "type": "Optional[Union[str, _models.ServiceType]]", + "default": null, + "param_type": "keyword_only" + }, + "authentication": { + "type": "Optional[_models.Authentication]", + "default": null, + "param_type": "keyword_only" + }, + "database_mirroring_endpoint": { + "type": "Optional[_models.DBMEndpoint]", + "default": null, + "param_type": "keyword_only" + }, + "is_microsoft_pki_cert_trust_configured": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "is_digi_cert_pki_cert_trust_configured": { + "type": "Optional[bool]", + "default": null, + "param_type": "keyword_only" + }, + "max_server_memory_mb": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "version": "Optional", + "edition": "Optional", + "container_resource_id": "Optional", + "vm_id": "Optional", + "create_time": "Optional", + "v_core": "Optional", + "cores": "Optional", + "status": "Optional", + "discovery_source": "Optional", + "patch_level": "Optional", + "collation": "Optional", + "db_master_key_exists": "Optional", + "is_hadr_enabled": "Optional", + "trace_flags": "Optional", + "current_version": "Optional", + "instance_name": "Optional", + "tcp_dynamic_ports": "Optional", + "tcp_static_ports": "Optional", + "product_id": "Optional", + "license_type": "Optional", + "azure_defender_status_last_updated": "Optional", + "azure_defender_status": "Optional", + "provisioning_state": "Optional", + "last_inventory_upload_time": "Optional", + "last_usage_upload_time": "Optional", + "host_type": "Optional", + "always_on_role": "Optional", + "failover_cluster": "Optional", + "backup_policy": "Optional", + "upgrade_locked_until": "Optional", + "monitoring": "Optional", + "migration": "Optional", + "best_practices_assessment": "Optional", + "client_connection": "Optional", + "service_type": "Optional", + "authentication": "Optional", + "database_mirroring_endpoint": "Optional", + "is_microsoft_pki_cert_trust_configured": "Optional", + "is_digi_cert_pki_cert_trust_configured": "Optional", + "max_server_memory_mb": "Optional" + } + }, + "SqlServerLicense": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "_models.SqlServerLicenseProperties", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "properties": null, + "tags": "Optional", + "location": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "SqlServerLicenseProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "billing_plan": { + "type": "Union[str, _models.BillingPlan]", + "default": null, + "param_type": "keyword_only" + }, + "physical_cores": { + "type": "int", + "default": null, + "param_type": "keyword_only" + }, + "license_category": { + "type": "Union[str, _models.LicenseCategory]", + "default": null, + "param_type": "keyword_only" + }, + "activation_state": { + "type": "Union[str, _models.ActivationState]", + "default": null, + "param_type": "keyword_only" + }, + "scope_type": { + "type": "Union[str, _models.ScopeType]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "billing_plan": "Union", + "physical_cores": null, + "license_category": "Union", + "activation_state": "Union", + "scope_type": "Union", + "last_activated_at": "Optional", + "last_deactivated_at": "Optional", + "tenant_id": "Optional" + } + }, + "SqlServerLicenseUpdate": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + }, + "properties": { + "type": "Optional[_models.SqlServerLicenseUpdateProperties]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": "Optional", + "properties": "Optional" + } + }, + "SqlServerLicenseUpdateProperties": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "billing_plan": { + "type": "Optional[Union[str, _models.BillingPlan]]", + "default": null, + "param_type": "keyword_only" + }, + "physical_cores": { + "type": "Optional[int]", + "default": null, + "param_type": "keyword_only" + }, + "license_category": { + "type": "Optional[Union[str, _models.LicenseCategory]]", + "default": null, + "param_type": "keyword_only" + }, + "activation_state": { + "type": "Optional[Union[str, _models.ActivationState]]", + "default": null, + "param_type": "keyword_only" + }, + "scope_type": { + "type": "Optional[Union[str, _models.ScopeType]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "billing_plan": "Optional", + "physical_cores": "Optional", + "license_category": "Optional", + "activation_state": "Optional", + "scope_type": "Optional", + "last_activated_at": "Optional", + "last_deactivated_at": "Optional", + "tenant_id": "Optional" + } + }, + "SqlVersion": { + "type": "Enum", + "methods": {}, + "properties": { + "SQL_SERVER2012": "SQL_SERVER2012", + "SQL_SERVER2014": "SQL_SERVER2014", + "SQL_SERVER2016": "SQL_SERVER2016", + "SQL_SERVER2017": "SQL_SERVER2017", + "SQL_SERVER2019": "SQL_SERVER2019", + "SQL_SERVER2022": "SQL_SERVER2022", + "SQL_SERVER2025": "SQL_SERVER2025", + "UNKNOWN": "UNKNOWN", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "State": { + "type": "Enum", + "methods": {}, + "properties": { + "ACTIVE": "ACTIVE", + "COMPLETED": "COMPLETED", + "DELETED": "DELETED", + "DISABLED": "DISABLED", + "ENABLED": "ENABLED", + "FAULTED": "FAULTED", + "INACTIVE": "INACTIVE", + "SUSPENDED": "SUSPENDED", + "TERMINATED": "TERMINATED", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "SystemData": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "created_by": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "created_by_type": { + "type": "Optional[Union[str, _models.CreatedByType]]", + "default": null, + "param_type": "keyword_only" + }, + "created_at": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "last_modified_by": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "last_modified_by_type": { + "type": "Optional[Union[str, _models.CreatedByType]]", + "default": null, + "param_type": "keyword_only" + }, + "last_modified_at": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "created_by": "Optional", + "created_by_type": "Optional", + "created_at": "Optional", + "last_modified_by": "Optional", + "last_modified_by_type": "Optional", + "last_modified_at": "Optional" + } + }, + "TargetReadiness": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "azure_sql_database": { + "type": "Optional[_models.SkuRecommendationSummary]", + "default": null, + "param_type": "keyword_only" + }, + "azure_sql_managed_instance": { + "type": "Optional[_models.SkuRecommendationSummary]", + "default": null, + "param_type": "keyword_only" + }, + "azure_sql_virtual_machine": { + "type": "Optional[_models.SkuRecommendationSummary]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "azure_sql_database": "Optional", + "azure_sql_managed_instance": "Optional", + "azure_sql_virtual_machine": "Optional" + } + }, + "TargetType": { + "type": "Enum", + "methods": {}, + "properties": { + "AZURE_SQL_DATABASE": "AZURE_SQL_DATABASE", + "AZURE_SQL_MANAGED_INSTANCE": "AZURE_SQL_MANAGED_INSTANCE", + "AZURE_SQL_VIRTUAL_MACHINE": "AZURE_SQL_VIRTUAL_MACHINE", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + }, + "TrackedResource": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "location": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "tags": { + "type": "Optional[dict[str, str]]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "tags": "Optional", + "location": null, + "id": "Optional", + "name": "Optional", + "type": "Optional", + "system_data": "Optional" + } + }, + "UploadServicePrincipal": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "client_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "tenant_id": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "authority": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + }, + "client_secret": { + "type": "Optional[str]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "client_id": "Optional", + "tenant_id": "Optional", + "authority": "Optional", + "client_secret": "Optional" + } + }, + "UploadWatermark": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "metrics": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "logs": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + }, + "usages": { + "type": "Optional[datetime]", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "as_dict": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "exclude_readonly": { + "default": "bool", + "param_type": "keyword_only" + } + }, + "is_async": false, + "overloads": [] + }, + "clear": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "copy": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "none", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "items": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "keys": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "pop": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "popitem": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "setdefault": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "key": { + "default": null, + "param_type": "positional_or_keyword" + }, + "default": { + "default": "object", + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "values": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "metrics": "Optional", + "logs": "Optional", + "usages": "Optional" + } + }, + "Version": { + "type": "Enum", + "methods": {}, + "properties": { + "SQL_SERVER2012": "SQL_SERVER2012", + "SQL_SERVER2014": "SQL_SERVER2014", + "SQL_SERVER2016": "SQL_SERVER2016", + "capitalize": "capitalize", + "casefold": "casefold", + "center": "center", + "count": "count", + "encode": "encode", + "endswith": "endswith", + "expandtabs": "expandtabs", + "find": "find", + "format": "format", + "format_map": "format_map", + "index": "index", + "isalnum": "isalnum", + "isalpha": "isalpha", + "isascii": "isascii", + "isdecimal": "isdecimal", + "isdigit": "isdigit", + "isidentifier": "isidentifier", + "islower": "islower", + "isnumeric": "isnumeric", + "isprintable": "isprintable", + "isspace": "isspace", + "istitle": "istitle", + "isupper": "isupper", + "join": "join", + "ljust": "ljust", + "lower": "lower", + "lstrip": "lstrip", + "maketrans": "maketrans", + "partition": "partition", + "removeprefix": "removeprefix", + "removesuffix": "removesuffix", + "replace": "replace", + "rfind": "rfind", + "rindex": "rindex", + "rjust": "rjust", + "rpartition": "rpartition", + "rsplit": "rsplit", + "rstrip": "rstrip", + "split": "split", + "splitlines": "splitlines", + "startswith": "startswith", + "strip": "strip", + "swapcase": "swapcase", + "title": "title", + "translate": "translate", + "upper": "upper", + "zfill": "zfill" + } + } + }, + "function_nodes": {} + }, + "azure.mgmt.azurearcdata.aio": { + "class_nodes": { + "AzureArcDataClient": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "credential": { + "default": null, + "param_type": "positional_or_keyword" + }, + "subscription_id": { + "default": null, + "param_type": "positional_or_keyword" + }, + "base_url": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "cloud_setting": { + "default": "none", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "close": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "send_request": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "stream": { + "default": "bool", + "param_type": "keyword_only" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": { + "client_side_validation": { + "attr_type": false + }, + "operations": { + "attr_type": "Operations" + }, + "sql_managed_instances": { + "attr_type": "SqlManagedInstancesOperations" + }, + "sql_server_instances": { + "attr_type": "SqlServerInstancesOperations" + }, + "sql_server_licenses": { + "attr_type": "SqlServerLicensesOperations" + }, + "postgres_instances": { + "attr_type": "PostgresInstancesOperations" + }, + "sql_server_esu_licenses": { + "attr_type": "SqlServerEsuLicensesOperations" + }, + "failover_groups": { + "attr_type": "FailoverGroupsOperations" + }, + "sql_server_availability_groups": { + "attr_type": "SqlServerAvailabilityGroupsOperations" + }, + "data_controllers": { + "attr_type": "DataControllersOperations" + }, + "active_directory_connectors": { + "attr_type": "ActiveDirectoryConnectorsOperations" + }, + "sql_server_databases": { + "attr_type": "SqlServerDatabasesOperations" + } + } + } + }, + "function_nodes": {} + }, + "azure.mgmt.azurearcdata.aio.operations": { + "class_nodes": { + "ActiveDirectoryConnectorsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "type": "ActiveDirectoryConnectorResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "active_directory_connector_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "DataControllersOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_delete_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_patch_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "DataControllerUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_put_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "DataControllerResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "get_data_controller": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "data_controller_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list_in_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_in_subscription": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "FailoverGroupsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "type": "FailoverGroupResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "failover_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "Operations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "PostgresInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "type": "PostgresInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "PostgresInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "postgres_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlManagedInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "type": "SqlManagedInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlManagedInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_managed_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerAvailabilityGroupsOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "add_databases": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "Databases", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_create_availability_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "type": "AvailabilityGroupCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_ag_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_create_distributed_availability_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "type": "DistributedAvailabilityGroupCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_dag_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_create_managed_instance_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "type": "ManagedInstanceLinkCreateUpdateConfiguration", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "create_managed_instance_link_configuration": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_delete_mi_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_failover_mi_link": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "type": "FailoverMiLinkResourceId", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "managed_instance_resource_id": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "type": "SqlServerAvailabilityGroupUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_update": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "type": "SqlServerAvailabilityGroupResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_availability_group_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "detail_view": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "failover": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "force_failover_allow_data_loss": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "remove_databases": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "Databases", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "databases": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerDatabasesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "type": "SqlServerDatabaseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_update": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "type": "SqlServerDatabaseResource", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_database_resource": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "database_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + } + }, + "properties": {} + }, + "SqlServerEsuLicensesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "type": "SqlServerEsuLicense", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerEsuLicenseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_esu_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + } + }, + "properties": {} + }, + "SqlServerInstancesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "begin_create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "type": "SqlServerInstance", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_get_best_practices_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "type": "SqlServerInstanceBpaRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_bpa_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_get_jobs": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "type": "Optional[SqlServerInstanceJobsRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "type": "Optional[JSON]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_get_migration_readiness_report": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_get_target_recommendation_reports": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "type": "Optional[SqlServerInstanceTargetRecommendationReportsRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "type": "Optional[JSON]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_target_recommendation_reports_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_get_telemetry": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "type": "SqlServerInstanceTelemetryRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_telemetry_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_run_best_practice_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_run_managed_instance_link_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "type": "SqlServerInstanceManagedInstanceLinkAssessmentRequest", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_managed_instance_link_assessment_request": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_run_migration_readiness_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "begin_run_target_recommendation_job": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "type": "Optional[SqlServerInstanceRunTargetRecommendationJobRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "type": "Optional[JSON]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_run_target_recommendation_job_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "begin_update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerInstanceUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get_all_availability_groups": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "type": "Optional[AvailabilityGroupRetrievalFilters]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "type": "Optional[JSON]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "availability_group_retrieval_filters": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + } + ] + }, + "get_jobs_status": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "default": "none", + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "type": "Optional[SqlServerInstanceJobsStatusRequest]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "type": "Optional[JSON]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_jobs_status_request": { + "type": "Optional[IO[bytes]]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "post_upgrade": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "pre_upgrade": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "run_best_practices_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "run_migration_assessment": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_instance_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + } + }, + "properties": {} + }, + "SqlServerLicensesOperations": { + "type": null, + "methods": { + "__init__": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "args": { + "default": null, + "param_type": "var_positional" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "create": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "type": "SqlServerLicense", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + }, + "delete": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "get": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [] + }, + "list": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "list_by_resource_group": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": false, + "overloads": [] + }, + "update": { + "parameters": { + "self": { + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "default": null, + "param_type": "positional_or_keyword" + }, + "kwargs": { + "default": null, + "param_type": "var_keyword" + } + }, + "is_async": true, + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "SqlServerLicenseUpdate", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "JSON", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "resource_group_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "sql_server_license_name": { + "type": "str", + "default": null, + "param_type": "positional_or_keyword" + }, + "parameters": { + "type": "IO[bytes]", + "default": null, + "param_type": "positional_or_keyword" + }, + "content_type": { + "type": "str", + "default": "application/json", + "param_type": "keyword_only" + } + }, + "is_async": true, + "return_type": null + } + ] + } + }, + "properties": {} + } + }, + "function_nodes": {} + } +} \ No newline at end of file diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py index 9c178d98c3d3..cfd31fe6cacc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.add_databases( @@ -40,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/AddDatabasesToAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/AddDatabasesToAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py index 7b44504b4057..06dd5861bbc7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.active_directory_connectors.begin_create( @@ -61,6 +60,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateActiveDirectoryConnector.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdateActiveDirectoryConnector.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py index 962a78158b56..85eca790ed34 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.create( @@ -74,6 +73,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateArcSqlServerAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdateArcSqlServerAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py index e8293d0ca167..b7c355176a51 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py @@ -3,13 +3,13 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +26,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_databases.create( @@ -91,6 +91,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateArcSqlServerDatabase.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdateArcSqlServerDatabase.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py index f505e539e375..f266817af6ab 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py @@ -3,13 +3,13 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +26,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.data_controllers.begin_put_data_controller( @@ -73,6 +73,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateDataController.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdateDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py index 7902e8599796..38312bae72fb 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py @@ -3,13 +3,13 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +26,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.failover_groups.begin_create( @@ -45,6 +45,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateFailoverGroup.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdateFailoverGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py index ffaf6d775dc3..eb177186098a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py @@ -3,13 +3,13 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +26,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.begin_create_managed_instance_link( @@ -71,6 +71,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateManagedInstanceLink.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdateManagedInstanceLink.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py index 0ae1eccde917..3542be9d0e6b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py @@ -3,13 +3,13 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +26,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.postgres_instances.begin_create( @@ -85,6 +85,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdatePostgresInstance.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdatePostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py index b4cb6dc218ba..84ce08ee3f57 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py @@ -3,13 +3,13 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +26,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_managed_instances.begin_create( @@ -89,6 +89,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateSqlManagedInstance.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdateSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py index 3a67a020ea7a..c4ea1554671c 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_esu_licenses.create( @@ -49,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateSqlServerEsuLicense.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdateSqlServerEsuLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py index ec1d02b30185..0b40698dfdd5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_create( @@ -74,6 +73,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdateSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py index 3ecc7ef029cc..89f17443f942 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_licenses.create( @@ -49,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateOrUpdateSqlServerLicense.json +# x-ms-original-file: 2026-03-01-preview/CreateOrUpdateSqlServerLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py index e8a6feec9cef..a26c7db2eef8 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py @@ -3,13 +3,13 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +26,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.begin_create_availability_group( @@ -89,6 +89,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateSqlServerAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/CreateSqlServerAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py index 67555a607af9..73aa4bca150f 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.begin_create_distributed_availability_group( @@ -57,6 +56,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/CreateSqlServerDistributedAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/CreateSqlServerDistributedAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py index 0839f10c68f4..a4a4817cad46 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.active_directory_connectors.begin_delete( @@ -38,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteActiveDirectoryConnector.json +# x-ms-original-file: 2026-03-01-preview/DeleteActiveDirectoryConnector.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py index 2f3d4e0ba651..6e67fe57cea3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.sql_server_availability_groups.begin_delete( @@ -38,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteArcSqlServerAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/DeleteArcSqlServerAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py index c8f04ef0df75..6176841891e3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.sql_server_databases.begin_delete( @@ -38,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteArcSqlServerDatabase.json +# x-ms-original-file: 2026-03-01-preview/DeleteArcSqlServerDatabase.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py index 1623e3ff8929..52a2b61338f8 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.data_controllers.begin_delete_data_controller( @@ -37,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteDataController.json +# x-ms-original-file: 2026-03-01-preview/DeleteDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py index 0e5976bd948c..0ff8da4dccb6 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.failover_groups.begin_delete( @@ -38,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteFailoverGroup.json +# x-ms-original-file: 2026-03-01-preview/DeleteFailoverGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py index 3b69181499e0..b13a8dc9fae1 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.sql_server_availability_groups.begin_delete_mi_link( @@ -38,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteMiLink.json +# x-ms-original-file: 2026-03-01-preview/DeleteMiLink.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py index 43b29e828466..95e3da46c640 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.postgres_instances.begin_delete( @@ -37,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeletePostgresInstance.json +# x-ms-original-file: 2026-03-01-preview/DeletePostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py index 53232f816405..f3239f9690de 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.sql_managed_instances.begin_delete( @@ -37,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteSqlManagedInstance.json +# x-ms-original-file: 2026-03-01-preview/DeleteSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py index 3180e527f0f3..d2fc83e7d3ac 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.sql_server_esu_licenses.delete( @@ -37,6 +36,6 @@ def main(): ) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteSqlServerEsuLicense.json +# x-ms-original-file: 2026-03-01-preview/DeleteSqlServerEsuLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py index 449663237f94..f42754ef1e83 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.sql_server_instances.begin_delete( @@ -37,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/DeleteSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py index cb7892989f09..3da8f02cd137 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) client.sql_server_licenses.delete( @@ -37,6 +36,6 @@ def main(): ) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/DeleteSqlServerLicense.json +# x-ms-original-file: 2026-03-01-preview/DeleteSqlServerLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py index e7da80fd4b57..3beac9c69cbd 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.failover( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/FailoverArcSqlServerAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/FailoverArcSqlServerAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py index f46c925204af..6528a33cbb25 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py @@ -3,13 +3,13 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +26,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.begin_failover_mi_link( @@ -42,6 +42,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/failoverMiLink.json +# x-ms-original-file: 2026-03-01-preview/failoverMiLink.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py index 938eb34ae77b..fd5a28d85d43 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="12345678-1234-1234-1234-123456789012", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.get_all_availability_groups( @@ -39,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/FilteredListBySqlServerInstanceAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/FilteredListBySqlServerInstanceAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py index c6b63054faba..74640089fd31 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.force_failover_allow_data_loss( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ForceFailoverArcSqlServerAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/ForceFailoverArcSqlServerAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py index 6d9be55b3837..699f90d0ed66 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.active_directory_connectors.get( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetActiveDirectoryConnector.json +# x-ms-original-file: 2026-03-01-preview/GetActiveDirectoryConnector.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py index f43dd970bd1f..ca58d8d105f3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.get( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetArcSqlServerAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/GetArcSqlServerAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py index c15bb4f57716..272133b7b869 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_databases.get( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetArcSqlServerDatabase.json +# x-ms-original-file: 2026-03-01-preview/GetArcSqlServerDatabase.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py index e43f1aef2e93..7f586a87e2ed 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.data_controllers.get_data_controller( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetDataController.json +# x-ms-original-file: 2026-03-01-preview/GetDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py index c9664802cd8d..b79efc00ee72 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.failover_groups.get( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetFailoverGroup.json +# x-ms-original-file: 2026-03-01-preview/GetFailoverGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py index 1f6db5ebe6a1..3fe8d02af598 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.postgres_instances.get( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetPostgresInstance.json +# x-ms-original-file: 2026-03-01-preview/GetPostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py index 2fd6c599b919..839d67770cb1 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_managed_instances.get( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlManagedInstance.json +# x-ms-original-file: 2026-03-01-preview/GetSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py index 3dc1a757cfaa..50b3bb907b70 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_esu_licenses.get( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerEsuLicense.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerEsuLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py index 213d0c80f074..6a638bbd9d9d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.get( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py index 4533ed98866c..07b4e95da8a1 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_get_best_practices_assessment( @@ -44,6 +43,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceBpa.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerInstanceBpa.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py index 6bedd6932fa4..cf795ed4ce1f 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_get_jobs( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceJobs.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerInstanceJobs.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py index ce21568a0058..f19e92e58262 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.get_jobs_status( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceJobsStatus.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerInstanceJobsStatus.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py index 4561b23418fe..1ab51602bba2 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_get_migration_readiness_report( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceMigrationReadinessReport.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerInstanceMigrationReadinessReport.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py index eb7ea5c1c39b..fb3c10ec85b5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_get_target_recommendation_reports( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceTargetRecommendationReports.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerInstanceTargetRecommendationReports.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py index 4ebc430254cc..5dc8b7340cd5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_get_target_recommendation_reports( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceTargetRecommendationReportsLastPage.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerInstanceTargetRecommendationReportsLastPage.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py index defb61913530..e3e6b8815835 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_get_target_recommendation_reports( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceTargetRecommendationReportsWithFilters.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerInstanceTargetRecommendationReportsWithFilters.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py index 272a2bdf3323..7da78fe483c6 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_get_telemetry( @@ -43,6 +42,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerInstanceTelemetry.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerInstanceTelemetry.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py index d67db6fe43ed..0e3d3ce56bed 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_licenses.get( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/GetSqlServerLicense.json +# x-ms-original-file: 2026-03-01-preview/GetSqlServerLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py index b4ba025aa660..ddbe90723a54 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.active_directory_connectors.list( @@ -39,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByDataControllerActiveDirectoryConnector.json +# x-ms-original-file: 2026-03-01-preview/ListByDataControllerActiveDirectoryConnector.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py index 4b20a082a470..a5c72a7260cd 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.data_controllers.list_in_group( @@ -38,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupDataController.json +# x-ms-original-file: 2026-03-01-preview/ListByResourceGroupDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py index e87659f4dcfe..0bfbf6a23479 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.postgres_instances.list_by_resource_group( @@ -38,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupPostgresInstance.json +# x-ms-original-file: 2026-03-01-preview/ListByResourceGroupPostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py index 6cd68c75036b..954bde13e228 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_managed_instances.list_by_resource_group( @@ -38,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupSqlManagedInstance.json +# x-ms-original-file: 2026-03-01-preview/ListByResourceGroupSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py index ac8ffc453b9e..7768b202c998 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_esu_licenses.list_by_resource_group( @@ -38,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupSqlServerEsuLicense.json +# x-ms-original-file: 2026-03-01-preview/ListByResourceGroupSqlServerEsuLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py index 13e50cf0256f..77000a89df58 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.list_by_resource_group( @@ -38,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/ListByResourceGroupSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py index 933b97aa69aa..ee63d8398ff3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_licenses.list_by_resource_group( @@ -38,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListByResourceGroupSqlServerLicense.json +# x-ms-original-file: 2026-03-01-preview/ListByResourceGroupSqlServerLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py index 650fa9b212d6..1a9e260a341d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.failover_groups.list( @@ -39,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListBySqlManagedInstanceFailoverGroup.json +# x-ms-original-file: 2026-03-01-preview/ListBySqlManagedInstanceFailoverGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py index 64fcacf4f89e..9156ab4167f7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.list( @@ -39,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListBySqlServerInstanceAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/ListBySqlServerInstanceAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py index 4615f0188c81..bb6512e93ab1 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_databases.list( @@ -39,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListBySqlServerInstanceDatabase.json +# x-ms-original-file: 2026-03-01-preview/ListBySqlServerInstanceDatabase.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py index 35490a4c75c2..e172e330d37a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,7 +25,7 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) @@ -36,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListOperation.json +# x-ms-original-file: 2026-03-01-preview/ListOperation.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py index 2f5952b7adbc..e17cdf459695 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.data_controllers.list_in_subscription() @@ -36,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionDataController.json +# x-ms-original-file: 2026-03-01-preview/ListSubscriptionDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py index 8c7be653feba..3e0d224f7f08 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.postgres_instances.list() @@ -36,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionPostgresInstance.json +# x-ms-original-file: 2026-03-01-preview/ListSubscriptionPostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py index b113b2f1005b..21aa8db1cff0 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_managed_instances.list() @@ -36,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionSqlManagedInstance.json +# x-ms-original-file: 2026-03-01-preview/ListSubscriptionSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py index 730b9df1400f..4f00ac4b15c3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_esu_licenses.list() @@ -36,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionSqlServerEsuLicense.json +# x-ms-original-file: 2026-03-01-preview/ListSubscriptionSqlServerEsuLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py index a3b34fdb8714..ddf5d6560462 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.list() @@ -36,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/ListSubscriptionSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py index 6874e2266a70..838f8536c028 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_licenses.list() @@ -36,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ListSubscriptionSqlServerLicense.json +# x-ms-original-file: 2026-03-01-preview/ListSubscriptionSqlServerLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py index b698ac14b9b8..b5088868480b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.post_upgrade( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/PostUpgradeSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/PostUpgradeSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py index b4201a227ab3..d76af7f349d2 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.pre_upgrade( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/PreUpgradeSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/PreUpgradeSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py index 76d991bb9a58..8bdaf3487b81 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.remove_databases( @@ -40,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RemoveDatabasesFromAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/RemoveDatabasesFromAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py index 3af654072924..8b39b39f1432 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_run_best_practice_assessment( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunBestPracticeAssessmentSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/RunBestPracticeAssessmentSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py index 754a312b24d7..1da45ea211ef 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.run_best_practices_assessment( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunBestPracticesAssessmentSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/RunBestPracticesAssessmentSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py index 63d1fc8bf511..442d5888a261 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py @@ -3,13 +3,13 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +26,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_run_managed_instance_link_assessment( @@ -52,6 +52,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunManagedInstanceLinkAssessment.json +# x-ms-original-file: 2026-03-01-preview/RunManagedInstanceLinkAssessment.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py index 722f8118a769..d685a70b1a4b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.run_migration_assessment( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunMigrationAssessmentSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/RunMigrationAssessmentSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py index 7bd2da8c58ac..a8e0b3333ff3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_run_migration_readiness_assessment( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunMigrationReadinessAssessmentSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/RunMigrationReadinessAssessmentSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py index 810e63a6ccb4..187140366506 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_run_target_recommendation_job( @@ -38,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/RunTargetRecommendationJobSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/RunTargetRecommendationJobSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py index 00347f94d76b..795331ebbb58 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.begin_update( @@ -40,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateArcSqlServerAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/UpdateArcSqlServerAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py index c05da1a70760..38a08409d543 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.data_controllers.begin_patch_data_controller( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateDataController.json +# x-ms-original-file: 2026-03-01-preview/UpdateDataController.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py index 9fe9574dc230..d9c32fdc1b0d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.postgres_instances.update( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdatePostgresInstance.json +# x-ms-original-file: 2026-03-01-preview/UpdatePostgresInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py index ba07c9a074b8..1c738614deab 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_managed_instances.update( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateSqlManagedInstance.json +# x-ms-original-file: 2026-03-01-preview/UpdateSqlManagedInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py index f410d6d5806a..a2bc01d7d20c 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_databases.begin_update( @@ -40,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateSqlServerDatabase.json +# x-ms-original-file: 2026-03-01-preview/UpdateSqlServerDatabase.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py index ccc3d4c5daa2..6d523ec78b89 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_esu_licenses.update( @@ -42,6 +41,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateSqlServerEsuLicense.json +# x-ms-original-file: 2026-03-01-preview/UpdateSqlServerEsuLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py index 451b5f6cb8c7..2720a0f5c9c7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_instances.begin_update( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateSqlServerInstance.json +# x-ms-original-file: 2026-03-01-preview/UpdateSqlServerInstance.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py index 5a68a27be666..d5fa8b89e039 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_licenses.update( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/UpdateSqlServerLicense.json +# x-ms-original-file: 2026-03-01-preview/UpdateSqlServerLicense.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py index abfcad5ccf92..4fbe9988aead 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py @@ -1,15 +1,14 @@ -# pylint: disable=line-too-long,useless-suppression # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient """ # PREREQUISITES @@ -26,9 +25,9 @@ def main(): - client = AzureArcDataManagementClient( + client = AzureArcDataClient( credential=DefaultAzureCredential(), - subscription_id="00000000-1111-2222-3333-444444444444", + subscription_id="SUBSCRIPTION_ID", ) response = client.sql_server_availability_groups.detail_view( @@ -39,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2026-03-01-preview/examples/ViewArcSqlServerAvailabilityGroup.json +# x-ms-original-file: 2026-03-01-preview/ViewArcSqlServerAvailabilityGroup.json if __name__ == "__main__": main() diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py index 870836644fdb..1b7f2ed547a3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py @@ -2,7 +2,7 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import os @@ -21,20 +21,14 @@ # For security, please avoid record sensitive identity information in recordings @pytest.fixture(scope="session", autouse=True) def add_sanitizers(test_proxy): - azurearcdatamanagement_subscription_id = os.environ.get( - "AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000" - ) - azurearcdatamanagement_tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000") - azurearcdatamanagement_client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000") - azurearcdatamanagement_client_secret = os.environ.get("AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000") - add_general_regex_sanitizer( - regex=azurearcdatamanagement_subscription_id, value="00000000-0000-0000-0000-000000000000" - ) - add_general_regex_sanitizer(regex=azurearcdatamanagement_tenant_id, value="00000000-0000-0000-0000-000000000000") - add_general_regex_sanitizer(regex=azurearcdatamanagement_client_id, value="00000000-0000-0000-0000-000000000000") - add_general_regex_sanitizer( - regex=azurearcdatamanagement_client_secret, value="00000000-0000-0000-0000-000000000000" - ) + azurearcdata_subscription_id = os.environ.get("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000") + azurearcdata_tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000") + azurearcdata_client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000") + azurearcdata_client_secret = os.environ.get("AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000") + add_general_regex_sanitizer(regex=azurearcdata_subscription_id, value="00000000-0000-0000-0000-000000000000") + add_general_regex_sanitizer(regex=azurearcdata_tenant_id, value="00000000-0000-0000-0000-000000000000") + add_general_regex_sanitizer(regex=azurearcdata_client_id, value="00000000-0000-0000-0000-000000000000") + add_general_regex_sanitizer(regex=azurearcdata_client_secret, value="00000000-0000-0000-0000-000000000000") add_header_regex_sanitizer(key="Set-Cookie", value="[set-cookie;]") add_header_regex_sanitizer(key="Cookie", value="cookie;") diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations.py similarity index 86% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations.py index 9b81fd488f90..b19e57f1ac80 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,19 +14,19 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementActiveDirectoryConnectorsOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataActiveDirectoryConnectorsOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) + self.client = self.create_mgmt_client(AzureArcDataClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_active_directory_connectors_list(self, resource_group): - response = self.client.active_directory_connectors.list( + def test_active_directory_connectors_get(self, resource_group): + response = self.client.active_directory_connectors.get( resource_group_name=resource_group.name, data_controller_name="str", - api_version="2026-03-01-preview", + active_directory_connector_name="str", ) - result = [r for r in response] + # please add some check logic here by yourself # ... @@ -48,13 +48,13 @@ def test_active_directory_connectors_begin_create(self, resource_group): }, "netbiosDomainName": "str", "ouDistinguishedName": "str", - "serviceAccountProvisioning": "manual", + "serviceAccountProvisioning": "str", }, "dns": { "nameserverIPAddresses": ["str"], "domainName": "str", - "preferK8sDnsForPtrLookups": True, - "replicas": 1, + "preferK8sDnsForPtrLookups": bool, + "replicas": 0, }, }, "domainServiceAccountLoginInformation": {"password": "str", "username": "str"}, @@ -73,7 +73,6 @@ def test_active_directory_connectors_begin_create(self, resource_group): }, "type": "str", }, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -86,7 +85,6 @@ def test_active_directory_connectors_begin_delete(self, resource_group): resource_group_name=resource_group.name, data_controller_name="str", active_directory_connector_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -94,13 +92,11 @@ def test_active_directory_connectors_begin_delete(self, resource_group): @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_active_directory_connectors_get(self, resource_group): - response = self.client.active_directory_connectors.get( + def test_active_directory_connectors_list(self, resource_group): + response = self.client.active_directory_connectors.list( resource_group_name=resource_group.name, data_controller_name="str", - active_directory_connector_name="str", - api_version="2026-03-01-preview", ) - + result = [r for r in response] # please add some check logic here by yourself # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations_async.py similarity index 86% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations_async.py index b91503301a5f..05edf5823334 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,19 +15,19 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementActiveDirectoryConnectorsOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataActiveDirectoryConnectorsOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_active_directory_connectors_list(self, resource_group): - response = self.client.active_directory_connectors.list( + async def test_active_directory_connectors_get(self, resource_group): + response = await self.client.active_directory_connectors.get( resource_group_name=resource_group.name, data_controller_name="str", - api_version="2026-03-01-preview", + active_directory_connector_name="str", ) - result = [r async for r in response] + # please add some check logic here by yourself # ... @@ -50,13 +50,13 @@ async def test_active_directory_connectors_begin_create(self, resource_group): }, "netbiosDomainName": "str", "ouDistinguishedName": "str", - "serviceAccountProvisioning": "manual", + "serviceAccountProvisioning": "str", }, "dns": { "nameserverIPAddresses": ["str"], "domainName": "str", - "preferK8sDnsForPtrLookups": True, - "replicas": 1, + "preferK8sDnsForPtrLookups": bool, + "replicas": 0, }, }, "domainServiceAccountLoginInformation": {"password": "str", "username": "str"}, @@ -75,7 +75,6 @@ async def test_active_directory_connectors_begin_create(self, resource_group): }, "type": "str", }, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -90,7 +89,6 @@ async def test_active_directory_connectors_begin_delete(self, resource_group): resource_group_name=resource_group.name, data_controller_name="str", active_directory_connector_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -99,13 +97,11 @@ async def test_active_directory_connectors_begin_delete(self, resource_group): @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_active_directory_connectors_get(self, resource_group): - response = await self.client.active_directory_connectors.get( + async def test_active_directory_connectors_list(self, resource_group): + response = self.client.active_directory_connectors.list( resource_group_name=resource_group.name, data_controller_name="str", - active_directory_connector_name="str", - api_version="2026-03-01-preview", ) - + result = [r async for r in response] # please add some check logic here by yourself # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations.py similarity index 90% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations.py index 786f60d31909..f7e1e427cf6a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,28 +14,18 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementDataControllersOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataDataControllersOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) + self.client = self.create_mgmt_client(AzureArcDataClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_data_controllers_list_in_subscription(self, resource_group): - response = self.client.data_controllers.list_in_subscription( - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_data_controllers_list_in_group(self, resource_group): - response = self.client.data_controllers.list_in_group( + def test_data_controllers_get_data_controller(self, resource_group): + response = self.client.data_controllers.get_data_controller( resource_group_name=resource_group.name, - api_version="2026-03-01-preview", + data_controller_name="str", ) - result = [r for r in response] + # please add some check logic here by yourself # ... @@ -51,7 +41,7 @@ def test_data_controllers_begin_put_data_controller(self, resource_group): "basicLoginInformation": {"password": "str", "username": "str"}, "clusterId": "str", "extensionId": "str", - "infrastructure": "other", + "infrastructure": "str", "k8sRaw": {}, "lastUploadedDate": "2020-02-20 00:00:00", "logAnalyticsWorkspaceConfig": {"primaryKey": "str", "workspaceId": "str"}, @@ -89,36 +79,11 @@ def test_data_controllers_begin_put_data_controller(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_data_controllers_begin_delete_data_controller(self, resource_group): - response = self.client.data_controllers.begin_delete_data_controller( - resource_group_name=resource_group.name, - data_controller_name="str", - api_version="2026-03-01-preview", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_data_controllers_get_data_controller(self, resource_group): - response = self.client.data_controllers.get_data_controller( - resource_group_name=resource_group.name, - data_controller_name="str", - api_version="2026-03-01-preview", - ) - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_data_controllers_begin_patch_data_controller(self, resource_group): @@ -130,7 +95,7 @@ def test_data_controllers_begin_patch_data_controller(self, resource_group): "basicLoginInformation": {"password": "str", "username": "str"}, "clusterId": "str", "extensionId": "str", - "infrastructure": "other", + "infrastructure": "str", "k8sRaw": {}, "lastUploadedDate": "2020-02-20 00:00:00", "logAnalyticsWorkspaceConfig": {"primaryKey": "str", "workspaceId": "str"}, @@ -156,8 +121,36 @@ def test_data_controllers_begin_patch_data_controller(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_data_controllers_begin_delete_data_controller(self, resource_group): + response = self.client.data_controllers.begin_delete_data_controller( + resource_group_name=resource_group.name, + data_controller_name="str", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_data_controllers_list_in_group(self, resource_group): + response = self.client.data_controllers.list_in_group( + resource_group_name=resource_group.name, + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_data_controllers_list_in_subscription(self, resource_group): + response = self.client.data_controllers.list_in_subscription() + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations_async.py similarity index 90% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations_async.py index 5481490e22b5..b7594703932e 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,28 +15,18 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementDataControllersOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataDataControllersOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_data_controllers_list_in_subscription(self, resource_group): - response = self.client.data_controllers.list_in_subscription( - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_data_controllers_list_in_group(self, resource_group): - response = self.client.data_controllers.list_in_group( + async def test_data_controllers_get_data_controller(self, resource_group): + response = await self.client.data_controllers.get_data_controller( resource_group_name=resource_group.name, - api_version="2026-03-01-preview", + data_controller_name="str", ) - result = [r async for r in response] + # please add some check logic here by yourself # ... @@ -53,7 +43,7 @@ async def test_data_controllers_begin_put_data_controller(self, resource_group): "basicLoginInformation": {"password": "str", "username": "str"}, "clusterId": "str", "extensionId": "str", - "infrastructure": "other", + "infrastructure": "str", "k8sRaw": {}, "lastUploadedDate": "2020-02-20 00:00:00", "logAnalyticsWorkspaceConfig": {"primaryKey": "str", "workspaceId": "str"}, @@ -91,39 +81,12 @@ async def test_data_controllers_begin_put_data_controller(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_data_controllers_begin_delete_data_controller(self, resource_group): - response = await ( - await self.client.data_controllers.begin_delete_data_controller( - resource_group_name=resource_group.name, - data_controller_name="str", - api_version="2026-03-01-preview", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_data_controllers_get_data_controller(self, resource_group): - response = await self.client.data_controllers.get_data_controller( - resource_group_name=resource_group.name, - data_controller_name="str", - api_version="2026-03-01-preview", - ) - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_data_controllers_begin_patch_data_controller(self, resource_group): @@ -136,7 +99,7 @@ async def test_data_controllers_begin_patch_data_controller(self, resource_group "basicLoginInformation": {"password": "str", "username": "str"}, "clusterId": "str", "extensionId": "str", - "infrastructure": "other", + "infrastructure": "str", "k8sRaw": {}, "lastUploadedDate": "2020-02-20 00:00:00", "logAnalyticsWorkspaceConfig": {"primaryKey": "str", "workspaceId": "str"}, @@ -162,9 +125,39 @@ async def test_data_controllers_begin_patch_data_controller(self, resource_group }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_data_controllers_begin_delete_data_controller(self, resource_group): + response = await ( + await self.client.data_controllers.begin_delete_data_controller( + resource_group_name=resource_group.name, + data_controller_name="str", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_data_controllers_list_in_group(self, resource_group): + response = self.client.data_controllers.list_in_group( + resource_group_name=resource_group.name, + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_data_controllers_list_in_subscription(self, resource_group): + response = self.client.data_controllers.list_in_subscription() + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations.py similarity index 86% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations.py index 70f3c9811842..cd894890c20b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,19 +14,19 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementFailoverGroupsOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataFailoverGroupsOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) + self.client = self.create_mgmt_client(AzureArcDataClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_failover_groups_list(self, resource_group): - response = self.client.failover_groups.list( + def test_failover_groups_get(self, resource_group): + response = self.client.failover_groups.get( resource_group_name=resource_group.name, sql_managed_instance_name="str", - api_version="2026-03-01-preview", + failover_group_name="str", ) - result = [r for r in response] + # please add some check logic here by yourself # ... @@ -41,11 +41,11 @@ def test_failover_groups_begin_create(self, resource_group): "properties": { "partnerManagedInstanceId": "str", "spec": { - "role": "primary", + "role": "str", "partnerMI": "str", "partnerMirroringCert": "str", "partnerMirroringURL": "str", - "partnerSyncMode": "async", + "partnerSyncMode": "str", "sharedName": "str", "sourceMI": "str", }, @@ -64,7 +64,6 @@ def test_failover_groups_begin_create(self, resource_group): }, "type": "str", }, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -77,7 +76,6 @@ def test_failover_groups_begin_delete(self, resource_group): resource_group_name=resource_group.name, sql_managed_instance_name="str", failover_group_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -85,13 +83,11 @@ def test_failover_groups_begin_delete(self, resource_group): @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_failover_groups_get(self, resource_group): - response = self.client.failover_groups.get( + def test_failover_groups_list(self, resource_group): + response = self.client.failover_groups.list( resource_group_name=resource_group.name, sql_managed_instance_name="str", - failover_group_name="str", - api_version="2026-03-01-preview", ) - + result = [r for r in response] # please add some check logic here by yourself # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations_async.py similarity index 86% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations_async.py index 8676684da18c..d4c7d0331c80 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,19 +15,19 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementFailoverGroupsOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataFailoverGroupsOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_failover_groups_list(self, resource_group): - response = self.client.failover_groups.list( + async def test_failover_groups_get(self, resource_group): + response = await self.client.failover_groups.get( resource_group_name=resource_group.name, sql_managed_instance_name="str", - api_version="2026-03-01-preview", + failover_group_name="str", ) - result = [r async for r in response] + # please add some check logic here by yourself # ... @@ -43,11 +43,11 @@ async def test_failover_groups_begin_create(self, resource_group): "properties": { "partnerManagedInstanceId": "str", "spec": { - "role": "primary", + "role": "str", "partnerMI": "str", "partnerMirroringCert": "str", "partnerMirroringURL": "str", - "partnerSyncMode": "async", + "partnerSyncMode": "str", "sharedName": "str", "sourceMI": "str", }, @@ -66,7 +66,6 @@ async def test_failover_groups_begin_create(self, resource_group): }, "type": "str", }, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -81,7 +80,6 @@ async def test_failover_groups_begin_delete(self, resource_group): resource_group_name=resource_group.name, sql_managed_instance_name="str", failover_group_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -90,13 +88,11 @@ async def test_failover_groups_begin_delete(self, resource_group): @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_failover_groups_get(self, resource_group): - response = await self.client.failover_groups.get( + async def test_failover_groups_list(self, resource_group): + response = self.client.failover_groups.list( resource_group_name=resource_group.name, sql_managed_instance_name="str", - failover_group_name="str", - api_version="2026-03-01-preview", ) - + result = [r async for r in response] # please add some check logic here by yourself # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations.py similarity index 71% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations.py index 9e3e47346ceb..623e56f2c9e2 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,16 +14,14 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) + self.client = self.create_mgmt_client(AzureArcDataClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_operations_list(self, resource_group): - response = self.client.operations.list( - api_version="2026-03-01-preview", - ) + response = self.client.operations.list() result = [r for r in response] # please add some check logic here by yourself # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations_async.py similarity index 71% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations_async.py index db87ac97f58e..169a613993d5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,16 +15,14 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_operations_list(self, resource_group): - response = self.client.operations.list( - api_version="2026-03-01-preview", - ) + response = self.client.operations.list() result = [r async for r in response] # please add some check logic here by yourself # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations.py similarity index 87% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations.py index 69b0cd07c274..839402a318e5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,30 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementPostgresInstancesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataPostgresInstancesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_postgres_instances_list(self, resource_group): - response = self.client.postgres_instances.list( - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_postgres_instances_list_by_resource_group(self, resource_group): - response = self.client.postgres_instances.list_by_resource_group( - resource_group_name=resource_group.name, - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... + self.client = self.create_mgmt_client(AzureArcDataClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy @@ -45,7 +24,6 @@ def test_postgres_instances_get(self, resource_group): response = self.client.postgres_instances.get( resource_group_name=resource_group.name, postgres_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -73,7 +51,7 @@ def test_postgres_instances_begin_create(self, resource_group): "sku": { "name": "str", "capacity": 0, - "dev": True, + "dev": bool, "family": "str", "size": "str", "tier": "Hyperscale", @@ -89,19 +67,6 @@ def test_postgres_instances_begin_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_postgres_instances_begin_delete(self, resource_group): - response = self.client.postgres_instances.begin_delete( - resource_group_name=resource_group.name, - postgres_instance_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -124,8 +89,36 @@ def test_postgres_instances_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ) # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_postgres_instances_begin_delete(self, resource_group): + response = self.client.postgres_instances.begin_delete( + resource_group_name=resource_group.name, + postgres_instance_name="str", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_postgres_instances_list_by_resource_group(self, resource_group): + response = self.client.postgres_instances.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_postgres_instances_list(self, resource_group): + response = self.client.postgres_instances.list() + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations_async.py similarity index 87% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations_async.py index 020739634b4d..88214453595c 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,30 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementPostgresInstancesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataPostgresInstancesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_postgres_instances_list(self, resource_group): - response = self.client.postgres_instances.list( - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_postgres_instances_list_by_resource_group(self, resource_group): - response = self.client.postgres_instances.list_by_resource_group( - resource_group_name=resource_group.name, - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async @@ -46,7 +25,6 @@ async def test_postgres_instances_get(self, resource_group): response = await self.client.postgres_instances.get( resource_group_name=resource_group.name, postgres_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -75,7 +53,7 @@ async def test_postgres_instances_begin_create(self, resource_group): "sku": { "name": "str", "capacity": 0, - "dev": True, + "dev": bool, "family": "str", "size": "str", "tier": "Hyperscale", @@ -91,21 +69,6 @@ async def test_postgres_instances_begin_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_postgres_instances_begin_delete(self, resource_group): - response = await ( - await self.client.postgres_instances.begin_delete( - resource_group_name=resource_group.name, - postgres_instance_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -129,8 +92,38 @@ async def test_postgres_instances_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ) # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_postgres_instances_begin_delete(self, resource_group): + response = await ( + await self.client.postgres_instances.begin_delete( + resource_group_name=resource_group.name, + postgres_instance_name="str", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_postgres_instances_list_by_resource_group(self, resource_group): + response = self.client.postgres_instances.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_postgres_instances_list(self, resource_group): + response = self.client.postgres_instances.list() + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations.py similarity index 85% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations.py index e8797f8e53fa..34e863fd87d6 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,30 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlManagedInstancesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlManagedInstancesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_managed_instances_list(self, resource_group): - response = self.client.sql_managed_instances.list( - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_managed_instances_list_by_resource_group(self, resource_group): - response = self.client.sql_managed_instances.list_by_resource_group( - resource_group_name=resource_group.name, - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... + self.client = self.create_mgmt_client(AzureArcDataClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy @@ -45,7 +24,6 @@ def test_sql_managed_instances_get(self, resource_group): response = self.client.sql_managed_instances.get( resource_group_name=resource_group.name, sql_managed_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -88,21 +66,14 @@ def test_sql_managed_instances_begin_create(self, resource_group): } }, "lastUploadedDate": "2020-02-20 00:00:00", - "licenseType": "BasePrice", + "licenseType": "str", "provisioningState": "str", "startTime": "str", }, "extendedLocation": {"name": "str", "type": "str"}, "id": "str", "name": "str", - "sku": { - "name": "vCore", - "capacity": 0, - "dev": True, - "family": "str", - "size": "str", - "tier": "GeneralPurpose", - }, + "sku": {"name": "vCore", "capacity": 0, "dev": bool, "family": "str", "size": "str", "tier": "str"}, "systemData": { "createdAt": "2020-02-20 00:00:00", "createdBy": "str", @@ -114,19 +85,29 @@ def test_sql_managed_instances_begin_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_managed_instances_update(self, resource_group): + response = self.client.sql_managed_instances.update( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + parameters={"tags": {"str": "str"}}, + ) + + # please add some check logic here by yourself + # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_sql_managed_instances_begin_delete(self, resource_group): response = self.client.sql_managed_instances.begin_delete( resource_group_name=resource_group.name, sql_managed_instance_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -134,13 +115,18 @@ def test_sql_managed_instances_begin_delete(self, resource_group): @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_sql_managed_instances_update(self, resource_group): - response = self.client.sql_managed_instances.update( + def test_sql_managed_instances_list_by_resource_group(self, resource_group): + response = self.client.sql_managed_instances.list_by_resource_group( resource_group_name=resource_group.name, - sql_managed_instance_name="str", - parameters={"tags": {"str": "str"}}, - api_version="2026-03-01-preview", ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_managed_instances_list(self, resource_group): + response = self.client.sql_managed_instances.list() + result = [r for r in response] # please add some check logic here by yourself # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations_async.py similarity index 85% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations_async.py index e79626e72866..3a9016b64829 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,30 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlManagedInstancesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlManagedInstancesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_managed_instances_list(self, resource_group): - response = self.client.sql_managed_instances.list( - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_managed_instances_list_by_resource_group(self, resource_group): - response = self.client.sql_managed_instances.list_by_resource_group( - resource_group_name=resource_group.name, - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async @@ -46,7 +25,6 @@ async def test_sql_managed_instances_get(self, resource_group): response = await self.client.sql_managed_instances.get( resource_group_name=resource_group.name, sql_managed_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -92,21 +70,14 @@ async def test_sql_managed_instances_begin_create(self, resource_group): } }, "lastUploadedDate": "2020-02-20 00:00:00", - "licenseType": "BasePrice", + "licenseType": "str", "provisioningState": "str", "startTime": "str", }, "extendedLocation": {"name": "str", "type": "str"}, "id": "str", "name": "str", - "sku": { - "name": "vCore", - "capacity": 0, - "dev": True, - "family": "str", - "size": "str", - "tier": "GeneralPurpose", - }, + "sku": {"name": "vCore", "capacity": 0, "dev": bool, "family": "str", "size": "str", "tier": "str"}, "systemData": { "createdAt": "2020-02-20 00:00:00", "createdBy": "str", @@ -118,13 +89,24 @@ async def test_sql_managed_instances_begin_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_managed_instances_update(self, resource_group): + response = await self.client.sql_managed_instances.update( + resource_group_name=resource_group.name, + sql_managed_instance_name="str", + parameters={"tags": {"str": "str"}}, + ) + + # please add some check logic here by yourself + # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_sql_managed_instances_begin_delete(self, resource_group): @@ -132,7 +114,6 @@ async def test_sql_managed_instances_begin_delete(self, resource_group): await self.client.sql_managed_instances.begin_delete( resource_group_name=resource_group.name, sql_managed_instance_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -141,13 +122,18 @@ async def test_sql_managed_instances_begin_delete(self, resource_group): @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_sql_managed_instances_update(self, resource_group): - response = await self.client.sql_managed_instances.update( + async def test_sql_managed_instances_list_by_resource_group(self, resource_group): + response = self.client.sql_managed_instances.list_by_resource_group( resource_group_name=resource_group.name, - sql_managed_instance_name="str", - parameters={"tags": {"str": "str"}}, - api_version="2026-03-01-preview", ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_managed_instances_list(self, resource_group): + response = self.client.sql_managed_instances.list() + result = [r async for r in response] # please add some check logic here by yourself # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations.py similarity index 96% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations.py index c21d475e52cc..659865b6ba1d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,167 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlServerAvailabilityGroupsOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlServerAvailabilityGroupsOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) + self.client = self.create_mgmt_client(AzureArcDataClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_begin_create_availability_group(self, resource_group): + response = self.client.sql_server_availability_groups.begin_create_availability_group( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_ag_configuration={ + "automatedBackupPreference": "str", + "availabilityGroupName": "str", + "clusterType": "str", + "databases": ["str"], + "dbFailover": "str", + "dtcSupport": "str", + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "replicas": [ + { + "availabilityMode": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "primaryRoleAllowConnections": "str", + "primaryRoleReadOnlyRoutingList": ["str"], + "secondaryRoleAllowConnections": "str", + "secondaryRoleReadOnlyRoutingUrl": "str", + "seedingMode": "str", + "serverInstance": "str", + "sessionTimeout": 0, + } + ], + "requiredSynchronizedSecondariesToCommit": 0, + }, + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_begin_create_distributed_availability_group(self, resource_group): + response = self.client.sql_server_availability_groups.begin_create_distributed_availability_group( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_dag_configuration={ + "availabilityGroupName": "str", + "primaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + }, + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_begin_create_managed_instance_link(self, resource_group): + response = self.client.sql_server_availability_groups.begin_create_managed_instance_link( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_managed_instance_link_configuration={ + "availabilityGroup": { + "automatedBackupPreference": "str", + "availabilityGroupName": "str", + "clusterType": "str", + "databases": ["str"], + "dbFailover": "str", + "dtcSupport": "str", + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "replicas": [ + { + "availabilityMode": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "primaryRoleAllowConnections": "str", + "primaryRoleReadOnlyRoutingList": ["str"], + "secondaryRoleAllowConnections": "str", + "secondaryRoleReadOnlyRoutingUrl": "str", + "seedingMode": "str", + "serverInstance": "str", + "sessionTimeout": 0, + } + ], + "requiredSynchronizedSecondariesToCommit": 0, + }, + "distributedAvailabilityGroup": { + "availabilityGroupName": "str", + "primaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + }, + "miLinkConfiguration": {"instanceAvailabilityGroupName": "str"}, + }, + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_availability_groups_get(self, resource_group): + response = self.client.sql_server_availability_groups.get( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + ) + + # please add some check logic here by yourself + # ... @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy @@ -131,33 +289,6 @@ def test_sql_server_availability_groups_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_availability_groups_begin_delete(self, resource_group): - response = self.client.sql_server_availability_groups.begin_delete( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - availability_group_name="str", - api_version="2026-03-01-preview", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_availability_groups_get(self, resource_group): - response = self.client.sql_server_availability_groups.get( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - availability_group_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -264,7 +395,6 @@ def test_sql_server_availability_groups_begin_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -272,38 +402,34 @@ def test_sql_server_availability_groups_begin_update(self, resource_group): @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_sql_server_availability_groups_detail_view(self, resource_group): - response = self.client.sql_server_availability_groups.detail_view( + def test_sql_server_availability_groups_begin_delete(self, resource_group): + response = self.client.sql_server_availability_groups.begin_delete( resource_group_name=resource_group.name, sql_server_instance_name="str", availability_group_name="str", - api_version="2026-03-01-preview", - ) + ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself # ... @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_sql_server_availability_groups_failover(self, resource_group): - response = self.client.sql_server_availability_groups.failover( + def test_sql_server_availability_groups_list(self, resource_group): + response = self.client.sql_server_availability_groups.list( resource_group_name=resource_group.name, sql_server_instance_name="str", - availability_group_name="str", - api_version="2026-03-01-preview", ) - + result = [r for r in response] # please add some check logic here by yourself # ... @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_sql_server_availability_groups_force_failover_allow_data_loss(self, resource_group): - response = self.client.sql_server_availability_groups.force_failover_allow_data_loss( + def test_sql_server_availability_groups_detail_view(self, resource_group): + response = self.client.sql_server_availability_groups.detail_view( resource_group_name=resource_group.name, sql_server_instance_name="str", availability_group_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -311,149 +437,24 @@ def test_sql_server_availability_groups_force_failover_allow_data_loss(self, res @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_sql_server_availability_groups_begin_create_availability_group(self, resource_group): - response = self.client.sql_server_availability_groups.begin_create_availability_group( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - create_ag_configuration={ - "automatedBackupPreference": "str", - "availabilityGroupName": "str", - "clusterType": "str", - "databases": ["str"], - "dbFailover": "str", - "dtcSupport": "str", - "failureConditionLevel": 0, - "healthCheckTimeout": 0, - "listener": { - "dnsName": "str", - "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], - "ipV6Addresses": ["str"], - "port": 0, - }, - "replicas": [ - { - "availabilityMode": "str", - "backupPriority": 0, - "certificateName": "str", - "endpointAuthenticationMode": "str", - "endpointConnectLogin": "str", - "endpointName": "str", - "endpointUrl": "str", - "failoverMode": "str", - "primaryRoleAllowConnections": "str", - "primaryRoleReadOnlyRoutingList": ["str"], - "secondaryRoleAllowConnections": "str", - "secondaryRoleReadOnlyRoutingUrl": "str", - "seedingMode": "str", - "serverInstance": "str", - "sessionTimeout": 0, - } - ], - "requiredSynchronizedSecondariesToCommit": 0, - }, - api_version="2026-03-01-preview", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_availability_groups_begin_create_distributed_availability_group(self, resource_group): - response = self.client.sql_server_availability_groups.begin_create_distributed_availability_group( + def test_sql_server_availability_groups_failover(self, resource_group): + response = self.client.sql_server_availability_groups.failover( resource_group_name=resource_group.name, sql_server_instance_name="str", - create_dag_configuration={ - "availabilityGroupName": "str", - "primaryAvailabilityGroup": { - "availabilityGroup": "str", - "availabilityMode": "str", - "certificateConfiguration": {"certificateName": "str"}, - "failoverMode": "str", - "listenerUrl": "str", - "seedingMode": "str", - }, - "secondaryAvailabilityGroup": { - "availabilityGroup": "str", - "availabilityMode": "str", - "certificateConfiguration": {"certificateName": "str"}, - "failoverMode": "str", - "listenerUrl": "str", - "seedingMode": "str", - }, - }, - api_version="2026-03-01-preview", - ).result() # call '.result()' to poll until service return final result + availability_group_name="str", + ) # please add some check logic here by yourself # ... @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy - def test_sql_server_availability_groups_begin_create_managed_instance_link(self, resource_group): - response = self.client.sql_server_availability_groups.begin_create_managed_instance_link( + def test_sql_server_availability_groups_force_failover_allow_data_loss(self, resource_group): + response = self.client.sql_server_availability_groups.force_failover_allow_data_loss( resource_group_name=resource_group.name, sql_server_instance_name="str", - create_managed_instance_link_configuration={ - "availabilityGroup": { - "automatedBackupPreference": "str", - "availabilityGroupName": "str", - "clusterType": "str", - "databases": ["str"], - "dbFailover": "str", - "dtcSupport": "str", - "failureConditionLevel": 0, - "healthCheckTimeout": 0, - "listener": { - "dnsName": "str", - "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], - "ipV6Addresses": ["str"], - "port": 0, - }, - "replicas": [ - { - "availabilityMode": "str", - "backupPriority": 0, - "certificateName": "str", - "endpointAuthenticationMode": "str", - "endpointConnectLogin": "str", - "endpointName": "str", - "endpointUrl": "str", - "failoverMode": "str", - "primaryRoleAllowConnections": "str", - "primaryRoleReadOnlyRoutingList": ["str"], - "secondaryRoleAllowConnections": "str", - "secondaryRoleReadOnlyRoutingUrl": "str", - "seedingMode": "str", - "serverInstance": "str", - "sessionTimeout": 0, - } - ], - "requiredSynchronizedSecondariesToCommit": 0, - }, - "distributedAvailabilityGroup": { - "availabilityGroupName": "str", - "primaryAvailabilityGroup": { - "availabilityGroup": "str", - "availabilityMode": "str", - "certificateConfiguration": {"certificateName": "str"}, - "failoverMode": "str", - "listenerUrl": "str", - "seedingMode": "str", - }, - "secondaryAvailabilityGroup": { - "availabilityGroup": "str", - "availabilityMode": "str", - "certificateConfiguration": {"certificateName": "str"}, - "failoverMode": "str", - "listenerUrl": "str", - "seedingMode": "str", - }, - }, - "miLinkConfiguration": {"instanceAvailabilityGroupName": "str"}, - }, - api_version="2026-03-01-preview", - ).result() # call '.result()' to poll until service return final result + availability_group_name="str", + ) # please add some check logic here by yourself # ... @@ -466,7 +467,6 @@ def test_sql_server_availability_groups_add_databases(self, resource_group): sql_server_instance_name="str", availability_group_name="str", databases={"values": ["str"]}, - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -480,7 +480,6 @@ def test_sql_server_availability_groups_begin_failover_mi_link(self, resource_gr sql_server_instance_name="str", availability_group_name="str", managed_instance_resource_id={"force": bool, "managedInstanceId": "str"}, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -493,7 +492,6 @@ def test_sql_server_availability_groups_begin_delete_mi_link(self, resource_grou resource_group_name=resource_group.name, sql_server_instance_name="str", availability_group_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -507,20 +505,7 @@ def test_sql_server_availability_groups_remove_databases(self, resource_group): sql_server_instance_name="str", availability_group_name="str", databases={"values": ["str"]}, - api_version="2026-03-01-preview", ) # please add some check logic here by yourself # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_availability_groups_list(self, resource_group): - response = self.client.sql_server_availability_groups.list( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations_async.py similarity index 96% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations_async.py index 9bcbb780b6a2..c5c0f5a6d060 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,173 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlServerAvailabilityGroupsOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlServerAvailabilityGroupsOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_begin_create_availability_group(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_create_availability_group( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_ag_configuration={ + "automatedBackupPreference": "str", + "availabilityGroupName": "str", + "clusterType": "str", + "databases": ["str"], + "dbFailover": "str", + "dtcSupport": "str", + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "replicas": [ + { + "availabilityMode": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "primaryRoleAllowConnections": "str", + "primaryRoleReadOnlyRoutingList": ["str"], + "secondaryRoleAllowConnections": "str", + "secondaryRoleReadOnlyRoutingUrl": "str", + "seedingMode": "str", + "serverInstance": "str", + "sessionTimeout": 0, + } + ], + "requiredSynchronizedSecondariesToCommit": 0, + }, + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_begin_create_distributed_availability_group(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_create_distributed_availability_group( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_dag_configuration={ + "availabilityGroupName": "str", + "primaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + }, + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_begin_create_managed_instance_link(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_create_managed_instance_link( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + create_managed_instance_link_configuration={ + "availabilityGroup": { + "automatedBackupPreference": "str", + "availabilityGroupName": "str", + "clusterType": "str", + "databases": ["str"], + "dbFailover": "str", + "dtcSupport": "str", + "failureConditionLevel": 0, + "healthCheckTimeout": 0, + "listener": { + "dnsName": "str", + "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], + "ipV6Addresses": ["str"], + "port": 0, + }, + "replicas": [ + { + "availabilityMode": "str", + "backupPriority": 0, + "certificateName": "str", + "endpointAuthenticationMode": "str", + "endpointConnectLogin": "str", + "endpointName": "str", + "endpointUrl": "str", + "failoverMode": "str", + "primaryRoleAllowConnections": "str", + "primaryRoleReadOnlyRoutingList": ["str"], + "secondaryRoleAllowConnections": "str", + "secondaryRoleReadOnlyRoutingUrl": "str", + "seedingMode": "str", + "serverInstance": "str", + "sessionTimeout": 0, + } + ], + "requiredSynchronizedSecondariesToCommit": 0, + }, + "distributedAvailabilityGroup": { + "availabilityGroupName": "str", + "primaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "str", + "availabilityMode": "str", + "certificateConfiguration": {"certificateName": "str"}, + "failoverMode": "str", + "listenerUrl": "str", + "seedingMode": "str", + }, + }, + "miLinkConfiguration": {"instanceAvailabilityGroupName": "str"}, + }, + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_availability_groups_get(self, resource_group): + response = await self.client.sql_server_availability_groups.get( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + ) + + # please add some check logic here by yourself + # ... @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async @@ -132,35 +296,6 @@ async def test_sql_server_availability_groups_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_availability_groups_begin_delete(self, resource_group): - response = await ( - await self.client.sql_server_availability_groups.begin_delete( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - availability_group_name="str", - api_version="2026-03-01-preview", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_availability_groups_get(self, resource_group): - response = await self.client.sql_server_availability_groups.get( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - availability_group_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -268,7 +403,6 @@ async def test_sql_server_availability_groups_begin_update(self, resource_group) }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -277,38 +411,36 @@ async def test_sql_server_availability_groups_begin_update(self, resource_group) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_sql_server_availability_groups_detail_view(self, resource_group): - response = await self.client.sql_server_availability_groups.detail_view( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - availability_group_name="str", - api_version="2026-03-01-preview", - ) + async def test_sql_server_availability_groups_begin_delete(self, resource_group): + response = await ( + await self.client.sql_server_availability_groups.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + ) + ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself # ... @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_sql_server_availability_groups_failover(self, resource_group): - response = await self.client.sql_server_availability_groups.failover( + async def test_sql_server_availability_groups_list(self, resource_group): + response = self.client.sql_server_availability_groups.list( resource_group_name=resource_group.name, sql_server_instance_name="str", - availability_group_name="str", - api_version="2026-03-01-preview", ) - + result = [r async for r in response] # please add some check logic here by yourself # ... @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_sql_server_availability_groups_force_failover_allow_data_loss(self, resource_group): - response = await self.client.sql_server_availability_groups.force_failover_allow_data_loss( + async def test_sql_server_availability_groups_detail_view(self, resource_group): + response = await self.client.sql_server_availability_groups.detail_view( resource_group_name=resource_group.name, sql_server_instance_name="str", availability_group_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -316,155 +448,24 @@ async def test_sql_server_availability_groups_force_failover_allow_data_loss(sel @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_sql_server_availability_groups_begin_create_availability_group(self, resource_group): - response = await ( - await self.client.sql_server_availability_groups.begin_create_availability_group( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - create_ag_configuration={ - "automatedBackupPreference": "str", - "availabilityGroupName": "str", - "clusterType": "str", - "databases": ["str"], - "dbFailover": "str", - "dtcSupport": "str", - "failureConditionLevel": 0, - "healthCheckTimeout": 0, - "listener": { - "dnsName": "str", - "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], - "ipV6Addresses": ["str"], - "port": 0, - }, - "replicas": [ - { - "availabilityMode": "str", - "backupPriority": 0, - "certificateName": "str", - "endpointAuthenticationMode": "str", - "endpointConnectLogin": "str", - "endpointName": "str", - "endpointUrl": "str", - "failoverMode": "str", - "primaryRoleAllowConnections": "str", - "primaryRoleReadOnlyRoutingList": ["str"], - "secondaryRoleAllowConnections": "str", - "secondaryRoleReadOnlyRoutingUrl": "str", - "seedingMode": "str", - "serverInstance": "str", - "sessionTimeout": 0, - } - ], - "requiredSynchronizedSecondariesToCommit": 0, - }, - api_version="2026-03-01-preview", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_availability_groups_begin_create_distributed_availability_group(self, resource_group): - response = await ( - await self.client.sql_server_availability_groups.begin_create_distributed_availability_group( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - create_dag_configuration={ - "availabilityGroupName": "str", - "primaryAvailabilityGroup": { - "availabilityGroup": "str", - "availabilityMode": "str", - "certificateConfiguration": {"certificateName": "str"}, - "failoverMode": "str", - "listenerUrl": "str", - "seedingMode": "str", - }, - "secondaryAvailabilityGroup": { - "availabilityGroup": "str", - "availabilityMode": "str", - "certificateConfiguration": {"certificateName": "str"}, - "failoverMode": "str", - "listenerUrl": "str", - "seedingMode": "str", - }, - }, - api_version="2026-03-01-preview", - ) - ).result() # call '.result()' to poll until service return final result + async def test_sql_server_availability_groups_failover(self, resource_group): + response = await self.client.sql_server_availability_groups.failover( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + ) # please add some check logic here by yourself # ... @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async - async def test_sql_server_availability_groups_begin_create_managed_instance_link(self, resource_group): - response = await ( - await self.client.sql_server_availability_groups.begin_create_managed_instance_link( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - create_managed_instance_link_configuration={ - "availabilityGroup": { - "automatedBackupPreference": "str", - "availabilityGroupName": "str", - "clusterType": "str", - "databases": ["str"], - "dbFailover": "str", - "dtcSupport": "str", - "failureConditionLevel": 0, - "healthCheckTimeout": 0, - "listener": { - "dnsName": "str", - "ipV4AddressesAndMasks": [{"ipAddress": "str", "mask": "str"}], - "ipV6Addresses": ["str"], - "port": 0, - }, - "replicas": [ - { - "availabilityMode": "str", - "backupPriority": 0, - "certificateName": "str", - "endpointAuthenticationMode": "str", - "endpointConnectLogin": "str", - "endpointName": "str", - "endpointUrl": "str", - "failoverMode": "str", - "primaryRoleAllowConnections": "str", - "primaryRoleReadOnlyRoutingList": ["str"], - "secondaryRoleAllowConnections": "str", - "secondaryRoleReadOnlyRoutingUrl": "str", - "seedingMode": "str", - "serverInstance": "str", - "sessionTimeout": 0, - } - ], - "requiredSynchronizedSecondariesToCommit": 0, - }, - "distributedAvailabilityGroup": { - "availabilityGroupName": "str", - "primaryAvailabilityGroup": { - "availabilityGroup": "str", - "availabilityMode": "str", - "certificateConfiguration": {"certificateName": "str"}, - "failoverMode": "str", - "listenerUrl": "str", - "seedingMode": "str", - }, - "secondaryAvailabilityGroup": { - "availabilityGroup": "str", - "availabilityMode": "str", - "certificateConfiguration": {"certificateName": "str"}, - "failoverMode": "str", - "listenerUrl": "str", - "seedingMode": "str", - }, - }, - "miLinkConfiguration": {"instanceAvailabilityGroupName": "str"}, - }, - api_version="2026-03-01-preview", - ) - ).result() # call '.result()' to poll until service return final result + async def test_sql_server_availability_groups_force_failover_allow_data_loss(self, resource_group): + response = await self.client.sql_server_availability_groups.force_failover_allow_data_loss( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + availability_group_name="str", + ) # please add some check logic here by yourself # ... @@ -477,7 +478,6 @@ async def test_sql_server_availability_groups_add_databases(self, resource_group sql_server_instance_name="str", availability_group_name="str", databases={"values": ["str"]}, - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -492,7 +492,6 @@ async def test_sql_server_availability_groups_begin_failover_mi_link(self, resou sql_server_instance_name="str", availability_group_name="str", managed_instance_resource_id={"force": bool, "managedInstanceId": "str"}, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -507,7 +506,6 @@ async def test_sql_server_availability_groups_begin_delete_mi_link(self, resourc resource_group_name=resource_group.name, sql_server_instance_name="str", availability_group_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -522,20 +520,7 @@ async def test_sql_server_availability_groups_remove_databases(self, resource_gr sql_server_instance_name="str", availability_group_name="str", databases={"values": ["str"]}, - api_version="2026-03-01-preview", ) # please add some check logic here by yourself # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_availability_groups_list(self, resource_group): - response = self.client.sql_server_availability_groups.list( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations.py similarity index 97% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations.py index 7d7c09ea591c..60ceb2ddc262 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,21 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlServerDatabasesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlServerDatabasesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) + self.client = self.create_mgmt_client(AzureArcDataClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_databases_get(self, resource_group): + response = self.client.sql_server_databases.get( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", + ) + + # please add some check logic here by yourself + # ... @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy @@ -219,33 +231,6 @@ def test_sql_server_databases_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_databases_begin_delete(self, resource_group): - response = self.client.sql_server_databases.begin_delete( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - database_name="str", - api_version="2026-03-01-preview", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_databases_get(self, resource_group): - response = self.client.sql_server_databases.get( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - database_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -440,7 +425,18 @@ def test_sql_server_databases_begin_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_databases_begin_delete(self, resource_group): + response = self.client.sql_server_databases.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -452,7 +448,6 @@ def test_sql_server_databases_list(self, resource_group): response = self.client.sql_server_databases.list( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) result = [r for r in response] # please add some check logic here by yourself diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations_async.py similarity index 97% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations_async.py index 3e538b5ee5e4..5d369f931219 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,21 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlServerDatabasesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlServerDatabasesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_databases_get(self, resource_group): + response = await self.client.sql_server_databases.get( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", + ) + + # please add some check logic here by yourself + # ... @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async @@ -220,35 +232,6 @@ async def test_sql_server_databases_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_databases_begin_delete(self, resource_group): - response = await ( - await self.client.sql_server_databases.begin_delete( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - database_name="str", - api_version="2026-03-01-preview", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_databases_get(self, resource_group): - response = await self.client.sql_server_databases.get( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - database_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -444,7 +427,20 @@ async def test_sql_server_databases_begin_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_databases_begin_delete(self, resource_group): + response = await ( + await self.client.sql_server_databases.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + database_name="str", ) ).result() # call '.result()' to poll until service return final result @@ -457,7 +453,6 @@ async def test_sql_server_databases_list(self, resource_group): response = self.client.sql_server_databases.list( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) result = [r async for r in response] # please add some check logic here by yourself diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations.py similarity index 87% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations.py index da66703c6a59..4cacba91359a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,30 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlServerEsuLicensesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlServerEsuLicensesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_esu_licenses_list(self, resource_group): - response = self.client.sql_server_esu_licenses.list( - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_esu_licenses_list_by_resource_group(self, resource_group): - response = self.client.sql_server_esu_licenses.list_by_resource_group( - resource_group_name=resource_group.name, - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... + self.client = self.create_mgmt_client(AzureArcDataClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy @@ -45,7 +24,6 @@ def test_sql_server_esu_licenses_get(self, resource_group): response = self.client.sql_server_esu_licenses.get( resource_group_name=resource_group.name, sql_server_esu_license_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -83,19 +61,6 @@ def test_sql_server_esu_licenses_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_esu_licenses_delete(self, resource_group): - response = self.client.sql_server_esu_licenses.delete( - resource_group_name=resource_group.name, - sql_server_esu_license_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -121,8 +86,36 @@ def test_sql_server_esu_licenses_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ) # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_esu_licenses_delete(self, resource_group): + response = self.client.sql_server_esu_licenses.delete( + resource_group_name=resource_group.name, + sql_server_esu_license_name="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_esu_licenses_list_by_resource_group(self, resource_group): + response = self.client.sql_server_esu_licenses.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_esu_licenses_list(self, resource_group): + response = self.client.sql_server_esu_licenses.list() + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations_async.py similarity index 87% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations_async.py index fbddb43f8256..208a9535d3b8 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,30 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlServerEsuLicensesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlServerEsuLicensesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_esu_licenses_list(self, resource_group): - response = self.client.sql_server_esu_licenses.list( - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_esu_licenses_list_by_resource_group(self, resource_group): - response = self.client.sql_server_esu_licenses.list_by_resource_group( - resource_group_name=resource_group.name, - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async @@ -46,7 +25,6 @@ async def test_sql_server_esu_licenses_get(self, resource_group): response = await self.client.sql_server_esu_licenses.get( resource_group_name=resource_group.name, sql_server_esu_license_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -84,19 +62,6 @@ async def test_sql_server_esu_licenses_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_esu_licenses_delete(self, resource_group): - response = await self.client.sql_server_esu_licenses.delete( - resource_group_name=resource_group.name, - sql_server_esu_license_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -122,8 +87,36 @@ async def test_sql_server_esu_licenses_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ) # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_esu_licenses_delete(self, resource_group): + response = await self.client.sql_server_esu_licenses.delete( + resource_group_name=resource_group.name, + sql_server_esu_license_name="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_esu_licenses_list_by_resource_group(self, resource_group): + response = self.client.sql_server_esu_licenses.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_esu_licenses_list(self, resource_group): + response = self.client.sql_server_esu_licenses.list() + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations.py similarity index 96% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations.py index eadbd02504ba..798ffa720e73 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,30 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlServerInstancesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlServerInstancesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_instances_list(self, resource_group): - response = self.client.sql_server_instances.list( - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_instances_list_by_resource_group(self, resource_group): - response = self.client.sql_server_instances.list_by_resource_group( - resource_group_name=resource_group.name, - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... + self.client = self.create_mgmt_client(AzureArcDataClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy @@ -45,7 +24,6 @@ def test_sql_server_instances_get(self, resource_group): response = self.client.sql_server_instances.get( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -317,19 +295,6 @@ def test_sql_server_instances_begin_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_instances_begin_delete(self, resource_group): - response = self.client.sql_server_instances.begin_delete( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -589,12 +554,40 @@ def test_sql_server_instances_begin_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_begin_delete(self, resource_group): + response = self.client.sql_server_instances.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_list_by_resource_group(self, resource_group): + response = self.client.sql_server_instances.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_instances_list(self, resource_group): + response = self.client.sql_server_instances.list() + result = [r for r in response] + # please add some check logic here by yourself + # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_sql_server_instances_begin_get_telemetry(self, resource_group): @@ -603,13 +596,12 @@ def test_sql_server_instances_begin_get_telemetry(self, resource_group): sql_server_instance_name="str", sql_server_instance_telemetry_request={ "datasetName": "str", - "aggregationType": "Average", + "aggregationType": "str", "databaseNames": ["str"], "endTime": "2020-02-20 00:00:00", - "interval": "PT1H", + "interval": "1 day, 0:00:00", "startTime": "2020-02-20 00:00:00", }, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result result = [r for r in response] # please add some check logic here by yourself @@ -627,7 +619,6 @@ def test_sql_server_instances_begin_get_best_practices_assessment(self, resource "reportType": "str", "skipToken": "str", }, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result result = [r for r in response] # please add some check logic here by yourself @@ -639,7 +630,6 @@ def test_sql_server_instances_run_migration_assessment(self, resource_group): response = self.client.sql_server_instances.run_migration_assessment( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -651,7 +641,6 @@ def test_sql_server_instances_begin_run_target_recommendation_job(self, resource response = self.client.sql_server_instances.begin_run_target_recommendation_job( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -663,7 +652,6 @@ def test_sql_server_instances_begin_get_target_recommendation_reports(self, reso response = self.client.sql_server_instances.begin_get_target_recommendation_reports( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -675,7 +663,6 @@ def test_sql_server_instances_begin_get_migration_readiness_report(self, resourc response = self.client.sql_server_instances.begin_get_migration_readiness_report( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -687,7 +674,6 @@ def test_sql_server_instances_run_best_practices_assessment(self, resource_group response = self.client.sql_server_instances.run_best_practices_assessment( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -699,7 +685,6 @@ def test_sql_server_instances_begin_run_best_practice_assessment(self, resource_ response = self.client.sql_server_instances.begin_run_best_practice_assessment( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -711,7 +696,6 @@ def test_sql_server_instances_begin_run_migration_readiness_assessment(self, res response = self.client.sql_server_instances.begin_run_migration_readiness_assessment( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -723,7 +707,6 @@ def test_sql_server_instances_get_jobs_status(self, resource_group): response = self.client.sql_server_instances.get_jobs_status( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -735,7 +718,6 @@ def test_sql_server_instances_begin_get_jobs(self, resource_group): response = self.client.sql_server_instances.begin_get_jobs( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -747,7 +729,6 @@ def test_sql_server_instances_pre_upgrade(self, resource_group): response = self.client.sql_server_instances.pre_upgrade( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -759,7 +740,6 @@ def test_sql_server_instances_post_upgrade(self, resource_group): response = self.client.sql_server_instances.post_upgrade( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -780,7 +760,6 @@ def test_sql_server_instances_begin_run_managed_instance_link_assessment(self, r "azureManagedInstanceRole": "str", "sqlServerIpAddress": "str", }, - api_version="2026-03-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -792,7 +771,6 @@ def test_sql_server_instances_get_all_availability_groups(self, resource_group): response = self.client.sql_server_instances.get_all_availability_groups( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) result = [r for r in response] # please add some check logic here by yourself diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations_async.py similarity index 96% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations_async.py index 08070ae96c28..3b60195d1e2f 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,30 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlServerInstancesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlServerInstancesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_instances_list(self, resource_group): - response = self.client.sql_server_instances.list( - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_instances_list_by_resource_group(self, resource_group): - response = self.client.sql_server_instances.list_by_resource_group( - resource_group_name=resource_group.name, - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async @@ -46,7 +25,6 @@ async def test_sql_server_instances_get(self, resource_group): response = await self.client.sql_server_instances.get( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -323,21 +301,6 @@ async def test_sql_server_instances_begin_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_instances_begin_delete(self, resource_group): - response = await ( - await self.client.sql_server_instances.begin_delete( - resource_group_name=resource_group.name, - sql_server_instance_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -603,13 +566,43 @@ async def test_sql_server_instances_begin_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_begin_delete(self, resource_group): + response = await ( + await self.client.sql_server_instances.begin_delete( + resource_group_name=resource_group.name, + sql_server_instance_name="str", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_list_by_resource_group(self, resource_group): + response = self.client.sql_server_instances.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_instances_list(self, resource_group): + response = self.client.sql_server_instances.list() + result = [r async for r in response] + # please add some check logic here by yourself + # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_sql_server_instances_begin_get_telemetry(self, resource_group): @@ -619,13 +612,12 @@ async def test_sql_server_instances_begin_get_telemetry(self, resource_group): sql_server_instance_name="str", sql_server_instance_telemetry_request={ "datasetName": "str", - "aggregationType": "Average", + "aggregationType": "str", "databaseNames": ["str"], "endTime": "2020-02-20 00:00:00", - "interval": "PT1H", + "interval": "1 day, 0:00:00", "startTime": "2020-02-20 00:00:00", }, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result result = [r async for r in response] @@ -645,7 +637,6 @@ async def test_sql_server_instances_begin_get_best_practices_assessment(self, re "reportType": "str", "skipToken": "str", }, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result result = [r async for r in response] @@ -658,7 +649,6 @@ async def test_sql_server_instances_run_migration_assessment(self, resource_grou response = await self.client.sql_server_instances.run_migration_assessment( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -671,7 +661,6 @@ async def test_sql_server_instances_begin_run_target_recommendation_job(self, re await self.client.sql_server_instances.begin_run_target_recommendation_job( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -685,7 +674,6 @@ async def test_sql_server_instances_begin_get_target_recommendation_reports(self await self.client.sql_server_instances.begin_get_target_recommendation_reports( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -699,7 +687,6 @@ async def test_sql_server_instances_begin_get_migration_readiness_report(self, r await self.client.sql_server_instances.begin_get_migration_readiness_report( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -712,7 +699,6 @@ async def test_sql_server_instances_run_best_practices_assessment(self, resource response = await self.client.sql_server_instances.run_best_practices_assessment( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -725,7 +711,6 @@ async def test_sql_server_instances_begin_run_best_practice_assessment(self, res await self.client.sql_server_instances.begin_run_best_practice_assessment( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -739,7 +724,6 @@ async def test_sql_server_instances_begin_run_migration_readiness_assessment(sel await self.client.sql_server_instances.begin_run_migration_readiness_assessment( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -752,7 +736,6 @@ async def test_sql_server_instances_get_jobs_status(self, resource_group): response = await self.client.sql_server_instances.get_jobs_status( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -765,7 +748,6 @@ async def test_sql_server_instances_begin_get_jobs(self, resource_group): await self.client.sql_server_instances.begin_get_jobs( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -778,7 +760,6 @@ async def test_sql_server_instances_pre_upgrade(self, resource_group): response = await self.client.sql_server_instances.pre_upgrade( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -790,7 +771,6 @@ async def test_sql_server_instances_post_upgrade(self, resource_group): response = await self.client.sql_server_instances.post_upgrade( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -812,7 +792,6 @@ async def test_sql_server_instances_begin_run_managed_instance_link_assessment(s "azureManagedInstanceRole": "str", "sqlServerIpAddress": "str", }, - api_version="2026-03-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -825,7 +804,6 @@ async def test_sql_server_instances_get_all_availability_groups(self, resource_g response = self.client.sql_server_instances.get_all_availability_groups( resource_group_name=resource_group.name, sql_server_instance_name="str", - api_version="2026-03-01-preview", ) result = [r async for r in response] # please add some check logic here by yourself diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations.py similarity index 87% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations.py index eb4766ea1ae1..b1d77a2b48d4 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataManagementClient +from azure.mgmt.azurearcdata import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,30 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlServerLicensesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlServerLicensesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_licenses_list(self, resource_group): - response = self.client.sql_server_licenses.list( - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_licenses_list_by_resource_group(self, resource_group): - response = self.client.sql_server_licenses.list_by_resource_group( - resource_group_name=resource_group.name, - api_version="2026-03-01-preview", - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... + self.client = self.create_mgmt_client(AzureArcDataClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy @@ -45,7 +24,6 @@ def test_sql_server_licenses_get(self, resource_group): response = self.client.sql_server_licenses.get( resource_group_name=resource_group.name, sql_server_license_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -82,19 +60,6 @@ def test_sql_server_licenses_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_sql_server_licenses_delete(self, resource_group): - response = self.client.sql_server_licenses.delete( - resource_group_name=resource_group.name, - sql_server_license_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -119,8 +84,36 @@ def test_sql_server_licenses_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ) # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_licenses_delete(self, resource_group): + response = self.client.sql_server_licenses.delete( + resource_group_name=resource_group.name, + sql_server_license_name="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_licenses_list_by_resource_group(self, resource_group): + response = self.client.sql_server_licenses.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_sql_server_licenses_list(self, resource_group): + response = self.client.sql_server_licenses.list() + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations_async.py similarity index 87% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations_async.py index c62b827afbeb..c9b9247728b6 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations_async.py @@ -2,11 +2,11 @@ # -------------------------------------------------------------------------- # 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. +# Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient +from azure.mgmt.azurearcdata.aio import AzureArcDataClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,30 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataManagementSqlServerLicensesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataSqlServerLicensesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_licenses_list(self, resource_group): - response = self.client.sql_server_licenses.list( - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_licenses_list_by_resource_group(self, resource_group): - response = self.client.sql_server_licenses.list_by_resource_group( - resource_group_name=resource_group.name, - api_version="2026-03-01-preview", - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... + self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async @@ -46,7 +25,6 @@ async def test_sql_server_licenses_get(self, resource_group): response = await self.client.sql_server_licenses.get( resource_group_name=resource_group.name, sql_server_license_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -83,19 +61,6 @@ async def test_sql_server_licenses_create(self, resource_group): "tags": {"str": "str"}, "type": "str", }, - api_version="2026-03-01-preview", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_sql_server_licenses_delete(self, resource_group): - response = await self.client.sql_server_licenses.delete( - resource_group_name=resource_group.name, - sql_server_license_name="str", - api_version="2026-03-01-preview", ) # please add some check logic here by yourself @@ -120,8 +85,36 @@ async def test_sql_server_licenses_update(self, resource_group): }, "tags": {"str": "str"}, }, - api_version="2026-03-01-preview", ) # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_licenses_delete(self, resource_group): + response = await self.client.sql_server_licenses.delete( + resource_group_name=resource_group.name, + sql_server_license_name="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_licenses_list_by_resource_group(self, resource_group): + response = self.client.sql_server_licenses.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_sql_server_licenses_list(self, resource_group): + response = self.client.sql_server_licenses.list() + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml b/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml new file mode 100644 index 000000000000..9a8dee1256d0 --- /dev/null +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml @@ -0,0 +1,4 @@ +directory: specification/azurearcdata/AzureArcData.Management +commit: 6fd6a95eedff621147c1c8f996e50f02f16927c5 +repo: Azure/azure-rest-api-specs +additionalDirectories: From 1f0c57619b2ffdadfd01044637268680b240284a Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 Date: Wed, 1 Apr 2026 11:29:09 +0800 Subject: [PATCH 3/8] changelog from report comparison --- .../azure-mgmt-azurearcdata/CHANGELOG.md | 66 ++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md index db68876cbb50..8e2586af728d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md @@ -2,7 +2,71 @@ ## 2.0.0b2 (2026-04-01) -skip changelog generation +### Features Added + + - Enum `DiscoverySource` added member `DMSCLI` + - Enum `DiscoverySource` added member `DMSPS` + - Enum `DiscoverySource` added member `DMSSDK` + - Enum `DtcSupport` added member `PERDB` + - Enum `EncryptionAlgorithm` added member `AESRC4` + - Enum `EncryptionAlgorithm` added member `NONE_AESRC4` + - Enum `EncryptionAlgorithm` added member `RC4AES` + - Enum `HostType` added member `AWSVM_WARE_VIRTUAL_MACHINE` + - Enum `HostType` added member `GCPVM_WARE_VIRTUAL_MACHINE` + - Enum `InitiatedFrom` added member `DMSCLI` + - Enum `InitiatedFrom` added member `DMSPS` + - Enum `InitiatedFrom` added member `DMSSDK` + - Model `Operation` added property `action_type` + - Model `SqlManagedInstanceSku` added property `name` + - Added enum `ActionType` + - Added model `K8sActiveDirectory` + - Added model `K8sActiveDirectoryConnector` + - Added model `K8sNetworkSettings` + - Added model `K8sResourceRequirements` + - Added model `K8sScheduling` + - Added model `K8sSchedulingOptions` + - Added model `K8sSecurity` + - Added model `K8sSettings` + - Added model `K8stransparentDataEncryption` + - Added enum `Origin` + - Added model `SqlManagedInstanceK8sRaw` + - Added model `SqlManagedInstanceK8sSpec` + +### Breaking Changes + + - Deleted or renamed client `AzureArcDataManagementClient` + - Model `Databases` deleted or renamed its instance variable `values` + - Deleted or renamed enum value `DiscoverySource.DMS_CLI` + - Deleted or renamed enum value `DiscoverySource.DMS_PS` + - Deleted or renamed enum value `DiscoverySource.DMS_SDK` + - Deleted or renamed enum value `DtcSupport.PER_DB` + - Deleted or renamed enum value `EncryptionAlgorithm.AES_RC4` + - Deleted or renamed enum value `EncryptionAlgorithm.NONE_AES_RC4` + - Deleted or renamed enum value `EncryptionAlgorithm.RC4_AES` + - Deleted or renamed enum value `HostType.AWS_VM_WARE_VIRTUAL_MACHINE` + - Deleted or renamed enum value `HostType.GCP_VM_WARE_VIRTUAL_MACHINE` + - Deleted or renamed enum value `InitiatedFrom.DMS_CLI` + - Deleted or renamed enum value `InitiatedFrom.DMS_PS` + - Deleted or renamed enum value `InitiatedFrom.DMS_SDK` + - Model `Operation` deleted or renamed its instance variable `properties` + - Deleted or renamed model `K8SActiveDirectory` + - Deleted or renamed model `K8SActiveDirectoryConnector` + - Deleted or renamed model `K8SNetworkSettings` + - Deleted or renamed model `K8SResourceRequirements` + - Deleted or renamed model `K8SScheduling` + - Deleted or renamed model `K8SSchedulingOptions` + - Deleted or renamed model `K8SSecurity` + - Deleted or renamed model `K8SSettings` + - Deleted or renamed model `K8StransparentDataEncryption` + - Deleted or renamed model `OperationOrigin` + - Deleted or renamed model `PageOfDataControllerResource` + - Deleted or renamed model `ResourceAutoGenerated` + - Deleted or renamed model `SqlAvailabilityGroupDhcpListenerProperties` + - Deleted or renamed model `SqlManagedInstanceK8SRaw` + - Deleted or renamed model `SqlManagedInstanceK8SSpec` + - Deleted or renamed model `SqlServerInstanceBpaResponse` + - Deleted or renamed model `SqlServerInstanceTelemetryResponse` + - Deleted or renamed model `TrackedResourceAutoGenerated` ## 2.0.0b1 (2022-11-18) From 3b7dec5a21cf309460893dff33343e6f51c5c09c Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 Date: Wed, 1 Apr 2026 11:39:35 +0800 Subject: [PATCH 4/8] [Python] TypeSpec migration SDK output for azure-mgmt-azurearcdata From 285b8303e0fcf84806dda77ef3d2fe10a29d3fd3 Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 Date: Wed, 1 Apr 2026 13:42:38 +0800 Subject: [PATCH 5/8] generated from typespec:fb3a858370c8bb49306f311bfc47669dfd02e95c --- .../azure-mgmt-azurearcdata/CHANGELOG.md | 66 +------------ .../azure-mgmt-azurearcdata/_metadata.json | 2 +- .../apiview-properties.json | 24 ++--- .../azure/mgmt/azurearcdata/__init__.py | 4 +- .../azure/mgmt/azurearcdata/_client.py | 6 +- .../azure/mgmt/azurearcdata/_configuration.py | 4 +- .../azure/mgmt/azurearcdata/aio/__init__.py | 4 +- .../azure/mgmt/azurearcdata/aio/_client.py | 6 +- .../mgmt/azurearcdata/aio/_configuration.py | 4 +- .../aio/operations/_operations.py | 68 +++++++++----- .../mgmt/azurearcdata/models/__init__.py | 48 +++++----- .../azure/mgmt/azurearcdata/models/_enums.py | 26 ++--- .../azure/mgmt/azurearcdata/models/_models.py | 94 +++++++++---------- .../azurearcdata/operations/_operations.py | 68 +++++++++----- .../code_report_typespec.json | 74 +++++++-------- .../add_databases_to_availability_group.py | 4 +- ...te_or_update_active_directory_connector.py | 4 +- ...pdate_arc_sql_server_availability_group.py | 4 +- ...reate_or_update_arc_sql_server_database.py | 4 +- .../create_or_update_data_controller.py | 4 +- .../create_or_update_failover_group.py | 4 +- .../create_or_update_managed_instance_link.py | 4 +- .../create_or_update_postgres_instance.py | 4 +- .../create_or_update_sql_managed_instance.py | 4 +- ...create_or_update_sql_server_esu_license.py | 4 +- .../create_or_update_sql_server_instance.py | 4 +- .../create_or_update_sql_server_license.py | 4 +- .../create_sql_server_availability_group.py | 4 +- ...l_server_distributed_availability_group.py | 4 +- .../delete_active_directory_connector.py | 4 +- ...elete_arc_sql_server_availability_group.py | 4 +- .../delete_arc_sql_server_database.py | 4 +- .../delete_data_controller.py | 4 +- .../delete_failover_group.py | 4 +- .../generated_samples/delete_mi_link.py | 4 +- .../delete_postgres_instance.py | 4 +- .../delete_sql_managed_instance.py | 4 +- .../delete_sql_server_esu_license.py | 4 +- .../delete_sql_server_instance.py | 4 +- .../delete_sql_server_license.py | 4 +- ...lover_arc_sql_server_availability_group.py | 4 +- .../generated_samples/failover_mi_link.py | 4 +- ..._sql_server_instance_availability_group.py | 4 +- ...lover_arc_sql_server_availability_group.py | 4 +- .../get_active_directory_connector.py | 4 +- .../get_arc_sql_server_availability_group.py | 4 +- .../get_arc_sql_server_database.py | 4 +- .../generated_samples/get_data_controller.py | 4 +- .../generated_samples/get_failover_group.py | 4 +- .../get_postgres_instance.py | 4 +- .../get_sql_managed_instance.py | 4 +- .../get_sql_server_esu_license.py | 4 +- .../get_sql_server_instance.py | 4 +- .../get_sql_server_instance_bpa.py | 4 +- .../get_sql_server_instance_jobs.py | 4 +- .../get_sql_server_instance_jobs_status.py | 4 +- ...ver_instance_migration_readiness_report.py | 4 +- ..._instance_target_recommendation_reports.py | 4 +- ...target_recommendation_reports_last_page.py | 4 +- ...get_recommendation_reports_with_filters.py | 4 +- .../get_sql_server_instance_telemetry.py | 4 +- .../get_sql_server_license.py | 4 +- ...a_controller_active_directory_connector.py | 4 +- .../list_by_resource_group_data_controller.py | 4 +- ...ist_by_resource_group_postgres_instance.py | 4 +- ..._by_resource_group_sql_managed_instance.py | 4 +- ...y_resource_group_sql_server_esu_license.py | 4 +- ...t_by_resource_group_sql_server_instance.py | 4 +- ...st_by_resource_group_sql_server_license.py | 4 +- ..._by_sql_managed_instance_failover_group.py | 4 +- ..._sql_server_instance_availability_group.py | 4 +- .../list_by_sql_server_instance_database.py | 4 +- .../generated_samples/list_operation.py | 4 +- .../list_subscription_data_controller.py | 4 +- .../list_subscription_postgres_instance.py | 4 +- .../list_subscription_sql_managed_instance.py | 4 +- ...ist_subscription_sql_server_esu_license.py | 4 +- .../list_subscription_sql_server_instance.py | 4 +- .../list_subscription_sql_server_license.py | 4 +- .../post_upgrade_sql_server_instance.py | 4 +- .../pre_upgrade_sql_server_instance.py | 4 +- ...emove_databases_from_availability_group.py | 4 +- ...practice_assessment_sql_server_instance.py | 4 +- ...ractices_assessment_sql_server_instance.py | 4 +- .../run_managed_instance_link_assessment.py | 4 +- ...igration_assessment_sql_server_instance.py | 4 +- ...eadiness_assessment_sql_server_instance.py | 4 +- ..._recommendation_job_sql_server_instance.py | 4 +- ...pdate_arc_sql_server_availability_group.py | 4 +- .../update_data_controller.py | 4 +- .../update_postgres_instance.py | 4 +- .../update_sql_managed_instance.py | 4 +- .../update_sql_server_database.py | 4 +- .../update_sql_server_esu_license.py | 4 +- .../update_sql_server_instance.py | 4 +- .../update_sql_server_license.py | 4 +- .../view_arc_sql_server_availability_group.py | 4 +- .../generated_tests/conftest.py | 22 +++-- ...active_directory_connectors_operations.py} | 6 +- ..._directory_connectors_operations_async.py} | 6 +- ...management_data_controllers_operations.py} | 6 +- ...ment_data_controllers_operations_async.py} | 6 +- ..._management_failover_groups_operations.py} | 6 +- ...ement_failover_groups_operations_async.py} | 6 +- ...t_azure_arc_data_management_operations.py} | 6 +- ...e_arc_data_management_operations_async.py} | 6 +- ...nagement_postgres_instances_operations.py} | 6 +- ...nt_postgres_instances_operations_async.py} | 6 +- ...ement_sql_managed_instances_operations.py} | 6 +- ...sql_managed_instances_operations_async.py} | 6 +- ..._server_availability_groups_operations.py} | 6 +- ...r_availability_groups_operations_async.py} | 6 +- ...gement_sql_server_databases_operations.py} | 6 +- ..._sql_server_databases_operations_async.py} | 6 +- ...ent_sql_server_esu_licenses_operations.py} | 6 +- ...l_server_esu_licenses_operations_async.py} | 6 +- ...gement_sql_server_instances_operations.py} | 6 +- ..._sql_server_instances_operations_async.py} | 6 +- ...agement_sql_server_licenses_operations.py} | 6 +- ...t_sql_server_licenses_operations_async.py} | 6 +- .../azure-mgmt-azurearcdata/tsp-location.yaml | 2 +- 121 files changed, 484 insertions(+), 498 deletions(-) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_active_directory_connectors_operations.py => test_azure_arc_data_management_active_directory_connectors_operations.py} (94%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_active_directory_connectors_operations_async.py => test_azure_arc_data_management_active_directory_connectors_operations_async.py} (94%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_data_controllers_operations.py => test_azure_arc_data_management_data_controllers_operations.py} (96%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_data_controllers_operations_async.py => test_azure_arc_data_management_data_controllers_operations_async.py} (96%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_failover_groups_operations.py => test_azure_arc_data_management_failover_groups_operations.py} (94%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_failover_groups_operations_async.py => test_azure_arc_data_management_failover_groups_operations_async.py} (94%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_operations.py => test_azure_arc_data_management_operations.py} (83%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_operations_async.py => test_azure_arc_data_management_operations_async.py} (82%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_postgres_instances_operations.py => test_azure_arc_data_management_postgres_instances_operations.py} (95%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_postgres_instances_operations_async.py => test_azure_arc_data_management_postgres_instances_operations_async.py} (95%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_managed_instances_operations.py => test_azure_arc_data_management_sql_managed_instances_operations.py} (96%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_managed_instances_operations_async.py => test_azure_arc_data_management_sql_managed_instances_operations_async.py} (96%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_server_availability_groups_operations.py => test_azure_arc_data_management_sql_server_availability_groups_operations.py} (99%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_server_availability_groups_operations_async.py => test_azure_arc_data_management_sql_server_availability_groups_operations_async.py} (98%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_server_databases_operations.py => test_azure_arc_data_management_sql_server_databases_operations.py} (99%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_server_databases_operations_async.py => test_azure_arc_data_management_sql_server_databases_operations_async.py} (98%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_server_esu_licenses_operations.py => test_azure_arc_data_management_sql_server_esu_licenses_operations.py} (95%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_server_esu_licenses_operations_async.py => test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py} (94%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_server_instances_operations.py => test_azure_arc_data_management_sql_server_instances_operations.py} (99%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_server_instances_operations_async.py => test_azure_arc_data_management_sql_server_instances_operations_async.py} (99%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_server_licenses_operations.py => test_azure_arc_data_management_sql_server_licenses_operations.py} (95%) rename sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/{test_azure_arc_data_sql_server_licenses_operations_async.py => test_azure_arc_data_management_sql_server_licenses_operations_async.py} (94%) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md index 8e2586af728d..db68876cbb50 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md @@ -2,71 +2,7 @@ ## 2.0.0b2 (2026-04-01) -### Features Added - - - Enum `DiscoverySource` added member `DMSCLI` - - Enum `DiscoverySource` added member `DMSPS` - - Enum `DiscoverySource` added member `DMSSDK` - - Enum `DtcSupport` added member `PERDB` - - Enum `EncryptionAlgorithm` added member `AESRC4` - - Enum `EncryptionAlgorithm` added member `NONE_AESRC4` - - Enum `EncryptionAlgorithm` added member `RC4AES` - - Enum `HostType` added member `AWSVM_WARE_VIRTUAL_MACHINE` - - Enum `HostType` added member `GCPVM_WARE_VIRTUAL_MACHINE` - - Enum `InitiatedFrom` added member `DMSCLI` - - Enum `InitiatedFrom` added member `DMSPS` - - Enum `InitiatedFrom` added member `DMSSDK` - - Model `Operation` added property `action_type` - - Model `SqlManagedInstanceSku` added property `name` - - Added enum `ActionType` - - Added model `K8sActiveDirectory` - - Added model `K8sActiveDirectoryConnector` - - Added model `K8sNetworkSettings` - - Added model `K8sResourceRequirements` - - Added model `K8sScheduling` - - Added model `K8sSchedulingOptions` - - Added model `K8sSecurity` - - Added model `K8sSettings` - - Added model `K8stransparentDataEncryption` - - Added enum `Origin` - - Added model `SqlManagedInstanceK8sRaw` - - Added model `SqlManagedInstanceK8sSpec` - -### Breaking Changes - - - Deleted or renamed client `AzureArcDataManagementClient` - - Model `Databases` deleted or renamed its instance variable `values` - - Deleted or renamed enum value `DiscoverySource.DMS_CLI` - - Deleted or renamed enum value `DiscoverySource.DMS_PS` - - Deleted or renamed enum value `DiscoverySource.DMS_SDK` - - Deleted or renamed enum value `DtcSupport.PER_DB` - - Deleted or renamed enum value `EncryptionAlgorithm.AES_RC4` - - Deleted or renamed enum value `EncryptionAlgorithm.NONE_AES_RC4` - - Deleted or renamed enum value `EncryptionAlgorithm.RC4_AES` - - Deleted or renamed enum value `HostType.AWS_VM_WARE_VIRTUAL_MACHINE` - - Deleted or renamed enum value `HostType.GCP_VM_WARE_VIRTUAL_MACHINE` - - Deleted or renamed enum value `InitiatedFrom.DMS_CLI` - - Deleted or renamed enum value `InitiatedFrom.DMS_PS` - - Deleted or renamed enum value `InitiatedFrom.DMS_SDK` - - Model `Operation` deleted or renamed its instance variable `properties` - - Deleted or renamed model `K8SActiveDirectory` - - Deleted or renamed model `K8SActiveDirectoryConnector` - - Deleted or renamed model `K8SNetworkSettings` - - Deleted or renamed model `K8SResourceRequirements` - - Deleted or renamed model `K8SScheduling` - - Deleted or renamed model `K8SSchedulingOptions` - - Deleted or renamed model `K8SSecurity` - - Deleted or renamed model `K8SSettings` - - Deleted or renamed model `K8StransparentDataEncryption` - - Deleted or renamed model `OperationOrigin` - - Deleted or renamed model `PageOfDataControllerResource` - - Deleted or renamed model `ResourceAutoGenerated` - - Deleted or renamed model `SqlAvailabilityGroupDhcpListenerProperties` - - Deleted or renamed model `SqlManagedInstanceK8SRaw` - - Deleted or renamed model `SqlManagedInstanceK8SSpec` - - Deleted or renamed model `SqlServerInstanceBpaResponse` - - Deleted or renamed model `SqlServerInstanceTelemetryResponse` - - Deleted or renamed model `TrackedResourceAutoGenerated` +skip changelog generation ## 2.0.0b1 (2022-11-18) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json index 5298d92fe193..73344b68515a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json @@ -3,7 +3,7 @@ "apiVersions": { "Microsoft.AzureArcData": "2026-03-01-preview" }, - "commit": "6fd6a95eedff621147c1c8f996e50f02f16927c5", + "commit": "fb3a858370c8bb49306f311bfc47669dfd02e95c", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "typespec_src": "specification/azurearcdata/AzureArcData.Management", "emitterVersion": "0.61.2" diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json index bdab63e67767..e8cc73e3eae5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json @@ -56,15 +56,15 @@ "azure.mgmt.azurearcdata.models.HostIPAddressInformation": "Microsoft.AzureArcData.hostIPAddressInformation", "azure.mgmt.azurearcdata.models.ImpactedObjectsInfo": "Microsoft.AzureArcData.ImpactedObjectsInfo", "azure.mgmt.azurearcdata.models.ImpactedObjectsSuitabilitySummary": "Microsoft.AzureArcData.ImpactedObjectsSuitabilitySummary", - "azure.mgmt.azurearcdata.models.K8sActiveDirectory": "Microsoft.AzureArcData.K8sActiveDirectory", - "azure.mgmt.azurearcdata.models.K8sActiveDirectoryConnector": "Microsoft.AzureArcData.K8sActiveDirectoryConnector", - "azure.mgmt.azurearcdata.models.K8sNetworkSettings": "Microsoft.AzureArcData.K8sNetworkSettings", - "azure.mgmt.azurearcdata.models.K8sResourceRequirements": "Microsoft.AzureArcData.K8sResourceRequirements", - "azure.mgmt.azurearcdata.models.K8sScheduling": "Microsoft.AzureArcData.K8sScheduling", - "azure.mgmt.azurearcdata.models.K8sSchedulingOptions": "Microsoft.AzureArcData.K8sSchedulingOptions", - "azure.mgmt.azurearcdata.models.K8sSecurity": "Microsoft.AzureArcData.K8sSecurity", - "azure.mgmt.azurearcdata.models.K8sSettings": "Microsoft.AzureArcData.K8sSettings", - "azure.mgmt.azurearcdata.models.K8stransparentDataEncryption": "Microsoft.AzureArcData.k8stransparentDataEncryption", + "azure.mgmt.azurearcdata.models.K8SActiveDirectory": "Microsoft.AzureArcData.K8sActiveDirectory", + "azure.mgmt.azurearcdata.models.K8SActiveDirectoryConnector": "Microsoft.AzureArcData.K8sActiveDirectoryConnector", + "azure.mgmt.azurearcdata.models.K8SNetworkSettings": "Microsoft.AzureArcData.K8sNetworkSettings", + "azure.mgmt.azurearcdata.models.K8SResourceRequirements": "Microsoft.AzureArcData.K8sResourceRequirements", + "azure.mgmt.azurearcdata.models.K8SScheduling": "Microsoft.AzureArcData.K8sScheduling", + "azure.mgmt.azurearcdata.models.K8SSchedulingOptions": "Microsoft.AzureArcData.K8sSchedulingOptions", + "azure.mgmt.azurearcdata.models.K8SSecurity": "Microsoft.AzureArcData.K8sSecurity", + "azure.mgmt.azurearcdata.models.K8SSettings": "Microsoft.AzureArcData.K8sSettings", + "azure.mgmt.azurearcdata.models.K8STransparentDataEncryption": "Microsoft.AzureArcData.k8stransparentDataEncryption", "azure.mgmt.azurearcdata.models.KeytabInformation": "Microsoft.AzureArcData.KeytabInformation", "azure.mgmt.azurearcdata.models.LogAnalyticsWorkspaceConfig": "Microsoft.AzureArcData.LogAnalyticsWorkspaceConfig", "azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration": "Microsoft.AzureArcData.ManagedInstanceLinkCreateUpdateConfiguration", @@ -105,8 +105,8 @@ "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupReplicaResourceProperties": "Microsoft.AzureArcData.SqlAvailabilityGroupReplicaResourceProperties", "azure.mgmt.azurearcdata.models.SqlAvailabilityGroupStaticIPListenerProperties": "Microsoft.AzureArcData.SqlAvailabilityGroupStaticIPListenerProperties", "azure.mgmt.azurearcdata.models.SqlManagedInstance": "Microsoft.AzureArcData.SqlManagedInstance", - "azure.mgmt.azurearcdata.models.SqlManagedInstanceK8sRaw": "Microsoft.AzureArcData.SqlManagedInstanceK8sRaw", - "azure.mgmt.azurearcdata.models.SqlManagedInstanceK8sSpec": "Microsoft.AzureArcData.SqlManagedInstanceK8sSpec", + "azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SRaw": "Microsoft.AzureArcData.SqlManagedInstanceK8sRaw", + "azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SSpec": "Microsoft.AzureArcData.SqlManagedInstanceK8sSpec", "azure.mgmt.azurearcdata.models.SqlManagedInstanceProperties": "Microsoft.AzureArcData.SqlManagedInstanceProperties", "azure.mgmt.azurearcdata.models.SqlManagedInstanceSku": "Microsoft.AzureArcData.SqlManagedInstanceSku", "azure.mgmt.azurearcdata.models.SqlManagedInstanceUpdate": "Microsoft.AzureArcData.SqlManagedInstanceUpdate", @@ -159,7 +159,7 @@ "azure.mgmt.azurearcdata.models.TargetReadiness": "Microsoft.AzureArcData.TargetReadiness", "azure.mgmt.azurearcdata.models.UploadServicePrincipal": "Microsoft.AzureArcData.UploadServicePrincipal", "azure.mgmt.azurearcdata.models.UploadWatermark": "Microsoft.AzureArcData.UploadWatermark", - "azure.mgmt.azurearcdata.models.Origin": "Azure.ResourceManager.CommonTypes.Origin", + "azure.mgmt.azurearcdata.models.OperationOrigin": "Azure.ResourceManager.CommonTypes.Origin", "azure.mgmt.azurearcdata.models.ActionType": "Azure.ResourceManager.CommonTypes.ActionType", "azure.mgmt.azurearcdata.models.CreatedByType": "Azure.ResourceManager.CommonTypes.createdByType", "azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType": "Microsoft.AzureArcData.ArcSqlManagedInstanceLicenseType", diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py index 2ebef521cc5a..0186c5457363 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/__init__.py @@ -12,7 +12,7 @@ if TYPE_CHECKING: from ._patch import * # pylint: disable=unused-wildcard-import -from ._client import AzureArcDataClient # type: ignore +from ._client import AzureArcDataManagementClient # type: ignore from ._version import VERSION __version__ = VERSION @@ -25,7 +25,7 @@ from ._patch import patch_sdk as _patch_sdk __all__ = [ - "AzureArcDataClient", + "AzureArcDataManagementClient", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_client.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_client.py index ba431dee4fc7..55706805abe9 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_client.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_client.py @@ -17,7 +17,7 @@ from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy from azure.mgmt.core.tools import get_arm_endpoints -from ._configuration import AzureArcDataClientConfiguration +from ._configuration import AzureArcDataManagementClientConfiguration from ._utils.serialization import Deserializer, Serializer from .operations import ( ActiveDirectoryConnectorsOperations, @@ -38,7 +38,7 @@ from azure.core.credentials import TokenCredential -class AzureArcDataClient: # pylint: disable=too-many-instance-attributes +class AzureArcDataManagementClient: # pylint: disable=too-many-instance-attributes """The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources. @@ -100,7 +100,7 @@ def __init__( if not base_url: base_url = _endpoints["resource_manager"] credential_scopes = kwargs.pop("credential_scopes", _endpoints["credential_scopes"]) - self._config = AzureArcDataClientConfiguration( + self._config = AzureArcDataManagementClientConfiguration( credential=credential, subscription_id=subscription_id, base_url=cast(str, base_url), diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py index 768cdb7c78db..8789dbba78d1 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py @@ -18,8 +18,8 @@ from azure.core.credentials import TokenCredential -class AzureArcDataClientConfiguration: # pylint: disable=too-many-instance-attributes - """Configuration for AzureArcDataClient. +class AzureArcDataManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long + """Configuration for AzureArcDataManagementClient. Note that all parameters used to create this instance are saved as instance attributes. diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py index 4926cd5fb27b..c4a80f30b8e4 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/__init__.py @@ -12,7 +12,7 @@ if TYPE_CHECKING: from ._patch import * # pylint: disable=unused-wildcard-import -from ._client import AzureArcDataClient # type: ignore +from ._client import AzureArcDataManagementClient # type: ignore try: from ._patch import __all__ as _patch_all @@ -22,7 +22,7 @@ from ._patch import patch_sdk as _patch_sdk __all__ = [ - "AzureArcDataClient", + "AzureArcDataManagementClient", ] __all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_client.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_client.py index d2701bf96654..3cd593fcd7c3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_client.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_client.py @@ -18,7 +18,7 @@ from azure.mgmt.core.tools import get_arm_endpoints from .._utils.serialization import Deserializer, Serializer -from ._configuration import AzureArcDataClientConfiguration +from ._configuration import AzureArcDataManagementClientConfiguration from .operations import ( ActiveDirectoryConnectorsOperations, DataControllersOperations, @@ -38,7 +38,7 @@ from azure.core.credentials_async import AsyncTokenCredential -class AzureArcDataClient: # pylint: disable=too-many-instance-attributes +class AzureArcDataManagementClient: # pylint: disable=too-many-instance-attributes """The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources. @@ -103,7 +103,7 @@ def __init__( if not base_url: base_url = _endpoints["resource_manager"] credential_scopes = kwargs.pop("credential_scopes", _endpoints["credential_scopes"]) - self._config = AzureArcDataClientConfiguration( + self._config = AzureArcDataManagementClientConfiguration( credential=credential, subscription_id=subscription_id, base_url=cast(str, base_url), diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py index 506becc196c2..594c8acb5f86 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_configuration.py @@ -18,8 +18,8 @@ from azure.core.credentials_async import AsyncTokenCredential -class AzureArcDataClientConfiguration: # pylint: disable=too-many-instance-attributes - """Configuration for AzureArcDataClient. +class AzureArcDataManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long + """Configuration for AzureArcDataManagementClient. Note that all parameters used to create this instance are saved as instance attributes. diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py index 06cad003c3d1..3cbf4909438d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py @@ -119,7 +119,7 @@ build_sql_server_licenses_list_request, build_sql_server_licenses_update_request, ) -from .._configuration import AzureArcDataClientConfiguration +from .._configuration import AzureArcDataManagementClientConfiguration T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] @@ -133,14 +133,16 @@ class Operations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`operations` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -240,14 +242,16 @@ class SqlManagedInstancesOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`sql_managed_instances` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -1049,14 +1053,16 @@ class SqlServerInstancesOperations: # pylint: disable=too-many-public-methods **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`sql_server_instances` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -4800,14 +4806,16 @@ class SqlServerLicensesOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`sql_server_licenses` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -5479,14 +5487,16 @@ class PostgresInstancesOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`postgres_instances` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -6287,14 +6297,16 @@ class SqlServerEsuLicensesOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`sql_server_esu_licenses` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -6968,14 +6980,16 @@ class FailoverGroupsOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`failover_groups` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -7543,14 +7557,16 @@ class SqlServerAvailabilityGroupsOperations: # pylint: disable=too-many-public- **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`sql_server_availability_groups` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -10086,14 +10102,16 @@ class DataControllersOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`data_controllers` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -10970,14 +10988,16 @@ class ActiveDirectoryConnectorsOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`active_directory_connectors` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -11553,14 +11573,16 @@ class SqlServerDatabasesOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.aio.AzureArcDataManagementClient`'s :attr:`sql_server_databases` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py index 484e1ee11acd..df2472fb6be9 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py @@ -66,15 +66,15 @@ HostIPAddressInformation, ImpactedObjectsInfo, ImpactedObjectsSuitabilitySummary, - K8sActiveDirectory, - K8sActiveDirectoryConnector, - K8sNetworkSettings, - K8sResourceRequirements, - K8sScheduling, - K8sSchedulingOptions, - K8sSecurity, - K8sSettings, - K8stransparentDataEncryption, + K8SActiveDirectory, + K8SActiveDirectoryConnector, + K8SNetworkSettings, + K8SResourceRequirements, + K8SScheduling, + K8SSchedulingOptions, + K8SSecurity, + K8SSettings, + K8STransparentDataEncryption, KeytabInformation, LogAnalyticsWorkspaceConfig, ManagedInstanceLinkCreateUpdateConfiguration, @@ -117,8 +117,8 @@ SqlAvailabilityGroupReplicaResourceProperties, SqlAvailabilityGroupStaticIPListenerProperties, SqlManagedInstance, - SqlManagedInstanceK8sRaw, - SqlManagedInstanceK8sSpec, + SqlManagedInstanceK8SRaw, + SqlManagedInstanceK8SSpec, SqlManagedInstanceProperties, SqlManagedInstanceSku, SqlManagedInstanceUpdate, @@ -218,7 +218,7 @@ MigrationMode, MigrationStatus, Mode, - Origin, + OperationOrigin, PrimaryAllowConnections, ProvisioningState, RecommendationStatus, @@ -300,15 +300,15 @@ "HostIPAddressInformation", "ImpactedObjectsInfo", "ImpactedObjectsSuitabilitySummary", - "K8sActiveDirectory", - "K8sActiveDirectoryConnector", - "K8sNetworkSettings", - "K8sResourceRequirements", - "K8sScheduling", - "K8sSchedulingOptions", - "K8sSecurity", - "K8sSettings", - "K8stransparentDataEncryption", + "K8SActiveDirectory", + "K8SActiveDirectoryConnector", + "K8SNetworkSettings", + "K8SResourceRequirements", + "K8SScheduling", + "K8SSchedulingOptions", + "K8SSecurity", + "K8SSettings", + "K8STransparentDataEncryption", "KeytabInformation", "LogAnalyticsWorkspaceConfig", "ManagedInstanceLinkCreateUpdateConfiguration", @@ -351,8 +351,8 @@ "SqlAvailabilityGroupReplicaResourceProperties", "SqlAvailabilityGroupStaticIPListenerProperties", "SqlManagedInstance", - "SqlManagedInstanceK8sRaw", - "SqlManagedInstanceK8sSpec", + "SqlManagedInstanceK8SRaw", + "SqlManagedInstanceK8SSpec", "SqlManagedInstanceProperties", "SqlManagedInstanceSku", "SqlManagedInstanceUpdate", @@ -449,7 +449,7 @@ "MigrationMode", "MigrationStatus", "Mode", - "Origin", + "OperationOrigin", "PrimaryAllowConnections", "ProvisioningState", "RecommendationStatus", diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py index 4d1f102bf444..5ff71af2b6d6 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py @@ -318,12 +318,12 @@ class DiscoverySource(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Instance is registered via Import.""" DMS_PORTAL = "DMS-Portal" """Instance is discovered/registered from Azure Database Migration Service(DMS) Azure Portal.""" - DMSPS = "DMS-PS" + DMS_PS = "DMS-PS" """Instance is discovered/registered from DMS using PowerShell - Azure DataMigration Service Module.""" - DMSCLI = "DMS-CLI" + DMS_CLI = "DMS-CLI" """Instance is discovered/registered from DMS using datamigration extension for the Azure CLI.""" - DMSSDK = "DMS-SDK" + DMS_SDK = "DMS-SDK" """Instance is discovered/registered from Azure Database Migration Service SDK like Python or .NET SDKs.""" OTHER = "Other" @@ -333,7 +333,7 @@ class DiscoverySource(str, Enum, metaclass=CaseInsensitiveEnumMeta): class DtcSupport(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Specifies whether DTC support has been enabled for this availability group.""" - PERDB = "PER_DB" + PER_DB = "PER_DB" """PER_DB.""" NONE = "NONE" """NONE.""" @@ -375,13 +375,13 @@ class EncryptionAlgorithm(str, Enum, metaclass=CaseInsensitiveEnumMeta): """NONE, RC4.""" NONE_AES = "NONE, AES" """NONE, AES.""" - RC4AES = "RC4, AES" + RC4_AES = "RC4, AES" """RC4, AES.""" - AESRC4 = "AES, RC4" + AES_RC4 = "AES, RC4" """AES, RC4.""" NONE_RC4_AES = "NONE, RC4, AES" """NONE, RC4, AES.""" - NONE_AESRC4 = "NONE, AES, RC4" + NONE_AES_RC4 = "NONE, AES, RC4" """NONE, AES, RC4.""" @@ -434,11 +434,11 @@ class HostType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Azure VMWare Virtual Machine.""" AZURE_KUBERNETES_SERVICE = "Azure Kubernetes Service" """Azure Kubernetes Service.""" - AWSVM_WARE_VIRTUAL_MACHINE = "AWS VMWare Virtual Machine" + AWS_VM_WARE_VIRTUAL_MACHINE = "AWS VMWare Virtual Machine" """AWS VMWare Virtual Machine.""" AWS_KUBERNETES_SERVICE = "AWS Kubernetes Service" """AWS Kubernetes Service.""" - GCPVM_WARE_VIRTUAL_MACHINE = "GCP VMWare Virtual Machine" + GCP_VM_WARE_VIRTUAL_MACHINE = "GCP VMWare Virtual Machine" """GCP VMWare Virtual Machine.""" GCP_KUBERNETES_SERVICE = "GCP Kubernetes Service" """GCP Kubernetes Service.""" @@ -499,11 +499,11 @@ class InitiatedFrom(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Migration is initiated from SQL Server Migration Assistant (SSMA).""" DMS_PORTAL = "DMS-Portal" """Migration is initiated from Azure Database Migration Service(DMS) Azure Portal.""" - DMSPS = "DMS-PS" + DMS_PS = "DMS-PS" """Migration is initiated from DMS using PowerShell - Azure DataMigration Service Module.""" - DMSCLI = "DMS-CLI" + DMS_CLI = "DMS-CLI" """Migration is initiated from DMS using datamigration extension for the Azure CLI.""" - DMSSDK = "DMS-SDK" + DMS_SDK = "DMS-SDK" """Migration is initiated from Azure Database Migration Service SDK like Python or .NET SDKs.""" OTHER = "Other" """Migration is initiated from any other client not listed above.""" @@ -635,7 +635,7 @@ class Mode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Used for scenarios were the mode cannot be determined.""" -class Origin(str, Enum, metaclass=CaseInsensitiveEnumMeta): +class OperationOrigin(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system". """ diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py index 3a7d5d14f85c..5d3c6af68ca5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py @@ -2905,11 +2905,11 @@ class ImpactedObjectsSuitabilitySummary(_Model): ) -class K8sActiveDirectory(_Model): +class K8SActiveDirectory(_Model): """The kubernetes active directory information. :ivar connector: - :vartype connector: ~azure.mgmt.azurearcdata.models.K8sActiveDirectoryConnector + :vartype connector: ~azure.mgmt.azurearcdata.models.K8SActiveDirectoryConnector :ivar account_name: Account name for AAD. :vartype account_name: str :ivar keytab_secret: Keytab secret used to authenticate with Active Directory. @@ -2918,7 +2918,7 @@ class K8sActiveDirectory(_Model): :vartype encryption_types: list[str] """ - connector: Optional["_models.K8sActiveDirectoryConnector"] = rest_field( + connector: Optional["_models.K8SActiveDirectoryConnector"] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) account_name: Optional[str] = rest_field( @@ -2938,7 +2938,7 @@ class K8sActiveDirectory(_Model): def __init__( self, *, - connector: Optional["_models.K8sActiveDirectoryConnector"] = None, + connector: Optional["_models.K8SActiveDirectoryConnector"] = None, account_name: Optional[str] = None, keytab_secret: Optional[str] = None, encryption_types: Optional[list[str]] = None, @@ -2955,8 +2955,8 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class K8sActiveDirectoryConnector(_Model): - """K8sActiveDirectoryConnector. +class K8SActiveDirectoryConnector(_Model): + """K8SActiveDirectoryConnector. :ivar name: Name of the connector. :vartype name: str @@ -2988,7 +2988,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class K8sNetworkSettings(_Model): +class K8SNetworkSettings(_Model): """The kubernetes network settings information. :ivar forceencryption: If 1, then SQL Server forces all connections to be encrypted. By @@ -3027,7 +3027,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class K8sResourceRequirements(_Model): +class K8SResourceRequirements(_Model): """The kubernetes resource limits and requests used to restrict or reserve resource usage. :ivar requests: Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' @@ -3072,15 +3072,15 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class K8sScheduling(_Model): +class K8SScheduling(_Model): """The kubernetes scheduling information. :ivar default: The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service. - :vartype default: ~azure.mgmt.azurearcdata.models.K8sSchedulingOptions + :vartype default: ~azure.mgmt.azurearcdata.models.K8SSchedulingOptions """ - default: Optional["_models.K8sSchedulingOptions"] = rest_field( + default: Optional["_models.K8SSchedulingOptions"] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) """The kubernetes scheduling options. It describes restrictions used to help Kubernetes select @@ -3090,7 +3090,7 @@ class K8sScheduling(_Model): def __init__( self, *, - default: Optional["_models.K8sSchedulingOptions"] = None, + default: Optional["_models.K8SSchedulingOptions"] = None, ) -> None: ... @overload @@ -3104,16 +3104,16 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class K8sSchedulingOptions(_Model): +class K8SSchedulingOptions(_Model): """The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service. :ivar resources: The kubernetes resource limits and requests used to restrict or reserve resource usage. - :vartype resources: ~azure.mgmt.azurearcdata.models.K8sResourceRequirements + :vartype resources: ~azure.mgmt.azurearcdata.models.K8SResourceRequirements """ - resources: Optional["_models.K8sResourceRequirements"] = rest_field( + resources: Optional["_models.K8SResourceRequirements"] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) """The kubernetes resource limits and requests used to restrict or reserve resource usage.""" @@ -3122,7 +3122,7 @@ class K8sSchedulingOptions(_Model): def __init__( self, *, - resources: Optional["_models.K8sResourceRequirements"] = None, + resources: Optional["_models.K8SResourceRequirements"] = None, ) -> None: ... @overload @@ -3136,7 +3136,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class K8sSecurity(_Model): +class K8SSecurity(_Model): """The kubernetes security information. :ivar admin_login_secret: Admin login secret key. @@ -3144,10 +3144,10 @@ class K8sSecurity(_Model): :ivar service_certificate_secret: Service certificate secret used. :vartype service_certificate_secret: str :ivar active_directory: The kubernetes active directory information. - :vartype active_directory: ~azure.mgmt.azurearcdata.models.K8sActiveDirectory + :vartype active_directory: ~azure.mgmt.azurearcdata.models.K8SActiveDirectory :ivar transparent_data_encryption: Transparent data encryption information. :vartype transparent_data_encryption: - ~azure.mgmt.azurearcdata.models.K8stransparentDataEncryption + ~azure.mgmt.azurearcdata.models.K8STransparentDataEncryption """ admin_login_secret: Optional[str] = rest_field( @@ -3158,11 +3158,11 @@ class K8sSecurity(_Model): name="serviceCertificateSecret", visibility=["read", "create", "update", "delete", "query"] ) """Service certificate secret used.""" - active_directory: Optional["_models.K8sActiveDirectory"] = rest_field( + active_directory: Optional["_models.K8SActiveDirectory"] = rest_field( name="activeDirectory", visibility=["read", "create", "update", "delete", "query"] ) """The kubernetes active directory information.""" - transparent_data_encryption: Optional["_models.K8stransparentDataEncryption"] = rest_field( + transparent_data_encryption: Optional["_models.K8STransparentDataEncryption"] = rest_field( name="transparentDataEncryption", visibility=["read", "create", "update", "delete", "query"] ) """Transparent data encryption information.""" @@ -3173,8 +3173,8 @@ def __init__( *, admin_login_secret: Optional[str] = None, service_certificate_secret: Optional[str] = None, - active_directory: Optional["_models.K8sActiveDirectory"] = None, - transparent_data_encryption: Optional["_models.K8stransparentDataEncryption"] = None, + active_directory: Optional["_models.K8SActiveDirectory"] = None, + transparent_data_encryption: Optional["_models.K8STransparentDataEncryption"] = None, ) -> None: ... @overload @@ -3188,14 +3188,14 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class K8sSettings(_Model): +class K8SSettings(_Model): """The kubernetes settings information. :ivar network: The kubernetes network settings information. - :vartype network: ~azure.mgmt.azurearcdata.models.K8sNetworkSettings + :vartype network: ~azure.mgmt.azurearcdata.models.K8SNetworkSettings """ - network: Optional["_models.K8sNetworkSettings"] = rest_field( + network: Optional["_models.K8SNetworkSettings"] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) """The kubernetes network settings information.""" @@ -3204,7 +3204,7 @@ class K8sSettings(_Model): def __init__( self, *, - network: Optional["_models.K8sNetworkSettings"] = None, + network: Optional["_models.K8SNetworkSettings"] = None, ) -> None: ... @overload @@ -3218,7 +3218,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class K8stransparentDataEncryption(_Model): +class K8STransparentDataEncryption(_Model): """Transparent data encryption information. :ivar mode: Transparent data encryption mode. Can be Service Managed, Customer managed or @@ -3703,7 +3703,7 @@ class Operation(_Model): :ivar origin: The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system". Known values are: "user", "system", and "user,system". - :vartype origin: str or ~azure.mgmt.azurearcdata.models.Origin + :vartype origin: str or ~azure.mgmt.azurearcdata.models.OperationOrigin :ivar action_type: Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. "Internal" :vartype action_type: str or ~azure.mgmt.azurearcdata.models.ActionType @@ -3720,7 +3720,7 @@ class Operation(_Model): visibility=["read", "create", "update", "delete", "query"] ) """Localized display information for this particular operation.""" - origin: Optional[Union[str, "_models.Origin"]] = rest_field(visibility=["read"]) + origin: Optional[Union[str, "_models.OperationOrigin"]] = rest_field(visibility=["read"]) """The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\". Known values are: \"user\", \"system\", and \"user,system\".""" @@ -5409,14 +5409,14 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SqlManagedInstanceK8sRaw(_Model): +class SqlManagedInstanceK8SRaw(_Model): """The raw kubernetes information. :ivar spec: The kubernetes spec information. - :vartype spec: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8sSpec + :vartype spec: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SSpec """ - spec: Optional["_models.SqlManagedInstanceK8sSpec"] = rest_field( + spec: Optional["_models.SqlManagedInstanceK8SSpec"] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) """The kubernetes spec information.""" @@ -5425,7 +5425,7 @@ class SqlManagedInstanceK8sRaw(_Model): def __init__( self, *, - spec: Optional["_models.SqlManagedInstanceK8sSpec"] = None, + spec: Optional["_models.SqlManagedInstanceK8SSpec"] = None, ) -> None: ... @overload @@ -5439,23 +5439,23 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SqlManagedInstanceK8sSpec(_Model): +class SqlManagedInstanceK8SSpec(_Model): """The kubernetes spec information. :ivar scheduling: The kubernetes scheduling information. - :vartype scheduling: ~azure.mgmt.azurearcdata.models.K8sScheduling + :vartype scheduling: ~azure.mgmt.azurearcdata.models.K8SScheduling :ivar replicas: This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'. :vartype replicas: int :ivar security: The kubernetes security information. - :vartype security: ~azure.mgmt.azurearcdata.models.K8sSecurity + :vartype security: ~azure.mgmt.azurearcdata.models.K8SSecurity :ivar settings: The kubernetes settings information. - :vartype settings: ~azure.mgmt.azurearcdata.models.K8sSettings + :vartype settings: ~azure.mgmt.azurearcdata.models.K8SSettings """ - scheduling: Optional["_models.K8sScheduling"] = rest_field( + scheduling: Optional["_models.K8SScheduling"] = rest_field( visibility=["read", "create", "update", "delete", "query"] ) """The kubernetes scheduling information.""" @@ -5463,19 +5463,19 @@ class SqlManagedInstanceK8sSpec(_Model): """This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'.""" - security: Optional["_models.K8sSecurity"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + security: Optional["_models.K8SSecurity"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) """The kubernetes security information.""" - settings: Optional["_models.K8sSettings"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + settings: Optional["_models.K8SSettings"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) """The kubernetes settings information.""" @overload def __init__( self, *, - scheduling: Optional["_models.K8sScheduling"] = None, + scheduling: Optional["_models.K8SScheduling"] = None, replicas: Optional[int] = None, - security: Optional["_models.K8sSecurity"] = None, - settings: Optional["_models.K8sSettings"] = None, + security: Optional["_models.K8SSecurity"] = None, + settings: Optional["_models.K8SSettings"] = None, ) -> None: ... @overload @@ -5501,7 +5501,7 @@ class SqlManagedInstanceProperties(_Model): :ivar end_time: The instance end time. :vartype end_time: str :ivar k8_s_raw: The raw kubernetes information. - :vartype k8_s_raw: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8sRaw + :vartype k8_s_raw: ~azure.mgmt.azurearcdata.models.SqlManagedInstanceK8SRaw :ivar basic_login_information: Username and password for basic authentication. :vartype basic_login_information: ~azure.mgmt.azurearcdata.models.BasicLoginInformation :ivar last_uploaded_date: Last uploaded date from Kubernetes cluster. Defaults to current date @@ -5535,7 +5535,7 @@ class SqlManagedInstanceProperties(_Model): """The instance start time.""" end_time: Optional[str] = rest_field(name="endTime", visibility=["read", "create", "update", "delete", "query"]) """The instance end time.""" - k8_s_raw: Optional["_models.SqlManagedInstanceK8sRaw"] = rest_field( + k8_s_raw: Optional["_models.SqlManagedInstanceK8SRaw"] = rest_field( name="k8sRaw", visibility=["read", "create", "update", "delete", "query"] ) """The raw kubernetes information.""" @@ -5575,7 +5575,7 @@ def __init__( admin: Optional[str] = None, start_time: Optional[str] = None, end_time: Optional[str] = None, - k8_s_raw: Optional["_models.SqlManagedInstanceK8sRaw"] = None, + k8_s_raw: Optional["_models.SqlManagedInstanceK8SRaw"] = None, basic_login_information: Optional["_models.BasicLoginInformation"] = None, last_uploaded_date: Optional[datetime.datetime] = None, active_directory_information: Optional["_models.ActiveDirectoryInformation"] = None, diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py index d88e7c7ce631..7e6fbefb8738 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py @@ -34,7 +34,7 @@ from azure.mgmt.core.polling.arm_polling import ARMPolling from .. import models as _models -from .._configuration import AzureArcDataClientConfiguration +from .._configuration import AzureArcDataManagementClientConfiguration from .._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from .._utils.serialization import Deserializer, Serializer @@ -2383,14 +2383,16 @@ class Operations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`operations` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -2490,14 +2492,16 @@ class SqlManagedInstancesOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`sql_managed_instances` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -3295,14 +3299,16 @@ class SqlServerInstancesOperations: # pylint: disable=too-many-public-methods **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`sql_server_instances` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -7034,14 +7040,16 @@ class SqlServerLicensesOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`sql_server_licenses` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -7709,14 +7717,16 @@ class PostgresInstancesOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`postgres_instances` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -8507,14 +8517,16 @@ class SqlServerEsuLicensesOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`sql_server_esu_licenses` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -9188,14 +9200,16 @@ class FailoverGroupsOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`failover_groups` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -9758,14 +9772,16 @@ class SqlServerAvailabilityGroupsOperations: # pylint: disable=too-many-public- **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`sql_server_availability_groups` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -12301,14 +12317,16 @@ class DataControllersOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`data_controllers` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -13173,14 +13191,16 @@ class ActiveDirectoryConnectorsOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`active_directory_connectors` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @@ -13756,14 +13776,16 @@ class SqlServerDatabasesOperations: **DO NOT** instantiate this class directly. Instead, you should access the following operations through - :class:`~azure.mgmt.azurearcdata.AzureArcDataClient`'s + :class:`~azure.mgmt.azurearcdata.AzureArcDataManagementClient`'s :attr:`sql_server_databases` attribute. """ def __init__(self, *args, **kwargs) -> None: input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: AzureArcDataClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._config: AzureArcDataManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json index 5ac0b32cea16..c6ed45141d27 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json @@ -1,7 +1,7 @@ { "azure.mgmt.azurearcdata": { "class_nodes": { - "AzureArcDataClient": { + "AzureArcDataManagementClient": { "type": null, "methods": { "__init__": { @@ -14505,10 +14505,10 @@ "ADS": "ADS", "AZURE_ARC": "AZURE_ARC", "AZURE_MIGRATE": "AZURE_MIGRATE", - "DMSCLI": "DMSCLI", - "DMSPS": "DMSPS", - "DMSSDK": "DMSSDK", + "DMS_CLI": "DMS_CLI", "DMS_PORTAL": "DMS_PORTAL", + "DMS_PS": "DMS_PS", + "DMS_SDK": "DMS_SDK", "IMPORT": "IMPORT", "OTHER": "OTHER", "SSMA": "SSMA", @@ -15465,7 +15465,7 @@ "methods": {}, "properties": { "NONE": "NONE", - "PERDB": "PERDB", + "PER_DB": "PER_DB", "capitalize": "capitalize", "casefold": "casefold", "center": "center", @@ -15582,14 +15582,14 @@ "methods": {}, "properties": { "AES": "AES", - "AESRC4": "AESRC4", + "AES_RC4": "AES_RC4", "NONE": "NONE", "NONE_AES": "NONE_AES", - "NONE_AESRC4": "NONE_AESRC4", + "NONE_AES_RC4": "NONE_AES_RC4", "NONE_RC4": "NONE_RC4", "NONE_RC4_AES": "NONE_RC4_AES", "RC4": "RC4", - "RC4AES": "RC4AES", + "RC4_AES": "RC4_AES", "capitalize": "capitalize", "casefold": "casefold", "center": "center", @@ -18033,16 +18033,16 @@ "type": "Enum", "methods": {}, "properties": { - "AWSVM_WARE_VIRTUAL_MACHINE": "AWSVM_WARE_VIRTUAL_MACHINE", "AWS_KUBERNETES_SERVICE": "AWS_KUBERNETES_SERVICE", "AWS_VIRTUAL_MACHINE": "AWS_VIRTUAL_MACHINE", + "AWS_VM_WARE_VIRTUAL_MACHINE": "AWS_VM_WARE_VIRTUAL_MACHINE", "AZURE_KUBERNETES_SERVICE": "AZURE_KUBERNETES_SERVICE", "AZURE_VIRTUAL_MACHINE": "AZURE_VIRTUAL_MACHINE", "AZURE_VM_WARE_VIRTUAL_MACHINE": "AZURE_VM_WARE_VIRTUAL_MACHINE", "CONTAINER": "CONTAINER", - "GCPVM_WARE_VIRTUAL_MACHINE": "GCPVM_WARE_VIRTUAL_MACHINE", "GCP_KUBERNETES_SERVICE": "GCP_KUBERNETES_SERVICE", "GCP_VIRTUAL_MACHINE": "GCP_VIRTUAL_MACHINE", + "GCP_VM_WARE_VIRTUAL_MACHINE": "GCP_VM_WARE_VIRTUAL_MACHINE", "HYPER_V_VIRTUAL_MACHINE": "HYPER_V_VIRTUAL_MACHINE", "OTHER": "OTHER", "PHYSICAL_SERVER": "PHYSICAL_SERVER", @@ -18606,10 +18606,10 @@ "properties": { "ADS": "ADS", "AZURE_ARC": "AZURE_ARC", - "DMSCLI": "DMSCLI", - "DMSPS": "DMSPS", - "DMSSDK": "DMSSDK", + "DMS_CLI": "DMS_CLI", "DMS_PORTAL": "DMS_PORTAL", + "DMS_PS": "DMS_PS", + "DMS_SDK": "DMS_SDK", "OTHER": "OTHER", "SSMA": "SSMA", "SSMS": "SSMS", @@ -18776,7 +18776,7 @@ "zfill": "zfill" } }, - "K8sActiveDirectory": { + "K8SActiveDirectory": { "type": null, "methods": { "__init__": { @@ -18804,7 +18804,7 @@ "param_type": "positional_or_keyword" }, "connector": { - "type": "Optional[_models.K8sActiveDirectoryConnector]", + "type": "Optional[_models.K8SActiveDirectoryConnector]", "default": null, "param_type": "keyword_only" }, @@ -18999,7 +18999,7 @@ "encryption_types": "Optional" } }, - "K8sActiveDirectoryConnector": { + "K8SActiveDirectoryConnector": { "type": null, "methods": { "__init__": { @@ -19210,7 +19210,7 @@ "namespace": "Optional" } }, - "K8sNetworkSettings": { + "K8SNetworkSettings": { "type": null, "methods": { "__init__": { @@ -19427,7 +19427,7 @@ "tlsprotocols": "Optional" } }, - "K8sResourceRequirements": { + "K8SResourceRequirements": { "type": null, "methods": { "__init__": { @@ -19638,7 +19638,7 @@ "limits": "Optional" } }, - "K8sScheduling": { + "K8SScheduling": { "type": null, "methods": { "__init__": { @@ -19666,7 +19666,7 @@ "param_type": "positional_or_keyword" }, "default": { - "type": "Optional[_models.K8sSchedulingOptions]", + "type": "Optional[_models.K8SSchedulingOptions]", "default": null, "param_type": "keyword_only" } @@ -19843,7 +19843,7 @@ "default": "Optional" } }, - "K8sSchedulingOptions": { + "K8SSchedulingOptions": { "type": null, "methods": { "__init__": { @@ -19871,7 +19871,7 @@ "param_type": "positional_or_keyword" }, "resources": { - "type": "Optional[_models.K8sResourceRequirements]", + "type": "Optional[_models.K8SResourceRequirements]", "default": null, "param_type": "keyword_only" } @@ -20048,7 +20048,7 @@ "resources": "Optional" } }, - "K8sSecurity": { + "K8SSecurity": { "type": null, "methods": { "__init__": { @@ -20086,12 +20086,12 @@ "param_type": "keyword_only" }, "active_directory": { - "type": "Optional[_models.K8sActiveDirectory]", + "type": "Optional[_models.K8SActiveDirectory]", "default": null, "param_type": "keyword_only" }, "transparent_data_encryption": { - "type": "Optional[_models.K8stransparentDataEncryption]", + "type": "Optional[_models.K8STransparentDataEncryption]", "default": null, "param_type": "keyword_only" } @@ -20271,7 +20271,7 @@ "transparent_data_encryption": "Optional" } }, - "K8sSettings": { + "K8SSettings": { "type": null, "methods": { "__init__": { @@ -20299,7 +20299,7 @@ "param_type": "positional_or_keyword" }, "network": { - "type": "Optional[_models.K8sNetworkSettings]", + "type": "Optional[_models.K8SNetworkSettings]", "default": null, "param_type": "keyword_only" } @@ -20476,7 +20476,7 @@ "network": "Optional" } }, - "K8stransparentDataEncryption": { + "K8STransparentDataEncryption": { "type": null, "methods": { "__init__": { @@ -23373,7 +23373,7 @@ "description": "Optional" } }, - "Origin": { + "OperationOrigin": { "type": "Enum", "methods": {}, "properties": { @@ -31191,7 +31191,7 @@ "system_data": "Optional" } }, - "SqlManagedInstanceK8sRaw": { + "SqlManagedInstanceK8SRaw": { "type": null, "methods": { "__init__": { @@ -31219,7 +31219,7 @@ "param_type": "positional_or_keyword" }, "spec": { - "type": "Optional[_models.SqlManagedInstanceK8sSpec]", + "type": "Optional[_models.SqlManagedInstanceK8SSpec]", "default": null, "param_type": "keyword_only" } @@ -31396,7 +31396,7 @@ "spec": "Optional" } }, - "SqlManagedInstanceK8sSpec": { + "SqlManagedInstanceK8SSpec": { "type": null, "methods": { "__init__": { @@ -31424,7 +31424,7 @@ "param_type": "positional_or_keyword" }, "scheduling": { - "type": "Optional[_models.K8sScheduling]", + "type": "Optional[_models.K8SScheduling]", "default": null, "param_type": "keyword_only" }, @@ -31434,12 +31434,12 @@ "param_type": "keyword_only" }, "security": { - "type": "Optional[_models.K8sSecurity]", + "type": "Optional[_models.K8SSecurity]", "default": null, "param_type": "keyword_only" }, "settings": { - "type": "Optional[_models.K8sSettings]", + "type": "Optional[_models.K8SSettings]", "default": null, "param_type": "keyword_only" } @@ -31667,7 +31667,7 @@ "param_type": "keyword_only" }, "k8_s_raw": { - "type": "Optional[_models.SqlManagedInstanceK8sRaw]", + "type": "Optional[_models.SqlManagedInstanceK8SRaw]", "default": null, "param_type": "keyword_only" }, @@ -44242,7 +44242,7 @@ }, "azure.mgmt.azurearcdata.aio": { "class_nodes": { - "AzureArcDataClient": { + "AzureArcDataManagementClient": { "type": null, "methods": { "__init__": { diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py index cfd31fe6cacc..74706a1ebfb1 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/add_databases_to_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py index 06dd5861bbc7..355e582e185f 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_active_directory_connector.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py index 85eca790ed34..36f83e51b40f 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py index b7c355176a51..d523ce441b02 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_arc_sql_server_database.py @@ -9,7 +9,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -26,7 +26,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py index f266817af6ab..6c155451dca5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_data_controller.py @@ -9,7 +9,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -26,7 +26,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py index 38312bae72fb..4b78c9e6c809 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_failover_group.py @@ -9,7 +9,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -26,7 +26,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py index eb177186098a..307d94bfadec 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_managed_instance_link.py @@ -9,7 +9,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -26,7 +26,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py index 3542be9d0e6b..480526858bdc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_postgres_instance.py @@ -9,7 +9,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -26,7 +26,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py index 84ce08ee3f57..947a30e6e8a7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_managed_instance.py @@ -9,7 +9,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -26,7 +26,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py index c4ea1554671c..2aadc992a5b2 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_esu_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py index 0b40698dfdd5..f6b05360b8d6 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py index 89f17443f942..ddbbafed0816 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_or_update_sql_server_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py index a26c7db2eef8..9e0ece84d122 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_availability_group.py @@ -9,7 +9,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -26,7 +26,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py index 73aa4bca150f..e0c19b1f5c8a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/create_sql_server_distributed_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py index a4a4817cad46..0ff254052cbd 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_active_directory_connector.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py index 6e67fe57cea3..e2d3b950ab22 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py index 6176841891e3..66e936f17fb8 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_arc_sql_server_database.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py index 52a2b61338f8..52792637b53b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_data_controller.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py index 0ff8da4dccb6..f2d03b8729e7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_failover_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py index b13a8dc9fae1..a3d22318fe5d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_mi_link.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py index 95e3da46c640..d183a55a93f7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_postgres_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py index f3239f9690de..fbb8152b06c4 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_managed_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py index d2fc83e7d3ac..a1a2c33a61b4 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_esu_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py index f42754ef1e83..acfd8705f0ca 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py index 3da8f02cd137..73e978ad78ee 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/delete_sql_server_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py index 3beac9c69cbd..9ba641343dcc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_arc_sql_server_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py index 6528a33cbb25..363e36648c6a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/failover_mi_link.py @@ -9,7 +9,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -26,7 +26,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py index fd5a28d85d43..e6bb1e8c8b58 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/filtered_list_by_sql_server_instance_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py index 74640089fd31..d52fcc5aac31 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/force_failover_arc_sql_server_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py index 699f90d0ed66..b925bab7623d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_active_directory_connector.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py index ca58d8d105f3..5c0045afd628 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py index 272133b7b869..157578fa3555 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_arc_sql_server_database.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py index 7f586a87e2ed..dc8e70f5a63d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_data_controller.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py index b79efc00ee72..efc0af88ceb5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_failover_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py index 3fe8d02af598..11ea79a1352b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_postgres_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py index 839d67770cb1..3efddddb301f 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_managed_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py index 50b3bb907b70..9b1c1b1cbc4a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_esu_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py index 6a638bbd9d9d..84fdb8862ae1 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py index 07b4e95da8a1..897a17b23cd1 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_bpa.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py index cf795ed4ce1f..9ff6249b832a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py index f19e92e58262..41750271e12e 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_jobs_status.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py index 1ab51602bba2..1ca044d8d9bb 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_migration_readiness_report.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py index fb3c10ec85b5..243054dde1bc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py index 5dc8b7340cd5..d9d597c188dc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_last_page.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py index e3e6b8815835..d49ff59c49d9 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_target_recommendation_reports_with_filters.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py index 7da78fe483c6..fa89fbfc6a55 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_instance_telemetry.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py index 0e3d3ce56bed..6de6287445de 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/get_sql_server_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py index ddbe90723a54..ef3c0bbdee4e 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_data_controller_active_directory_connector.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py index a5c72a7260cd..812f5235b96b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_data_controller.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py index 0bfbf6a23479..e235df37a320 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_postgres_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py index 954bde13e228..b9aafc327001 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_managed_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py index 7768b202c998..83921f5081b0 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_esu_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py index 77000a89df58..4046cfb73133 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py index ee63d8398ff3..c5a642c3d88b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_resource_group_sql_server_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py index 1a9e260a341d..9f003d32dada 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_managed_instance_failover_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py index 9156ab4167f7..0cd10c3ddbe3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py index bb6512e93ab1..67231a92f98d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_by_sql_server_instance_database.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py index e172e330d37a..99ebd63490db 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_operation.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py index e17cdf459695..b91667bd27b3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_data_controller.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py index 3e0d224f7f08..c3833429cf5a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_postgres_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py index 21aa8db1cff0..28aad60a3796 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_managed_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py index 4f00ac4b15c3..13e09e53f700 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_esu_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py index ddf5d6560462..36d8e4446dd5 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py index 838f8536c028..accb45c4a4cf 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/list_subscription_sql_server_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py index b5088868480b..77be3b31d825 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/post_upgrade_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py index d76af7f349d2..40a2465558fb 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/pre_upgrade_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py index 8bdaf3487b81..43418f73b06d 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/remove_databases_from_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py index 8b39b39f1432..8f70951b6162 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practice_assessment_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py index 1da45ea211ef..3c3b1fe354ec 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_best_practices_assessment_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py index 442d5888a261..e9265c0ee912 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_managed_instance_link_assessment.py @@ -9,7 +9,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -26,7 +26,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py index d685a70b1a4b..13660468b9b7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_assessment_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py index a8e0b3333ff3..9d6e0ad393fd 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_migration_readiness_assessment_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py index 187140366506..65db6cbdaf74 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/run_target_recommendation_job_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py index 795331ebbb58..f459ebc27749 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_arc_sql_server_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py index 38a08409d543..92bd20a8a271 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_data_controller.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py index d9c32fdc1b0d..d79ae4449fdb 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_postgres_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py index 1c738614deab..4b26d9dac76e 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_managed_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py index a2bc01d7d20c..de4b767a1a0b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_database.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py index 6d523ec78b89..6492d91c0d70 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_esu_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py index 2720a0f5c9c7..dd1645d4a4bc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_instance.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py index d5fa8b89e039..dc45999cf490 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/update_sql_server_license.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py index 4fbe9988aead..ebb3784427cd 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_samples/view_arc_sql_server_availability_group.py @@ -8,7 +8,7 @@ from azure.identity import DefaultAzureCredential -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient """ # PREREQUISITES @@ -25,7 +25,7 @@ def main(): - client = AzureArcDataClient( + client = AzureArcDataManagementClient( credential=DefaultAzureCredential(), subscription_id="SUBSCRIPTION_ID", ) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py index 1b7f2ed547a3..d87be4c124d7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/conftest.py @@ -21,14 +21,20 @@ # For security, please avoid record sensitive identity information in recordings @pytest.fixture(scope="session", autouse=True) def add_sanitizers(test_proxy): - azurearcdata_subscription_id = os.environ.get("AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000") - azurearcdata_tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000") - azurearcdata_client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000") - azurearcdata_client_secret = os.environ.get("AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000") - add_general_regex_sanitizer(regex=azurearcdata_subscription_id, value="00000000-0000-0000-0000-000000000000") - add_general_regex_sanitizer(regex=azurearcdata_tenant_id, value="00000000-0000-0000-0000-000000000000") - add_general_regex_sanitizer(regex=azurearcdata_client_id, value="00000000-0000-0000-0000-000000000000") - add_general_regex_sanitizer(regex=azurearcdata_client_secret, value="00000000-0000-0000-0000-000000000000") + azurearcdatamanagement_subscription_id = os.environ.get( + "AZURE_SUBSCRIPTION_ID", "00000000-0000-0000-0000-000000000000" + ) + azurearcdatamanagement_tenant_id = os.environ.get("AZURE_TENANT_ID", "00000000-0000-0000-0000-000000000000") + azurearcdatamanagement_client_id = os.environ.get("AZURE_CLIENT_ID", "00000000-0000-0000-0000-000000000000") + azurearcdatamanagement_client_secret = os.environ.get("AZURE_CLIENT_SECRET", "00000000-0000-0000-0000-000000000000") + add_general_regex_sanitizer( + regex=azurearcdatamanagement_subscription_id, value="00000000-0000-0000-0000-000000000000" + ) + add_general_regex_sanitizer(regex=azurearcdatamanagement_tenant_id, value="00000000-0000-0000-0000-000000000000") + add_general_regex_sanitizer(regex=azurearcdatamanagement_client_id, value="00000000-0000-0000-0000-000000000000") + add_general_regex_sanitizer( + regex=azurearcdatamanagement_client_secret, value="00000000-0000-0000-0000-000000000000" + ) add_header_regex_sanitizer(key="Set-Cookie", value="[set-cookie;]") add_header_regex_sanitizer(key="Cookie", value="cookie;") diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations.py similarity index 94% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations.py index b19e57f1ac80..b2a49ae6bb9e 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataActiveDirectoryConnectorsOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementActiveDirectoryConnectorsOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations_async.py similarity index 94% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations_async.py index 05edf5823334..bc44597fe38b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_active_directory_connectors_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_active_directory_connectors_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataActiveDirectoryConnectorsOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementActiveDirectoryConnectorsOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations.py similarity index 96% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations.py index f7e1e427cf6a..71e79a27395a 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataDataControllersOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementDataControllersOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations_async.py similarity index 96% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations_async.py index b7594703932e..40495f18a9ce 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_data_controllers_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_data_controllers_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataDataControllersOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementDataControllersOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations.py similarity index 94% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations.py index cd894890c20b..75db8aaff68b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataFailoverGroupsOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementFailoverGroupsOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations_async.py similarity index 94% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations_async.py index d4c7d0331c80..051674e47138 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_failover_groups_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_failover_groups_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataFailoverGroupsOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementFailoverGroupsOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations.py similarity index 83% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations.py index 623e56f2c9e2..17d26913ef60 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations_async.py similarity index 82% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations_async.py index 169a613993d5..23b374cdcaa8 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations.py similarity index 95% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations.py index 839402a318e5..caf60df507f6 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataPostgresInstancesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementPostgresInstancesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations_async.py similarity index 95% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations_async.py index 88214453595c..4fdd88dcd445 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_postgres_instances_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_postgres_instances_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataPostgresInstancesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementPostgresInstancesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations.py similarity index 96% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations.py index 34e863fd87d6..bea036f18527 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlManagedInstancesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlManagedInstancesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations_async.py similarity index 96% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations_async.py index 3a9016b64829..ba1fda9499ac 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_managed_instances_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_managed_instances_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlManagedInstancesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlManagedInstancesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations.py similarity index 99% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations.py index 659865b6ba1d..30aa65e75c38 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlServerAvailabilityGroupsOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlServerAvailabilityGroupsOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations_async.py similarity index 98% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations_async.py index c5c0f5a6d060..05735700ddf6 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_availability_groups_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_availability_groups_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlServerAvailabilityGroupsOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlServerAvailabilityGroupsOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations.py similarity index 99% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations.py index 60ceb2ddc262..feab1793e7dc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlServerDatabasesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlServerDatabasesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations_async.py similarity index 98% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations_async.py index 5d369f931219..60be4c49f543 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_databases_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_databases_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlServerDatabasesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlServerDatabasesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations.py similarity index 95% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations.py index 4cacba91359a..daea0641f4d7 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlServerEsuLicensesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlServerEsuLicensesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py similarity index 94% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py index 208a9535d3b8..82d06c773394 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_esu_licenses_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_esu_licenses_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlServerEsuLicensesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlServerEsuLicensesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations.py similarity index 99% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations.py index 798ffa720e73..0f340226d7aa 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlServerInstancesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlServerInstancesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations_async.py similarity index 99% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations_async.py index 3b60195d1e2f..85a107e4a52b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_instances_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_instances_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlServerInstancesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlServerInstancesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations.py similarity index 95% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations.py index b1d77a2b48d4..2b37a2bfc3cf 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata import AzureArcDataClient +from azure.mgmt.azurearcdata import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy @@ -14,9 +14,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlServerLicensesOperations(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlServerLicensesOperations(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient) + self.client = self.create_mgmt_client(AzureArcDataManagementClient) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations_async.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations_async.py similarity index 94% rename from sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations_async.py rename to sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations_async.py index c9b9247728b6..c2922319633b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_sql_server_licenses_operations_async.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/generated_tests/test_azure_arc_data_management_sql_server_licenses_operations_async.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- import pytest -from azure.mgmt.azurearcdata.aio import AzureArcDataClient +from azure.mgmt.azurearcdata.aio import AzureArcDataManagementClient from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer from devtools_testutils.aio import recorded_by_proxy_async @@ -15,9 +15,9 @@ @pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestAzureArcDataSqlServerLicensesOperationsAsync(AzureMgmtRecordedTestCase): +class TestAzureArcDataManagementSqlServerLicensesOperationsAsync(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client(AzureArcDataClient, is_async=True) + self.client = self.create_mgmt_client(AzureArcDataManagementClient, is_async=True) @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml b/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml index 9a8dee1256d0..ffc8b0b71fbc 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/azurearcdata/AzureArcData.Management -commit: 6fd6a95eedff621147c1c8f996e50f02f16927c5 +commit: fb3a858370c8bb49306f311bfc47669dfd02e95c repo: Azure/azure-rest-api-specs additionalDirectories: From bd8659c2d0cdb0a3b514763fb57814b54c2199a3 Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 Date: Wed, 1 Apr 2026 13:42:53 +0800 Subject: [PATCH 6/8] changelog from report comparison --- .../azure-mgmt-azurearcdata/CHANGELOG.md | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md index db68876cbb50..59b38e3e62f3 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md @@ -2,7 +2,26 @@ ## 2.0.0b2 (2026-04-01) -skip changelog generation +### Features Added + + - Client `AzureArcDataManagementClient` added method `send_request` + - Model `Operation` added property `action_type` + - Enum `OperationOrigin` added member `USER_SYSTEM` + - Model `SqlManagedInstanceSku` added property `name` + - Added enum `ActionType` + - Added model `K8STransparentDataEncryption` + +### Breaking Changes + + - Model `Databases` deleted or renamed its instance variable `values` + - Model `Operation` deleted or renamed its instance variable `properties` + - Deleted or renamed model `K8StransparentDataEncryption` + - Deleted or renamed model `PageOfDataControllerResource` + - Deleted or renamed model `ResourceAutoGenerated` + - Deleted or renamed model `SqlAvailabilityGroupDhcpListenerProperties` + - Deleted or renamed model `SqlServerInstanceBpaResponse` + - Deleted or renamed model `SqlServerInstanceTelemetryResponse` + - Deleted or renamed model `TrackedResourceAutoGenerated` ## 2.0.0b1 (2022-11-18) From b0386d5975882cce8fe3b66e90154e19f973e33f Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 Date: Wed, 1 Apr 2026 17:26:14 +0800 Subject: [PATCH 7/8] generated from typespec:daba69c05565bf658da065123a2921fa43946bc4 --- .../azure-mgmt-azurearcdata/CHANGELOG.md | 21 +-- .../azure-mgmt-azurearcdata/_metadata.json | 2 +- .../apiview-properties.json | 13 +- .../azure/mgmt/azurearcdata/_patch.py | 1 - .../mgmt/azurearcdata/_utils/model_base.py | 1 - .../mgmt/azurearcdata/_utils/serialization.py | 1 - .../azure/mgmt/azurearcdata/aio/_patch.py | 1 - .../aio/operations/_operations.py | 2 +- .../azurearcdata/aio/operations/_patch.py | 1 - .../mgmt/azurearcdata/models/__init__.py | 6 +- .../azure/mgmt/azurearcdata/models/_enums.py | 19 +-- .../azure/mgmt/azurearcdata/models/_models.py | 116 +++++++-------- .../azure/mgmt/azurearcdata/models/_patch.py | 1 - .../azurearcdata/operations/_operations.py | 2 +- .../mgmt/azurearcdata/operations/_patch.py | 1 - .../code_report_typespec.json | 137 +++++++++--------- .../azure-mgmt-azurearcdata/tsp-location.yaml | 2 +- 17 files changed, 145 insertions(+), 182 deletions(-) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md index 59b38e3e62f3..db68876cbb50 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md @@ -2,26 +2,7 @@ ## 2.0.0b2 (2026-04-01) -### Features Added - - - Client `AzureArcDataManagementClient` added method `send_request` - - Model `Operation` added property `action_type` - - Enum `OperationOrigin` added member `USER_SYSTEM` - - Model `SqlManagedInstanceSku` added property `name` - - Added enum `ActionType` - - Added model `K8STransparentDataEncryption` - -### Breaking Changes - - - Model `Databases` deleted or renamed its instance variable `values` - - Model `Operation` deleted or renamed its instance variable `properties` - - Deleted or renamed model `K8StransparentDataEncryption` - - Deleted or renamed model `PageOfDataControllerResource` - - Deleted or renamed model `ResourceAutoGenerated` - - Deleted or renamed model `SqlAvailabilityGroupDhcpListenerProperties` - - Deleted or renamed model `SqlServerInstanceBpaResponse` - - Deleted or renamed model `SqlServerInstanceTelemetryResponse` - - Deleted or renamed model `TrackedResourceAutoGenerated` +skip changelog generation ## 2.0.0b1 (2022-11-18) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json index 73344b68515a..2ccf28065541 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/_metadata.json @@ -3,7 +3,7 @@ "apiVersions": { "Microsoft.AzureArcData": "2026-03-01-preview" }, - "commit": "fb3a858370c8bb49306f311bfc47669dfd02e95c", + "commit": "daba69c05565bf658da065123a2921fa43946bc4", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "typespec_src": "specification/azurearcdata/AzureArcData.Management", "emitterVersion": "0.61.2" diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json index e8cc73e3eae5..83eb130c5d3c 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/apiview-properties.json @@ -64,7 +64,7 @@ "azure.mgmt.azurearcdata.models.K8SSchedulingOptions": "Microsoft.AzureArcData.K8sSchedulingOptions", "azure.mgmt.azurearcdata.models.K8SSecurity": "Microsoft.AzureArcData.K8sSecurity", "azure.mgmt.azurearcdata.models.K8SSettings": "Microsoft.AzureArcData.K8sSettings", - "azure.mgmt.azurearcdata.models.K8STransparentDataEncryption": "Microsoft.AzureArcData.k8stransparentDataEncryption", + "azure.mgmt.azurearcdata.models.K8StransparentDataEncryption": "Microsoft.AzureArcData.k8stransparentDataEncryption", "azure.mgmt.azurearcdata.models.KeytabInformation": "Microsoft.AzureArcData.KeytabInformation", "azure.mgmt.azurearcdata.models.LogAnalyticsWorkspaceConfig": "Microsoft.AzureArcData.LogAnalyticsWorkspaceConfig", "azure.mgmt.azurearcdata.models.ManagedInstanceLinkCreateUpdateConfiguration": "Microsoft.AzureArcData.ManagedInstanceLinkCreateUpdateConfiguration", @@ -74,8 +74,8 @@ "azure.mgmt.azurearcdata.models.MiLinkCreateUpdateConfiguration": "Microsoft.AzureArcData.MiLinkCreateUpdateConfiguration", "azure.mgmt.azurearcdata.models.Monitoring": "Microsoft.AzureArcData.Monitoring", "azure.mgmt.azurearcdata.models.OnPremiseProperty": "Microsoft.AzureArcData.OnPremiseProperty", - "azure.mgmt.azurearcdata.models.Operation": "Azure.ResourceManager.CommonTypes.Operation", - "azure.mgmt.azurearcdata.models.OperationDisplay": "Azure.ResourceManager.CommonTypes.OperationDisplay", + "azure.mgmt.azurearcdata.models.Operation": "Microsoft.AzureArcData.Operation", + "azure.mgmt.azurearcdata.models.OperationDisplay": "Microsoft.AzureArcData.OperationDisplay", "azure.mgmt.azurearcdata.models.PostgresInstance": "Microsoft.AzureArcData.PostgresInstance", "azure.mgmt.azurearcdata.models.PostgresInstanceProperties": "Microsoft.AzureArcData.PostgresInstanceProperties", "azure.mgmt.azurearcdata.models.PostgresInstanceSku": "Microsoft.AzureArcData.PostgresInstanceSku", @@ -159,8 +159,7 @@ "azure.mgmt.azurearcdata.models.TargetReadiness": "Microsoft.AzureArcData.TargetReadiness", "azure.mgmt.azurearcdata.models.UploadServicePrincipal": "Microsoft.AzureArcData.UploadServicePrincipal", "azure.mgmt.azurearcdata.models.UploadWatermark": "Microsoft.AzureArcData.UploadWatermark", - "azure.mgmt.azurearcdata.models.OperationOrigin": "Azure.ResourceManager.CommonTypes.Origin", - "azure.mgmt.azurearcdata.models.ActionType": "Azure.ResourceManager.CommonTypes.ActionType", + "azure.mgmt.azurearcdata.models.OperationOrigin": "Microsoft.AzureArcData.OperationOrigin", "azure.mgmt.azurearcdata.models.CreatedByType": "Azure.ResourceManager.CommonTypes.createdByType", "azure.mgmt.azurearcdata.models.ArcSqlManagedInstanceLicenseType": "Microsoft.AzureArcData.ArcSqlManagedInstanceLicenseType", "azure.mgmt.azurearcdata.models.ExtendedLocationTypes": "Microsoft.AzureArcData.ExtendedLocationTypes", @@ -226,8 +225,8 @@ "azure.mgmt.azurearcdata.models.InitiatedFrom": "Microsoft.AzureArcData.InitiatedFrom", "azure.mgmt.azurearcdata.models.MigrationStatus": "Microsoft.AzureArcData.MigrationStatus", "azure.mgmt.azurearcdata.models.TargetType": "Microsoft.AzureArcData.TargetType", - "azure.mgmt.azurearcdata.operations.Operations.list": "Azure.ResourceManager.Operations.list", - "azure.mgmt.azurearcdata.aio.operations.Operations.list": "Azure.ResourceManager.Operations.list", + "azure.mgmt.azurearcdata.operations.Operations.list": "Azure.ResourceManager.Legacy.Operations.list", + "azure.mgmt.azurearcdata.aio.operations.Operations.list": "Azure.ResourceManager.Legacy.Operations.list", "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.get": "Microsoft.AzureArcData.SqlManagedInstances.get", "azure.mgmt.azurearcdata.aio.operations.SqlManagedInstancesOperations.get": "Microsoft.AzureArcData.SqlManagedInstances.get", "azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations.begin_create": "Microsoft.AzureArcData.SqlManagedInstances.create", diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_patch.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_patch.py index 837c125a81c5..87676c65a8f0 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_patch.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_patch.py @@ -3,7 +3,6 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------- -from __future__ import annotations """Customize generated code here. Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/model_base.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/model_base.py index 27d247785ab3..a75a22adbb97 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/model_base.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/model_base.py @@ -8,7 +8,6 @@ # -------------------------------------------------------------------------- # pylint: disable=protected-access, broad-except -from __future__ import annotations import copy import calendar import decimal diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py index 88f9e0b809ec..81ec1de5922b 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_utils/serialization.py @@ -9,7 +9,6 @@ # pyright: reportUnnecessaryTypeIgnoreComment=false -from __future__ import annotations from base64 import b64decode, b64encode import calendar import datetime diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_patch.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_patch.py index 837c125a81c5..87676c65a8f0 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_patch.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/_patch.py @@ -3,7 +3,6 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------- -from __future__ import annotations """Customize generated code here. Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py index 3cbf4909438d..d457fee37b26 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_operations.py @@ -1,3 +1,4 @@ +from __future__ import annotations # pylint: disable=line-too-long,useless-suppression,too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- @@ -6,7 +7,6 @@ # Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from __future__ import annotations from collections.abc import MutableMapping from io import IOBase import json diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_patch.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_patch.py index 837c125a81c5..87676c65a8f0 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_patch.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/aio/operations/_patch.py @@ -3,7 +3,6 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------- -from __future__ import annotations """Customize generated code here. Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py index df2472fb6be9..dbb98567b73e 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/__init__.py @@ -74,7 +74,7 @@ K8SSchedulingOptions, K8SSecurity, K8SSettings, - K8STransparentDataEncryption, + K8StransparentDataEncryption, KeytabInformation, LogAnalyticsWorkspaceConfig, ManagedInstanceLinkCreateUpdateConfiguration, @@ -176,7 +176,6 @@ from ._enums import ( # type: ignore AccountProvisioningMode, - ActionType, ActivationState, AggregationType, AlwaysOnRole, @@ -308,7 +307,7 @@ "K8SSchedulingOptions", "K8SSecurity", "K8SSettings", - "K8STransparentDataEncryption", + "K8StransparentDataEncryption", "KeytabInformation", "LogAnalyticsWorkspaceConfig", "ManagedInstanceLinkCreateUpdateConfiguration", @@ -407,7 +406,6 @@ "UploadServicePrincipal", "UploadWatermark", "AccountProvisioningMode", - "ActionType", "ActivationState", "AggregationType", "AlwaysOnRole", diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py index 5ff71af2b6d6..a8ba6c77e9bd 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_enums.py @@ -19,15 +19,6 @@ class AccountProvisioningMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """manual.""" -class ActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal - only APIs. - """ - - INTERNAL = "Internal" - """Actions are for internal-only APIs.""" - - class ActivationState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The activation state of the license.""" @@ -636,16 +627,12 @@ class Mode(str, Enum, metaclass=CaseInsensitiveEnumMeta): class OperationOrigin(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit - logs UX. Default value is "user,system". - """ + """The intended executor of the operation.""" USER = "user" - """Indicates the operation is initiated by a user.""" + """user.""" SYSTEM = "system" - """Indicates the operation is initiated by a system.""" - USER_SYSTEM = "user,system" - """Indicates the operation is initiated by a user or system.""" + """system.""" class PrimaryAllowConnections(str, Enum, metaclass=CaseInsensitiveEnumMeta): diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py index 5d3c6af68ca5..ad4c9aa4d28c 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_models.py @@ -8,7 +8,6 @@ # -------------------------------------------------------------------------- # pylint: disable=useless-super-delegation -from __future__ import annotations import datetime from typing import Any, Literal, Mapping, Optional, TYPE_CHECKING, Union, overload @@ -3147,7 +3146,7 @@ class K8SSecurity(_Model): :vartype active_directory: ~azure.mgmt.azurearcdata.models.K8SActiveDirectory :ivar transparent_data_encryption: Transparent data encryption information. :vartype transparent_data_encryption: - ~azure.mgmt.azurearcdata.models.K8STransparentDataEncryption + ~azure.mgmt.azurearcdata.models.K8StransparentDataEncryption """ admin_login_secret: Optional[str] = rest_field( @@ -3162,7 +3161,7 @@ class K8SSecurity(_Model): name="activeDirectory", visibility=["read", "create", "update", "delete", "query"] ) """The kubernetes active directory information.""" - transparent_data_encryption: Optional["_models.K8STransparentDataEncryption"] = rest_field( + transparent_data_encryption: Optional["_models.K8StransparentDataEncryption"] = rest_field( name="transparentDataEncryption", visibility=["read", "create", "update", "delete", "query"] ) """Transparent data encryption information.""" @@ -3174,7 +3173,7 @@ def __init__( admin_login_secret: Optional[str] = None, service_certificate_secret: Optional[str] = None, active_directory: Optional["_models.K8SActiveDirectory"] = None, - transparent_data_encryption: Optional["_models.K8STransparentDataEncryption"] = None, + transparent_data_encryption: Optional["_models.K8StransparentDataEncryption"] = None, ) -> None: ... @overload @@ -3218,7 +3217,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class K8STransparentDataEncryption(_Model): +class K8StransparentDataEncryption(_Model): """Transparent data encryption information. :ivar mode: Transparent data encryption mode. Can be Service Managed, Customer managed or @@ -3690,49 +3689,39 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: class Operation(_Model): - """REST API Operation. + """Azure Data Services on Azure Arc operation definition. - :ivar name: The name of the operation, as per Resource-Based Access Control (RBAC). Examples: - "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action". + :ivar name: The name of the operation being performed on this particular object. Required. :vartype name: str - :ivar is_data_action: Whether the operation applies to data-plane. This is "true" for - data-plane operations and "false" for Azure Resource Manager/control-plane operations. - :vartype is_data_action: bool - :ivar display: Localized display information for this particular operation. + :ivar display: The localized display information for this particular operation / action. + Required. :vartype display: ~azure.mgmt.azurearcdata.models.OperationDisplay - :ivar origin: The intended executor of the operation; as in Resource Based Access Control - (RBAC) and audit logs UX. Default value is "user,system". Known values are: "user", "system", - and "user,system". + :ivar origin: The intended executor of the operation. Known values are: "user" and "system". :vartype origin: str or ~azure.mgmt.azurearcdata.models.OperationOrigin - :ivar action_type: Extensible enum. Indicates the action type. "Internal" refers to actions - that are for internal only APIs. "Internal" - :vartype action_type: str or ~azure.mgmt.azurearcdata.models.ActionType + :ivar is_data_action: Indicates whether the operation is a data action. Required. + :vartype is_data_action: bool + :ivar properties: Additional descriptions for the operation. + :vartype properties: dict[str, any] """ - name: Optional[str] = rest_field(visibility=["read"]) - """The name of the operation, as per Resource-Based Access Control (RBAC). Examples: - \"Microsoft.Compute/virtualMachines/write\", - \"Microsoft.Compute/virtualMachines/capture/action\".""" - is_data_action: Optional[bool] = rest_field(name="isDataAction", visibility=["read"]) - """Whether the operation applies to data-plane. This is \"true\" for data-plane operations and - \"false\" for Azure Resource Manager/control-plane operations.""" - display: Optional["_models.OperationDisplay"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """Localized display information for this particular operation.""" + name: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The name of the operation being performed on this particular object. Required.""" + display: "_models.OperationDisplay" = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The localized display information for this particular operation / action. Required.""" origin: Optional[Union[str, "_models.OperationOrigin"]] = rest_field(visibility=["read"]) - """The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit - logs UX. Default value is \"user,system\". Known values are: \"user\", \"system\", and - \"user,system\".""" - action_type: Optional[Union[str, "_models.ActionType"]] = rest_field(name="actionType", visibility=["read"]) - """Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for - internal only APIs. \"Internal\"""" + """The intended executor of the operation. Known values are: \"user\" and \"system\".""" + is_data_action: bool = rest_field(name="isDataAction", visibility=["read", "create", "update", "delete", "query"]) + """Indicates whether the operation is a data action. Required.""" + properties: Optional[dict[str, Any]] = rest_field(visibility=["read"]) + """Additional descriptions for the operation.""" @overload def __init__( self, *, - display: Optional["_models.OperationDisplay"] = None, + name: str, + display: "_models.OperationDisplay", + is_data_action: bool, ) -> None: ... @overload @@ -3747,34 +3736,47 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: class OperationDisplay(_Model): - """Localized display information for an operation. + """Display metadata associated with the operation. - :ivar provider: The localized friendly form of the resource provider name, e.g. "Microsoft - Monitoring Insights" or "Microsoft Compute". + :ivar provider: The localized friendly form of the resource provider name. Required. :vartype provider: str - :ivar resource: The localized friendly name of the resource type related to this operation. - E.g. "Virtual Machines" or "Job Schedule Collections". + :ivar resource: The localized friendly form of the resource type related to this + action/operation. Required. :vartype resource: str - :ivar operation: The concise, localized friendly name for the operation; suitable for - dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine". + :ivar operation: The localized friendly name for the operation. Required. :vartype operation: str - :ivar description: The short, localized friendly description of the operation; suitable for - tool tips and detailed views. + :ivar description: The localized friendly description for the operation. Required. :vartype description: str """ - provider: Optional[str] = rest_field(visibility=["read"]) - """The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring - Insights\" or \"Microsoft Compute\".""" - resource: Optional[str] = rest_field(visibility=["read"]) - """The localized friendly name of the resource type related to this operation. E.g. \"Virtual - Machines\" or \"Job Schedule Collections\".""" - operation: Optional[str] = rest_field(visibility=["read"]) - """The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create - or Update Virtual Machine\", \"Restart Virtual Machine\".""" - description: Optional[str] = rest_field(visibility=["read"]) - """The short, localized friendly description of the operation; suitable for tool tips and detailed - views.""" + provider: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The localized friendly form of the resource provider name. Required.""" + resource: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The localized friendly form of the resource type related to this action/operation. Required.""" + operation: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The localized friendly name for the operation. Required.""" + description: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The localized friendly description for the operation. Required.""" + + @overload + def __init__( + self, + *, + provider: str, + resource: str, + operation: str, + description: str, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) class PostgresInstance(TrackedResource): diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_patch.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_patch.py index 837c125a81c5..87676c65a8f0 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_patch.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/models/_patch.py @@ -3,7 +3,6 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------- -from __future__ import annotations """Customize generated code here. Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py index 7e6fbefb8738..9407d4b2e458 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_operations.py @@ -1,3 +1,4 @@ +from __future__ import annotations # pylint: disable=line-too-long,useless-suppression,too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- @@ -6,7 +7,6 @@ # Code generated by Microsoft (R) Python Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from __future__ import annotations from collections.abc import MutableMapping from io import IOBase import json diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_patch.py b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_patch.py index 837c125a81c5..87676c65a8f0 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_patch.py +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/operations/_patch.py @@ -3,7 +3,6 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------- -from __future__ import annotations """Customize generated code here. Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json b/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json index c6ed45141d27..aa8025257663 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/code_report_typespec.json @@ -5470,60 +5470,6 @@ "zfill": "zfill" } }, - "ActionType": { - "type": "Enum", - "methods": {}, - "properties": { - "INTERNAL": "INTERNAL", - "capitalize": "capitalize", - "casefold": "casefold", - "center": "center", - "count": "count", - "encode": "encode", - "endswith": "endswith", - "expandtabs": "expandtabs", - "find": "find", - "format": "format", - "format_map": "format_map", - "index": "index", - "isalnum": "isalnum", - "isalpha": "isalpha", - "isascii": "isascii", - "isdecimal": "isdecimal", - "isdigit": "isdigit", - "isidentifier": "isidentifier", - "islower": "islower", - "isnumeric": "isnumeric", - "isprintable": "isprintable", - "isspace": "isspace", - "istitle": "istitle", - "isupper": "isupper", - "join": "join", - "ljust": "ljust", - "lower": "lower", - "lstrip": "lstrip", - "maketrans": "maketrans", - "partition": "partition", - "removeprefix": "removeprefix", - "removesuffix": "removesuffix", - "replace": "replace", - "rfind": "rfind", - "rindex": "rindex", - "rjust": "rjust", - "rpartition": "rpartition", - "rsplit": "rsplit", - "rstrip": "rstrip", - "split": "split", - "splitlines": "splitlines", - "startswith": "startswith", - "strip": "strip", - "swapcase": "swapcase", - "title": "title", - "translate": "translate", - "upper": "upper", - "zfill": "zfill" - } - }, "ActivationState": { "type": "Enum", "methods": {}, @@ -20091,7 +20037,7 @@ "param_type": "keyword_only" }, "transparent_data_encryption": { - "type": "Optional[_models.K8STransparentDataEncryption]", + "type": "Optional[_models.K8StransparentDataEncryption]", "default": null, "param_type": "keyword_only" } @@ -20476,7 +20422,7 @@ "network": "Optional" } }, - "K8STransparentDataEncryption": { + "K8StransparentDataEncryption": { "type": null, "methods": { "__init__": { @@ -23016,8 +22962,18 @@ "default": null, "param_type": "positional_or_keyword" }, + "name": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, "display": { - "type": "Optional[_models.OperationDisplay]", + "type": "_models.OperationDisplay", + "default": null, + "param_type": "keyword_only" + }, + "is_data_action": { + "type": "bool", "default": null, "param_type": "keyword_only" } @@ -23191,11 +23147,11 @@ } }, "properties": { - "name": "Optional", - "is_data_action": "Optional", - "display": "Optional", + "name": null, + "display": null, "origin": "Optional", - "action_type": "Optional" + "is_data_action": null, + "properties": "Optional" } }, "OperationDisplay": { @@ -23217,7 +23173,55 @@ } }, "is_async": false, - "overloads": [] + "overloads": [ + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "provider": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "resource": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "operation": { + "type": "str", + "default": null, + "param_type": "keyword_only" + }, + "description": { + "type": "str", + "default": null, + "param_type": "keyword_only" + } + }, + "is_async": false, + "return_type": null + }, + { + "parameters": { + "self": { + "type": null, + "default": null, + "param_type": "positional_or_keyword" + }, + "mapping": { + "type": "Mapping[str, Any]", + "default": null, + "param_type": "positional_or_keyword" + } + }, + "is_async": false, + "return_type": null + } + ] }, "as_dict": { "parameters": { @@ -23367,10 +23371,10 @@ } }, "properties": { - "provider": "Optional", - "resource": "Optional", - "operation": "Optional", - "description": "Optional" + "provider": null, + "resource": null, + "operation": null, + "description": null } }, "OperationOrigin": { @@ -23379,7 +23383,6 @@ "properties": { "SYSTEM": "SYSTEM", "USER": "USER", - "USER_SYSTEM": "USER_SYSTEM", "capitalize": "capitalize", "casefold": "casefold", "center": "center", diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml b/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml index ffc8b0b71fbc..3ce03a5218ed 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/azurearcdata/AzureArcData.Management -commit: fb3a858370c8bb49306f311bfc47669dfd02e95c +commit: daba69c05565bf658da065123a2921fa43946bc4 repo: Azure/azure-rest-api-specs additionalDirectories: From 52c4d38bdaa251fc467df82b199d67e7f3fbf73d Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 Date: Wed, 1 Apr 2026 17:26:36 +0800 Subject: [PATCH 8/8] changelog from report comparison --- .../azure-mgmt-azurearcdata/CHANGELOG.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md index db68876cbb50..78d48da852bf 100644 --- a/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md +++ b/sdk/azurearcdata/azure-mgmt-azurearcdata/CHANGELOG.md @@ -2,7 +2,20 @@ ## 2.0.0b2 (2026-04-01) -skip changelog generation +### Features Added + + - Client `AzureArcDataManagementClient` added method `send_request` + - Model `SqlManagedInstanceSku` added property `name` + +### Breaking Changes + + - Model `Databases` deleted or renamed its instance variable `values` + - Deleted or renamed model `PageOfDataControllerResource` + - Deleted or renamed model `ResourceAutoGenerated` + - Deleted or renamed model `SqlAvailabilityGroupDhcpListenerProperties` + - Deleted or renamed model `SqlServerInstanceBpaResponse` + - Deleted or renamed model `SqlServerInstanceTelemetryResponse` + - Deleted or renamed model `TrackedResourceAutoGenerated` ## 2.0.0b1 (2022-11-18)