From 0ce66542eb77bc9c82bdb763215a5044738a7b1a Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Wed, 16 Feb 2022 13:03:12 -0500 Subject: [PATCH 1/9] patch activestamp code --- .../activestamp/_patch.py | 36 ++++++++++++++++++- .../activestamp/aio/_patch.py | 15 +++++++- 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py index 74e48ecd07cf..22487b84463b 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py @@ -24,8 +24,42 @@ # IN THE SOFTWARE. # # -------------------------------------------------------------------------- +import copy +from typing import List +import importlib +import urllib.parse +from ._recovery_services_backup_client import RecoveryServicesBackupClient as RecoveryServicesBackupClientGenerated +from azure.core.pipeline.policies import SansIOHTTPPolicy + +class RemoveDuplicateParamsPolicy(SansIOHTTPPolicy): + def __init__(self, duplicate_param_names): + # type: (List[str]) -> None + self.duplicate_param_names = duplicate_param_names + + def on_request(self, request): + parsed_url = urllib.parse.urlparse(request.http_request.url) + query_params = urllib.parse.parse_qs(parsed_url.query) + updated_query_params = copy.copy(query_params) + for query in query_params: + if query in self.duplicate_param_names and (isinstance(query_params[query], list) and len(query_params[query]) > 1): + updated_query_params[query] = [query_params[query][-1]] + # service returned will be later in the url because of how we format + request.http_request.url = request.http_request.url.replace(parsed_url.query, "") + urllib.parse.urlencode(updated_query_params, doseq=True) + return super().on_request(request) + +DUPLICATE_PARAMS_POLICY = RemoveDuplicateParamsPolicy(duplicate_param_names=["$filter", "$skiptoken", "api-version"]) + +class RecoveryServicesBackupClient(RecoveryServicesBackupClientGenerated): + def __init__(self, *args, **kwargs): + per_call_policies = kwargs.pop("per_call_policies", []) + try: + per_call_policies.append(DUPLICATE_PARAMS_POLICY) + except AttributeError: + per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] + super().__init__(*args, per_call_policies=per_call_policies, **kwargs) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md def patch_sdk(): - pass \ No newline at end of file + curr_package = importlib.import_module("azure.mgmt.recoveryservicesbackup.activestamp") + curr_package.RecoveryServicesBackupClient = RecoveryServicesBackupClient diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py index 74e48ecd07cf..84a0e4a45677 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py @@ -24,8 +24,21 @@ # IN THE SOFTWARE. # # -------------------------------------------------------------------------- +import importlib +from .._patch import DUPLICATE_PARAMS_POLICY +from ._recovery_services_backup_client import RecoveryServicesBackupClient as RecoveryServicesBackupClientGenerated + +class RecoveryServicesBackupClient(RecoveryServicesBackupClientGenerated): + def __init__(self, *args, **kwargs): + per_call_policies = kwargs.pop("per_call_policies", []) + try: + per_call_policies.append(DUPLICATE_PARAMS_POLICY) + except AttributeError: + per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] + super().__init__(*args, per_call_policies=per_call_policies, **kwargs) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md def patch_sdk(): - pass \ No newline at end of file + curr_package = importlib.import_module("azure.mgmt.recoveryservicesbackup.activestamp.aio") + curr_package.RecoveryServicesBackupClient = RecoveryServicesBackupClient From 1f3ef696b879b8ae336511d87e07a1bcda3987b1 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Wed, 16 Feb 2022 13:05:49 -0500 Subject: [PATCH 2/9] patch passivestamp code --- .../passivestamp/_patch.py | 36 ++++++++++++++++++- .../passivestamp/aio/_patch.py | 15 +++++++- 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py index 74e48ecd07cf..ebfc7e4a9a4b 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py @@ -24,8 +24,42 @@ # IN THE SOFTWARE. # # -------------------------------------------------------------------------- +import copy +from typing import List +import importlib +import urllib.parse +from ._recovery_services_backup_passive_client import RecoveryServicesBackupPassiveClient as RecoveryServicesBackupPassiveClientGenerated +from azure.core.pipeline.policies import SansIOHTTPPolicy + +class RemoveDuplicateParamsPolicy(SansIOHTTPPolicy): + def __init__(self, duplicate_param_names): + # type: (List[str]) -> None + self.duplicate_param_names = duplicate_param_names + + def on_request(self, request): + parsed_url = urllib.parse.urlparse(request.http_request.url) + query_params = urllib.parse.parse_qs(parsed_url.query) + updated_query_params = copy.copy(query_params) + for query in query_params: + if query in self.duplicate_param_names and (isinstance(query_params[query], list) and len(query_params[query]) > 1): + updated_query_params[query] = [query_params[query][-1]] + # service returned will be later in the url because of how we format + request.http_request.url = request.http_request.url.replace(parsed_url.query, "") + urllib.parse.urlencode(updated_query_params, doseq=True) + return super().on_request(request) + +DUPLICATE_PARAMS_POLICY = RemoveDuplicateParamsPolicy(duplicate_param_names=["$filter", "$skiptoken", "api-version"]) + +class RecoveryServicesBackupPassiveClient(RecoveryServicesBackupPassiveClientGenerated): + def __init__(self, *args, **kwargs): + per_call_policies = kwargs.pop("per_call_policies", []) + try: + per_call_policies.append(DUPLICATE_PARAMS_POLICY) + except AttributeError: + per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] + super().__init__(*args, per_call_policies=per_call_policies, **kwargs) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md def patch_sdk(): - pass \ No newline at end of file + curr_package = importlib.import_module("azure.mgmt.recoveryservicesbackup.passivestamp") + curr_package.RecoveryServicesBackupPassiveClient = RecoveryServicesBackupPassiveClient diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py index 74e48ecd07cf..e2fe808c8c32 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py @@ -24,8 +24,21 @@ # IN THE SOFTWARE. # # -------------------------------------------------------------------------- +import importlib +from .._patch import DUPLICATE_PARAMS_POLICY +from ._recovery_services_backup_passive_client import RecoveryServicesBackupPassiveClient as RecoveryServicesBackupPassiveClientGenerated + +class RecoveryServicesBackupPassiveClient(RecoveryServicesBackupPassiveClientGenerated): + def __init__(self, *args, **kwargs): + per_call_policies = kwargs.pop("per_call_policies", []) + try: + per_call_policies.append(DUPLICATE_PARAMS_POLICY) + except AttributeError: + per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] + super().__init__(*args, per_call_policies=per_call_policies, **kwargs) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md def patch_sdk(): - pass \ No newline at end of file + curr_package = importlib.import_module("azure.mgmt.recoveryservicesbackup.passivestamp.aio") + curr_package.RecoveryServicesBackupPassiveClient = RecoveryServicesBackupPassiveClient From 6e470152a3ab34c5d3efdeec0352551681d757a3 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Wed, 16 Feb 2022 16:43:46 -0500 Subject: [PATCH 3/9] use dict comprehension --- .../recoveryservicesbackup/activestamp/_patch.py | 12 +++++------- .../recoveryservicesbackup/passivestamp/_patch.py | 12 +++++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py index 22487b84463b..92da44e9d44c 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py @@ -24,7 +24,6 @@ # IN THE SOFTWARE. # # -------------------------------------------------------------------------- -import copy from typing import List import importlib import urllib.parse @@ -39,12 +38,11 @@ def __init__(self, duplicate_param_names): def on_request(self, request): parsed_url = urllib.parse.urlparse(request.http_request.url) query_params = urllib.parse.parse_qs(parsed_url.query) - updated_query_params = copy.copy(query_params) - for query in query_params: - if query in self.duplicate_param_names and (isinstance(query_params[query], list) and len(query_params[query]) > 1): - updated_query_params[query] = [query_params[query][-1]] - # service returned will be later in the url because of how we format - request.http_request.url = request.http_request.url.replace(parsed_url.query, "") + urllib.parse.urlencode(updated_query_params, doseq=True) + filtered_query_params = { + k: v[-1:] if k in self.duplicate_param_names else v + for k, v in query_params.items() + } + request.http_request.url = request.http_request.url.replace(parsed_url.query, "") + urllib.parse.urlencode(filtered_query_params, doseq=True) return super().on_request(request) DUPLICATE_PARAMS_POLICY = RemoveDuplicateParamsPolicy(duplicate_param_names=["$filter", "$skiptoken", "api-version"]) diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py index ebfc7e4a9a4b..d70d25562976 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py @@ -24,7 +24,6 @@ # IN THE SOFTWARE. # # -------------------------------------------------------------------------- -import copy from typing import List import importlib import urllib.parse @@ -39,12 +38,11 @@ def __init__(self, duplicate_param_names): def on_request(self, request): parsed_url = urllib.parse.urlparse(request.http_request.url) query_params = urllib.parse.parse_qs(parsed_url.query) - updated_query_params = copy.copy(query_params) - for query in query_params: - if query in self.duplicate_param_names and (isinstance(query_params[query], list) and len(query_params[query]) > 1): - updated_query_params[query] = [query_params[query][-1]] - # service returned will be later in the url because of how we format - request.http_request.url = request.http_request.url.replace(parsed_url.query, "") + urllib.parse.urlencode(updated_query_params, doseq=True) + filtered_query_params = { + k: v[-1:] if k in self.duplicate_param_names else v + for k, v in query_params.items() + } + request.http_request.url = request.http_request.url.replace(parsed_url.query, "") + urllib.parse.urlencode(filtered_query_params, doseq=True) return super().on_request(request) DUPLICATE_PARAMS_POLICY = RemoveDuplicateParamsPolicy(duplicate_param_names=["$filter", "$skiptoken", "api-version"]) From 193eb6f0e48e5d53e5d52370dd6355a6c1cb8087 Mon Sep 17 00:00:00 2001 From: msyyc <70930885+msyyc@users.noreply.github.com> Date: Thu, 17 Feb 2022 16:02:55 +0800 Subject: [PATCH 4/9] fix for azure-cli --- .../azure/mgmt/recoveryservicesbackup/activestamp/_patch.py | 4 ++-- .../mgmt/recoveryservicesbackup/activestamp/aio/_patch.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py index 92da44e9d44c..bb020e97a15d 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py @@ -48,13 +48,13 @@ def on_request(self, request): DUPLICATE_PARAMS_POLICY = RemoveDuplicateParamsPolicy(duplicate_param_names=["$filter", "$skiptoken", "api-version"]) class RecoveryServicesBackupClient(RecoveryServicesBackupClientGenerated): - def __init__(self, *args, **kwargs): + def __init__(self, credential, *args, **kwargs): per_call_policies = kwargs.pop("per_call_policies", []) try: per_call_policies.append(DUPLICATE_PARAMS_POLICY) except AttributeError: per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] - super().__init__(*args, per_call_policies=per_call_policies, **kwargs) + super().__init__(credential, *args, per_call_policies=per_call_policies, **kwargs) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py index 84a0e4a45677..74d23782b503 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py @@ -29,13 +29,13 @@ from ._recovery_services_backup_client import RecoveryServicesBackupClient as RecoveryServicesBackupClientGenerated class RecoveryServicesBackupClient(RecoveryServicesBackupClientGenerated): - def __init__(self, *args, **kwargs): + def __init__(self, credential, *args, **kwargs): per_call_policies = kwargs.pop("per_call_policies", []) try: per_call_policies.append(DUPLICATE_PARAMS_POLICY) except AttributeError: per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] - super().__init__(*args, per_call_policies=per_call_policies, **kwargs) + super().__init__(credential, *args, per_call_policies=per_call_policies, **kwargs) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md From 0626558e6b1e944a4ca8fa7f48b0bf95d81e50bd Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Thu, 17 Feb 2022 11:35:19 -0500 Subject: [PATCH 5/9] update passivestamp clients to explicitly state credential --- .../azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py | 4 ++-- .../mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py index d70d25562976..6edb771c268e 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py @@ -48,13 +48,13 @@ def on_request(self, request): DUPLICATE_PARAMS_POLICY = RemoveDuplicateParamsPolicy(duplicate_param_names=["$filter", "$skiptoken", "api-version"]) class RecoveryServicesBackupPassiveClient(RecoveryServicesBackupPassiveClientGenerated): - def __init__(self, *args, **kwargs): + def __init__(self, credential, *args, **kwargs): per_call_policies = kwargs.pop("per_call_policies", []) try: per_call_policies.append(DUPLICATE_PARAMS_POLICY) except AttributeError: per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] - super().__init__(*args, per_call_policies=per_call_policies, **kwargs) + super().__init__(credential, *args, per_call_policies=per_call_policies, **kwargs) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py index e2fe808c8c32..539fb2830a2a 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py @@ -29,13 +29,13 @@ from ._recovery_services_backup_passive_client import RecoveryServicesBackupPassiveClient as RecoveryServicesBackupPassiveClientGenerated class RecoveryServicesBackupPassiveClient(RecoveryServicesBackupPassiveClientGenerated): - def __init__(self, *args, **kwargs): + def __init__(self, credential, *args, **kwargs): per_call_policies = kwargs.pop("per_call_policies", []) try: per_call_policies.append(DUPLICATE_PARAMS_POLICY) except AttributeError: per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] - super().__init__(*args, per_call_policies=per_call_policies, **kwargs) + super().__init__(credential, *args, per_call_policies=per_call_policies, **kwargs) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md From d9071099abb0d379dfc18ef89bdd269e177d8d59 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Thu, 17 Feb 2022 17:28:23 -0500 Subject: [PATCH 6/9] update method signatures for patched clients --- .../activestamp/_patch.py | 21 ++++++++++++++++--- .../activestamp/aio/_patch.py | 20 ++++++++++++++++-- .../passivestamp/_patch.py | 21 ++++++++++++++++--- .../passivestamp/aio/_patch.py | 20 ++++++++++++++++-- 4 files changed, 72 insertions(+), 10 deletions(-) diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py index bb020e97a15d..5b005ad1b6cd 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py @@ -24,12 +24,15 @@ # IN THE SOFTWARE. # # -------------------------------------------------------------------------- -from typing import List +from typing import Any, List, TYPE_CHECKING import importlib import urllib.parse from ._recovery_services_backup_client import RecoveryServicesBackupClient as RecoveryServicesBackupClientGenerated from azure.core.pipeline.policies import SansIOHTTPPolicy +if TYPE_CHECKING: + from azure.core.credentials import TokenCredential + class RemoveDuplicateParamsPolicy(SansIOHTTPPolicy): def __init__(self, duplicate_param_names): # type: (List[str]) -> None @@ -48,13 +51,25 @@ def on_request(self, request): DUPLICATE_PARAMS_POLICY = RemoveDuplicateParamsPolicy(duplicate_param_names=["$filter", "$skiptoken", "api-version"]) class RecoveryServicesBackupClient(RecoveryServicesBackupClientGenerated): - def __init__(self, credential, *args, **kwargs): + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: per_call_policies = kwargs.pop("per_call_policies", []) try: per_call_policies.append(DUPLICATE_PARAMS_POLICY) except AttributeError: per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] - super().__init__(credential, *args, per_call_policies=per_call_policies, **kwargs) + super().__init__( + credential=credential, + subscription_id=subscription_id, + base_url=base_url, + per_call_policies=per_call_policies, + **kwargs + ) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py index 74d23782b503..979f404cfe6e 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py @@ -24,18 +24,34 @@ # IN THE SOFTWARE. # # -------------------------------------------------------------------------- +from typing import Any, TYPE_CHECKING import importlib from .._patch import DUPLICATE_PARAMS_POLICY from ._recovery_services_backup_client import RecoveryServicesBackupClient as RecoveryServicesBackupClientGenerated +if TYPE_CHECKING: + from azure.core.credentials_async import AsyncTokenCredential + class RecoveryServicesBackupClient(RecoveryServicesBackupClientGenerated): - def __init__(self, credential, *args, **kwargs): + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: per_call_policies = kwargs.pop("per_call_policies", []) try: per_call_policies.append(DUPLICATE_PARAMS_POLICY) except AttributeError: per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] - super().__init__(credential, *args, per_call_policies=per_call_policies, **kwargs) + super().__init__( + credential=credential, + subscription_id=subscription_id, + base_url=base_url, + per_call_policies=per_call_policies, + **kwargs + ) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py index 6edb771c268e..d376be559874 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py @@ -24,12 +24,15 @@ # IN THE SOFTWARE. # # -------------------------------------------------------------------------- -from typing import List +from typing import TYPE_CHECKING, Any, List, TYPE_CHECKING import importlib import urllib.parse from ._recovery_services_backup_passive_client import RecoveryServicesBackupPassiveClient as RecoveryServicesBackupPassiveClientGenerated from azure.core.pipeline.policies import SansIOHTTPPolicy +if TYPE_CHECKING: + from azure.core.credentials import TokenCredential + class RemoveDuplicateParamsPolicy(SansIOHTTPPolicy): def __init__(self, duplicate_param_names): # type: (List[str]) -> None @@ -48,13 +51,25 @@ def on_request(self, request): DUPLICATE_PARAMS_POLICY = RemoveDuplicateParamsPolicy(duplicate_param_names=["$filter", "$skiptoken", "api-version"]) class RecoveryServicesBackupPassiveClient(RecoveryServicesBackupPassiveClientGenerated): - def __init__(self, credential, *args, **kwargs): + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: per_call_policies = kwargs.pop("per_call_policies", []) try: per_call_policies.append(DUPLICATE_PARAMS_POLICY) except AttributeError: per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] - super().__init__(credential, *args, per_call_policies=per_call_policies, **kwargs) + super().__init__( + credential=credential, + subscription_id=subscription_id, + base_url=base_url, + per_call_policies=per_call_policies, + **kwargs + ) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py index 539fb2830a2a..388f1a8b689b 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py @@ -24,18 +24,34 @@ # IN THE SOFTWARE. # # -------------------------------------------------------------------------- +from typing import Any, TYPE_CHECKING import importlib from .._patch import DUPLICATE_PARAMS_POLICY from ._recovery_services_backup_passive_client import RecoveryServicesBackupPassiveClient as RecoveryServicesBackupPassiveClientGenerated +if TYPE_CHECKING: + from azure.core.credentials_async import AsyncTokenCredential + class RecoveryServicesBackupPassiveClient(RecoveryServicesBackupPassiveClientGenerated): - def __init__(self, credential, *args, **kwargs): + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: per_call_policies = kwargs.pop("per_call_policies", []) try: per_call_policies.append(DUPLICATE_PARAMS_POLICY) except AttributeError: per_call_policies = [per_call_policies, DUPLICATE_PARAMS_POLICY] - super().__init__(credential, *args, per_call_policies=per_call_policies, **kwargs) + super().__init__( + credential=credential, + subscription_id=subscription_id, + base_url=base_url, + per_call_policies=per_call_policies, + **kwargs + ) # This file is used for handwritten extensions to the generated code. Example: # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md From dd78efd6f858780594b11b96b4572f08d7457eff Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Thu, 17 Feb 2022 17:29:20 -0500 Subject: [PATCH 7/9] udpate docs for patched clients --- .../azure/mgmt/recoveryservicesbackup/activestamp/_patch.py | 1 + .../azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py | 1 + .../azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py | 1 + .../azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py | 1 + 4 files changed, 4 insertions(+) diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py index 5b005ad1b6cd..56184987595f 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_patch.py @@ -51,6 +51,7 @@ def on_request(self, request): DUPLICATE_PARAMS_POLICY = RemoveDuplicateParamsPolicy(duplicate_param_names=["$filter", "$skiptoken", "api-version"]) class RecoveryServicesBackupClient(RecoveryServicesBackupClientGenerated): + __doc__ = RecoveryServicesBackupClientGenerated.__doc__ def __init__( self, credential: "TokenCredential", diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py index 979f404cfe6e..eea0326b9de6 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py @@ -33,6 +33,7 @@ from azure.core.credentials_async import AsyncTokenCredential class RecoveryServicesBackupClient(RecoveryServicesBackupClientGenerated): + __doc__ = RecoveryServicesBackupClientGenerated.__doc__ def __init__( self, credential: "AsyncTokenCredential", diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py index d376be559874..026ba53859a1 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_patch.py @@ -51,6 +51,7 @@ def on_request(self, request): DUPLICATE_PARAMS_POLICY = RemoveDuplicateParamsPolicy(duplicate_param_names=["$filter", "$skiptoken", "api-version"]) class RecoveryServicesBackupPassiveClient(RecoveryServicesBackupPassiveClientGenerated): + __doc__ = RecoveryServicesBackupPassiveClientGenerated.__doc__ def __init__( self, credential: "TokenCredential", diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py index 388f1a8b689b..0de9ec463126 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py @@ -33,6 +33,7 @@ from azure.core.credentials_async import AsyncTokenCredential class RecoveryServicesBackupPassiveClient(RecoveryServicesBackupPassiveClientGenerated): + __doc__ = RecoveryServicesBackupPassiveClientGenerated.__doc__ def __init__( self, credential: "AsyncTokenCredential", From 25082beeabf8206ba4a4987c131dca08da41c6a4 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Thu, 17 Feb 2022 17:30:29 -0500 Subject: [PATCH 8/9] update changelog --- .../azure-mgmt-recoveryservicesbackup/CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/CHANGELOG.md b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/CHANGELOG.md index 7be3ad076b84..a5c466bcf370 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/CHANGELOG.md +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/CHANGELOG.md @@ -1,5 +1,11 @@ # Release History +## 4.1.1 (2022-02-18) + +**Bug Fixes** + + - Fix multi-page paging #23089 + ## 4.1.0 (2022-02-15) **Features** From 75c341f0df8dd378c06628f94d604e08e5d572c3 Mon Sep 17 00:00:00 2001 From: msyyc <70930885+msyyc@users.noreply.github.com> Date: Fri, 18 Feb 2022 10:08:05 +0800 Subject: [PATCH 9/9] update version file --- .../azure/mgmt/recoveryservicesbackup/_version.py | 2 +- .../azure/mgmt/recoveryservicesbackup/activestamp/_version.py | 2 +- .../azure/mgmt/recoveryservicesbackup/passivestamp/_version.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/_version.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/_version.py index 73d8f69961be..83801515a450 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/_version.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "4.1.0" +VERSION = "4.1.1" diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_version.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_version.py index 73d8f69961be..83801515a450 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_version.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "4.1.0" +VERSION = "4.1.1" diff --git a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_version.py b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_version.py index 73d8f69961be..83801515a450 100644 --- a/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_version.py +++ b/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "4.1.0" +VERSION = "4.1.1"