Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-azure-mgmt-recoveryservicesbackup for openSUSE:Factory checked in at 2024-01-18 21:54:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-azure-mgmt-recoveryservicesbackup (Old) and /work/SRC/openSUSE:Factory/.python-azure-mgmt-recoveryservicesbackup.new.16006 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-mgmt-recoveryservicesbackup" Thu Jan 18 21:54:21 2024 rev:25 rq:1139734 version:8.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-azure-mgmt-recoveryservicesbackup/python-azure-mgmt-recoveryservicesbackup.changes 2023-09-20 13:28:34.365319472 +0200 +++ /work/SRC/openSUSE:Factory/.python-azure-mgmt-recoveryservicesbackup.new.16006/python-azure-mgmt-recoveryservicesbackup.changes 2024-01-18 21:54:57.436147502 +0100 @@ -1,0 +2,8 @@ +Tue Jan 16 08:29:48 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- New upstream release + + Version 8.0.0 + + For detailed information about changes see the + CHANGELOG.md file provided with this package + +------------------------------------------------------------------- Old: ---- azure-mgmt-recoveryservicesbackup-7.0.0.tar.gz New: ---- azure-mgmt-recoveryservicesbackup-8.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-azure-mgmt-recoveryservicesbackup.spec ++++++ --- /var/tmp/diff_new_pack.cRCzqU/_old 2024-01-18 21:54:58.504186289 +0100 +++ /var/tmp/diff_new_pack.cRCzqU/_new 2024-01-18 21:54:58.504186289 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-azure-mgmt-recoveryservicesbackup # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,7 +21,7 @@ %define skip_python2 1 %endif Name: python-azure-mgmt-recoveryservicesbackup -Version: 7.0.0 +Version: 8.0.0 Release: 0 Summary: Microsoft Azure Recovery Services Backup Management Client Library License: MIT ++++++ azure-mgmt-recoveryservicesbackup-7.0.0.tar.gz -> azure-mgmt-recoveryservicesbackup-8.0.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/CHANGELOG.md new/azure-mgmt-recoveryservicesbackup-8.0.0/CHANGELOG.md --- old/azure-mgmt-recoveryservicesbackup-7.0.0/CHANGELOG.md 2023-09-18 08:13:01.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/CHANGELOG.md 2024-01-15 03:14:16.000000000 +0100 @@ -1,5 +1,17 @@ # Release History +## 8.0.0 (2024-01-15) + +### Features Added + + - Model AzureVmWorkloadSAPHanaDBInstanceProtectedItem has a new parameter vault_id + - Model BackupStatusResponse has a new parameter acquire_storage_account_lock + - Model BackupStatusResponse has a new parameter protected_items_count + +### Breaking Changes + + - Renamed operation ProtectionContainersOperations.register to ProtectionContainersOperations.begin_register + ## 7.0.0 (2023-09-18) ### Features Added diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/PKG-INFO new/azure-mgmt-recoveryservicesbackup-8.0.0/PKG-INFO --- old/azure-mgmt-recoveryservicesbackup-7.0.0/PKG-INFO 2023-09-18 08:13:56.536899000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/PKG-INFO 2024-01-15 03:14:54.962666300 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: azure-mgmt-recoveryservicesbackup -Version: 7.0.0 +Version: 8.0.0 Summary: Microsoft Azure Recovery Services Backup Management Client Library for Python Home-page: https://github.com/Azure/azure-sdk-for-python Author: Microsoft Corporation @@ -11,25 +11,24 @@ Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 Classifier: License :: OSI Approved :: MIT License -Requires-Python: >=3.7 +Requires-Python: >=3.8 Description-Content-Type: text/markdown License-File: LICENSE License-File: LICENSE.txt Requires-Dist: isodate<1.0.0,>=0.6.1 Requires-Dist: azure-common~=1.1 Requires-Dist: azure-mgmt-core<2.0.0,>=1.3.2 -Requires-Dist: typing-extensions>=4.3.0; python_version < "3.8.0" # Microsoft Azure SDK for Python This is the Microsoft Azure Recovery Services Backup Management Client Library. -This package has been tested with Python 3.7+. +This package has been tested with Python 3.8+. For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all). ## _Disclaimer_ @@ -40,7 +39,7 @@ ### Prerequisites -- Python 3.7+ is required to use this package. +- Python 3.8+ is required to use this package. - [Azure subscription](https://azure.microsoft.com/free/) ### Install the package @@ -89,10 +88,19 @@ section of the project. - +# Release History +## 8.0.0 (2024-01-15) -# Release History +### Features Added + + - Model AzureVmWorkloadSAPHanaDBInstanceProtectedItem has a new parameter vault_id + - Model BackupStatusResponse has a new parameter acquire_storage_account_lock + - Model BackupStatusResponse has a new parameter protected_items_count + +### Breaking Changes + + - Renamed operation ProtectionContainersOperations.register to ProtectionContainersOperations.begin_register ## 7.0.0 (2023-09-18) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/README.md new/azure-mgmt-recoveryservicesbackup-8.0.0/README.md --- old/azure-mgmt-recoveryservicesbackup-7.0.0/README.md 2023-09-18 08:13:01.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/README.md 2024-01-15 03:14:16.000000000 +0100 @@ -1,7 +1,7 @@ # Microsoft Azure SDK for Python This is the Microsoft Azure Recovery Services Backup Management Client Library. -This package has been tested with Python 3.7+. +This package has been tested with Python 3.8+. For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all). ## _Disclaimer_ @@ -12,7 +12,7 @@ ### Prerequisites -- Python 3.7+ is required to use this package. +- Python 3.8+ is required to use this package. - [Azure subscription](https://azure.microsoft.com/free/) ### Install the package @@ -59,6 +59,3 @@ 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/_meta.json new/azure-mgmt-recoveryservicesbackup-8.0.0/_meta.json --- old/azure-mgmt-recoveryservicesbackup-7.0.0/_meta.json 2023-09-18 08:13:01.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/_meta.json 2024-01-15 03:14:16.000000000 +0100 @@ -1,5 +1,5 @@ { - "commit": "5fb045bd44f143bae17da2e01552ae531f77d0ba", + "commit": "ea28180c6ce9027df36568307f235868d581144c", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "autorest": "3.9.7", "use": [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/_version.py new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/_version.py --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/_version.py 2023-09-18 08:13:01.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/_version.py 2024-01-15 03:14:16.000000000 +0100 @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "7.0.0" +VERSION = "8.0.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/activestamp/_version.py new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/activestamp/_version.py --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/activestamp/_version.py 2023-09-18 08:13:01.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/activestamp/_version.py 2024-01-15 03:14:16.000000000 +0100 @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "7.0.0" +VERSION = "8.0.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/activestamp/aio/operations/_protection_containers_operations.py new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/activestamp/aio/operations/_protection_containers_operations.py --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/activestamp/aio/operations/_protection_containers_operations.py 2023-09-18 08:13:01.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/activestamp/aio/operations/_protection_containers_operations.py 2024-01-15 03:14:16.000000000 +0100 @@ -7,7 +7,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from io import IOBase -from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload +from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload from azure.core.exceptions import ( ClientAuthenticationError, @@ -19,10 +19,12 @@ ) 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.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 ..._vendor import _convert_request @@ -128,8 +130,81 @@ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}" } + async def _register_initial( + self, + vault_name: str, + resource_group_name: str, + fabric_name: str, + container_name: str, + parameters: Union[_models.ProtectionContainerResource, IO], + **kwargs: Any + ) -> Optional[_models.ProtectionContainerResource]: + error_map = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Optional[_models.ProtectionContainerResource]] = 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, "ProtectionContainerResource") + + request = build_register_request( + vault_name=vault_name, + resource_group_name=resource_group_name, + fabric_name=fabric_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + template_url=self._register_initial.metadata["url"], + headers=_headers, + params=_params, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize("ProtectionContainerResource", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _register_initial.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}" + } + @overload - async def register( + async def begin_register( self, vault_name: str, resource_group_name: str, @@ -139,7 +214,7 @@ *, content_type: str = "application/json", **kwargs: Any - ) -> Optional[_models.ProtectionContainerResource]: + ) -> AsyncLROPoller[_models.ProtectionContainerResource]: """Registers the container with Recovery Services vault. This is an asynchronous operation. To track the operation status, use location header to call get latest status of @@ -161,14 +236,22 @@ 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: ProtectionContainerResource or None or the result of cls(response) - :rtype: ~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource or - None + :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 ProtectionContainerResource or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def register( + async def begin_register( self, vault_name: str, resource_group_name: str, @@ -178,7 +261,7 @@ *, content_type: str = "application/json", **kwargs: Any - ) -> Optional[_models.ProtectionContainerResource]: + ) -> AsyncLROPoller[_models.ProtectionContainerResource]: """Registers the container with Recovery Services vault. This is an asynchronous operation. To track the operation status, use location header to call get latest status of @@ -199,14 +282,22 @@ 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: ProtectionContainerResource or None or the result of cls(response) - :rtype: ~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource or - None + :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 ProtectionContainerResource or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def register( + async def begin_register( self, vault_name: str, resource_group_name: str, @@ -214,7 +305,7 @@ container_name: str, parameters: Union[_models.ProtectionContainerResource, IO], **kwargs: Any - ) -> Optional[_models.ProtectionContainerResource]: + ) -> AsyncLROPoller[_models.ProtectionContainerResource]: """Registers the container with Recovery Services vault. This is an asynchronous operation. To track the operation status, use location header to call get latest status of @@ -237,72 +328,66 @@ Default value is None. :paramtype content_type: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ProtectionContainerResource or None or the result of cls(response) - :rtype: ~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource or - None + :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 ProtectionContainerResource or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Optional[_models.ProtectionContainerResource]] = 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, "ProtectionContainerResource") - - request = build_register_request( - vault_name=vault_name, - resource_group_name=resource_group_name, - fabric_name=fabric_name, - container_name=container_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - template_url=self.register.metadata["url"], - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - - _stream = False - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 202]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + cls: ClsType[_models.ProtectionContainerResource] = 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._register_initial( + vault_name=vault_name, + resource_group_name=resource_group_name, + fabric_name=fabric_name, + container_name=container_name, + parameters=parameters, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + kwargs.pop("error_map", None) - deserialized = None - if response.status_code == 200: + def get_long_running_output(pipeline_response): deserialized = self._deserialize("ProtectionContainerResource", pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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.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 - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - - register.metadata = { + begin_register.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/activestamp/models/_models_py3.py new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/activestamp/models/_models_py3.py --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/activestamp/models/_models_py3.py 2023-09-18 08:13:01.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/activestamp/models/_models_py3.py 2024-01-15 03:14:16.000000000 +0100 @@ -1025,12 +1025,15 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str """ _validation = { "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, } _attribute_map = { @@ -1052,6 +1055,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, } _subtype_map = { @@ -1144,6 +1148,7 @@ self.is_archive_enabled = is_archive_enabled self.policy_name = policy_name self.soft_delete_retention_period_in_days = soft_delete_retention_period_in_days + self.vault_id = None class AzureFileshareProtectedItem(ProtectedItem): # pylint: disable=too-many-instance-attributes @@ -1202,6 +1207,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the fileshare represented by this backup item. :vartype friendly_name: str :ivar protection_status: Backup status of this backup item. @@ -1227,6 +1234,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, } _attribute_map = { @@ -1248,6 +1256,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "protection_status": {"key": "protectionStatus", "type": "str"}, "protection_state": {"key": "protectionState", "type": "str"}, @@ -2344,6 +2353,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the VM represented by this backup item. :vartype friendly_name: str :ivar virtual_machine_id: Fully qualified ARM ID of the virtual machine represented by this @@ -2384,6 +2395,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, "friendly_name": {"readonly": True}, "virtual_machine_id": {"readonly": True}, "health_status": {"readonly": True}, @@ -2410,6 +2422,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "virtual_machine_id": {"key": "virtualMachineId", "type": "str"}, "protection_status": {"key": "protectionStatus", "type": "str"}, @@ -2607,6 +2620,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the VM represented by this backup item. :vartype friendly_name: str :ivar virtual_machine_id: Fully qualified ARM ID of the virtual machine represented by this @@ -2647,6 +2662,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, "friendly_name": {"readonly": True}, "virtual_machine_id": {"readonly": True}, "health_status": {"readonly": True}, @@ -2673,6 +2689,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "virtual_machine_id": {"key": "virtualMachineId", "type": "str"}, "protection_status": {"key": "protectionStatus", "type": "str"}, @@ -3054,6 +3071,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the VM represented by this backup item. :vartype friendly_name: str :ivar virtual_machine_id: Fully qualified ARM ID of the virtual machine represented by this @@ -3094,6 +3113,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, "friendly_name": {"readonly": True}, "virtual_machine_id": {"readonly": True}, "health_status": {"readonly": True}, @@ -3120,6 +3140,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "virtual_machine_id": {"key": "virtualMachineId", "type": "str"}, "protection_status": {"key": "protectionStatus", "type": "str"}, @@ -4754,6 +4775,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar protected_item_data_id: Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services. :vartype protected_item_data_id: str @@ -4771,6 +4794,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, } _attribute_map = { @@ -4792,6 +4816,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "protected_item_data_id": {"key": "protectedItemDataId", "type": "str"}, "protection_state": {"key": "protectionState", "type": "str"}, "extended_info": {"key": "extendedInfo", "type": "AzureSqlProtectedItemExtendedInfo"}, @@ -6179,6 +6204,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the DB represented by this backup item. :vartype friendly_name: str :ivar server_name: Host/Cluster Name for instance or AG. @@ -6226,6 +6253,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, "friendly_name": {"readonly": True}, "protection_status": {"readonly": True}, } @@ -6249,6 +6277,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "server_name": {"key": "serverName", "type": "str"}, "parent_name": {"key": "parentName", "type": "str"}, @@ -6639,6 +6668,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the DB represented by this backup item. :vartype friendly_name: str :ivar server_name: Host/Cluster Name for instance or AG. @@ -6686,6 +6717,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, "friendly_name": {"readonly": True}, "protection_status": {"readonly": True}, } @@ -6709,6 +6741,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "server_name": {"key": "serverName", "type": "str"}, "parent_name": {"key": "parentName", "type": "str"}, @@ -7384,6 +7417,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the DB represented by this backup item. :vartype friendly_name: str :ivar server_name: Host/Cluster Name for instance or AG. @@ -7431,6 +7466,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, "friendly_name": {"readonly": True}, "protection_status": {"readonly": True}, } @@ -7454,6 +7490,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "server_name": {"key": "serverName", "type": "str"}, "parent_name": {"key": "parentName", "type": "str"}, @@ -7897,6 +7934,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the DB represented by this backup item. :vartype friendly_name: str :ivar server_name: Host/Cluster Name for instance or AG. @@ -7944,6 +7983,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, "friendly_name": {"readonly": True}, "protection_status": {"readonly": True}, } @@ -7967,6 +8007,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "server_name": {"key": "serverName", "type": "str"}, "parent_name": {"key": "parentName", "type": "str"}, @@ -8820,6 +8861,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the DB represented by this backup item. :vartype friendly_name: str :ivar server_name: Host/Cluster Name for instance or AG. @@ -8867,6 +8910,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, "friendly_name": {"readonly": True}, "protection_status": {"readonly": True}, } @@ -8890,6 +8934,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "server_name": {"key": "serverName", "type": "str"}, "parent_name": {"key": "parentName", "type": "str"}, @@ -12697,7 +12742,7 @@ self.po_logical_name = po_logical_name -class BackupStatusResponse(_serialization.Model): +class BackupStatusResponse(_serialization.Model): # pylint: disable=too-many-instance-attributes """BackupStatus response. :ivar protection_status: Specifies whether the container is registered or not. Known values @@ -12723,6 +12768,12 @@ :vartype policy_name: str :ivar registration_status: Container registration status. :vartype registration_status: str + :ivar protected_items_count: Number of protected items. + :vartype protected_items_count: int + :ivar acquire_storage_account_lock: Specifies whether the storage account lock has been + acquired or not. Known values are: "Acquire" and "NotAcquire". + :vartype acquire_storage_account_lock: str or + ~azure.mgmt.recoveryservicesbackup.activestamp.models.AcquireStorageAccountLock """ _attribute_map = { @@ -12735,6 +12786,8 @@ "error_message": {"key": "errorMessage", "type": "str"}, "policy_name": {"key": "policyName", "type": "str"}, "registration_status": {"key": "registrationStatus", "type": "str"}, + "protected_items_count": {"key": "protectedItemsCount", "type": "int"}, + "acquire_storage_account_lock": {"key": "acquireStorageAccountLock", "type": "str"}, } def __init__( @@ -12749,6 +12802,8 @@ error_message: Optional[str] = None, policy_name: Optional[str] = None, registration_status: Optional[str] = None, + protected_items_count: Optional[int] = None, + acquire_storage_account_lock: Optional[Union[str, "_models.AcquireStorageAccountLock"]] = None, **kwargs: Any ) -> None: """ @@ -12775,6 +12830,12 @@ :paramtype policy_name: str :keyword registration_status: Container registration status. :paramtype registration_status: str + :keyword protected_items_count: Number of protected items. + :paramtype protected_items_count: int + :keyword acquire_storage_account_lock: Specifies whether the storage account lock has been + acquired or not. Known values are: "Acquire" and "NotAcquire". + :paramtype acquire_storage_account_lock: str or + ~azure.mgmt.recoveryservicesbackup.activestamp.models.AcquireStorageAccountLock """ super().__init__(**kwargs) self.protection_status = protection_status @@ -12786,6 +12847,8 @@ self.error_message = error_message self.policy_name = policy_name self.registration_status = registration_status + self.protected_items_count = protected_items_count + self.acquire_storage_account_lock = acquire_storage_account_lock class BEKDetails(_serialization.Model): @@ -14331,6 +14394,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the managed item. :vartype friendly_name: str :ivar backup_engine_name: Backup Management server protecting this backup item. @@ -14349,6 +14414,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, } _attribute_map = { @@ -14370,6 +14436,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "backup_engine_name": {"key": "backupEngineName", "type": "str"}, "protection_state": {"key": "protectionState", "type": "str"}, @@ -15059,6 +15126,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of the container. :vartype friendly_name: str :ivar policy_state: Indicates consistency of policy object and policy applied to this backup @@ -15082,6 +15151,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, } _attribute_map = { @@ -15103,6 +15173,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "policy_state": {"key": "policyState", "type": "str"}, "protection_state": {"key": "protectionState", "type": "str"}, @@ -15570,6 +15641,10 @@ :ivar is_private_access_enabled_on_any_disk: This flag denotes if any of the disks in the VM are using Private access network setting. :vartype is_private_access_enabled_on_any_disk: bool + :ivar extended_location: Extended location of the VM recovery point, + should be null if VM is in public cloud. + :vartype extended_location: + ~azure.mgmt.recoveryservicesbackup.activestamp.models.ExtendedLocation """ _validation = { @@ -15602,6 +15677,7 @@ "security_type": {"key": "securityType", "type": "str"}, "recovery_point_properties": {"key": "recoveryPointProperties", "type": "RecoveryPointProperties"}, "is_private_access_enabled_on_any_disk": {"key": "isPrivateAccessEnabledOnAnyDisk", "type": "bool"}, + "extended_location": {"key": "extendedLocation", "type": "ExtendedLocation"}, } def __init__( @@ -15625,6 +15701,7 @@ security_type: Optional[str] = None, recovery_point_properties: Optional["_models.RecoveryPointProperties"] = None, is_private_access_enabled_on_any_disk: Optional[bool] = None, + extended_location: Optional["_models.ExtendedLocation"] = None, **kwargs: Any ) -> None: """ @@ -15675,6 +15752,10 @@ :keyword is_private_access_enabled_on_any_disk: This flag denotes if any of the disks in the VM are using Private access network setting. :paramtype is_private_access_enabled_on_any_disk: bool + :keyword extended_location: Extended location of the VM recovery point, + should be null if VM is in public cloud. + :paramtype extended_location: + ~azure.mgmt.recoveryservicesbackup.activestamp.models.ExtendedLocation """ super().__init__(**kwargs) self.object_type: str = "IaasVMRecoveryPoint" @@ -15696,6 +15777,7 @@ self.security_type = security_type self.recovery_point_properties = recovery_point_properties self.is_private_access_enabled_on_any_disk = is_private_access_enabled_on_any_disk + self.extended_location = extended_location class IaasVMRestoreRequest(RestoreRequest): # pylint: disable=too-many-instance-attributes @@ -17327,6 +17409,8 @@ :vartype policy_name: str :ivar soft_delete_retention_period_in_days: Soft delete retention period in days. :vartype soft_delete_retention_period_in_days: int + :ivar vault_id: ID of the vault which protects this item. + :vartype vault_id: str :ivar friendly_name: Friendly name of this backup item. :vartype friendly_name: str :ivar computer_name: Name of the computer associated with this backup item. @@ -17348,6 +17432,7 @@ "protected_item_type": {"required": True}, "backup_management_type": {"readonly": True}, "workload_type": {"readonly": True}, + "vault_id": {"readonly": True}, } _attribute_map = { @@ -17369,6 +17454,7 @@ "is_archive_enabled": {"key": "isArchiveEnabled", "type": "bool"}, "policy_name": {"key": "policyName", "type": "str"}, "soft_delete_retention_period_in_days": {"key": "softDeleteRetentionPeriodInDays", "type": "int"}, + "vault_id": {"key": "vaultId", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "computer_name": {"key": "computerName", "type": "str"}, "last_backup_status": {"key": "lastBackupStatus", "type": "str"}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/activestamp/operations/_protection_containers_operations.py new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/activestamp/operations/_protection_containers_operations.py --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/activestamp/operations/_protection_containers_operations.py 2023-09-18 08:13:01.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/activestamp/operations/_protection_containers_operations.py 2024-01-15 03:14:16.000000000 +0100 @@ -7,7 +7,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from io import IOBase -from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload +from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload from azure.core.exceptions import ( ClientAuthenticationError, @@ -19,10 +19,12 @@ ) 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.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 @@ -323,8 +325,81 @@ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}" } + def _register_initial( + self, + vault_name: str, + resource_group_name: str, + fabric_name: str, + container_name: str, + parameters: Union[_models.ProtectionContainerResource, IO], + **kwargs: Any + ) -> Optional[_models.ProtectionContainerResource]: + error_map = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Optional[_models.ProtectionContainerResource]] = 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, "ProtectionContainerResource") + + request = build_register_request( + vault_name=vault_name, + resource_group_name=resource_group_name, + fabric_name=fabric_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + template_url=self._register_initial.metadata["url"], + headers=_headers, + params=_params, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize("ProtectionContainerResource", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _register_initial.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}" + } + @overload - def register( + def begin_register( self, vault_name: str, resource_group_name: str, @@ -334,7 +409,7 @@ *, content_type: str = "application/json", **kwargs: Any - ) -> Optional[_models.ProtectionContainerResource]: + ) -> LROPoller[_models.ProtectionContainerResource]: """Registers the container with Recovery Services vault. This is an asynchronous operation. To track the operation status, use location header to call get latest status of @@ -356,14 +431,22 @@ 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: ProtectionContainerResource or None or the result of cls(response) - :rtype: ~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource or - None + :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 ProtectionContainerResource or the result + of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def register( + def begin_register( self, vault_name: str, resource_group_name: str, @@ -373,7 +456,7 @@ *, content_type: str = "application/json", **kwargs: Any - ) -> Optional[_models.ProtectionContainerResource]: + ) -> LROPoller[_models.ProtectionContainerResource]: """Registers the container with Recovery Services vault. This is an asynchronous operation. To track the operation status, use location header to call get latest status of @@ -394,14 +477,22 @@ 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: ProtectionContainerResource or None or the result of cls(response) - :rtype: ~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource or - None + :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 ProtectionContainerResource or the result + of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def register( + def begin_register( self, vault_name: str, resource_group_name: str, @@ -409,7 +500,7 @@ container_name: str, parameters: Union[_models.ProtectionContainerResource, IO], **kwargs: Any - ) -> Optional[_models.ProtectionContainerResource]: + ) -> LROPoller[_models.ProtectionContainerResource]: """Registers the container with Recovery Services vault. This is an asynchronous operation. To track the operation status, use location header to call get latest status of @@ -432,72 +523,66 @@ Default value is None. :paramtype content_type: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ProtectionContainerResource or None or the result of cls(response) - :rtype: ~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource or - None + :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 ProtectionContainerResource or the result + of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.recoveryservicesbackup.activestamp.models.ProtectionContainerResource] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Optional[_models.ProtectionContainerResource]] = 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, "ProtectionContainerResource") - - request = build_register_request( - vault_name=vault_name, - resource_group_name=resource_group_name, - fabric_name=fabric_name, - container_name=container_name, - subscription_id=self._config.subscription_id, - api_version=api_version, - content_type=content_type, - json=_json, - content=_content, - template_url=self.register.metadata["url"], - headers=_headers, - params=_params, - ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) - - _stream = False - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=_stream, **kwargs - ) - - response = pipeline_response.http_response - - if response.status_code not in [200, 202]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + cls: ClsType[_models.ProtectionContainerResource] = 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._register_initial( + vault_name=vault_name, + resource_group_name=resource_group_name, + fabric_name=fabric_name, + container_name=container_name, + parameters=parameters, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + kwargs.pop("error_map", None) - deserialized = None - if response.status_code == 200: + def get_long_running_output(pipeline_response): deserialized = self._deserialize("ProtectionContainerResource", pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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 - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - - register.metadata = { + begin_register.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/activestamp/py.typed new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/activestamp/py.typed --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/activestamp/py.typed 1970-01-01 01:00:00.000000000 +0100 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/activestamp/py.typed 2024-01-15 03:14:16.000000000 +0100 @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/passivestamp/_version.py new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/passivestamp/_version.py --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/passivestamp/_version.py 2023-09-18 08:13:01.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/passivestamp/_version.py 2024-01-15 03:14:16.000000000 +0100 @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "7.0.0" +VERSION = "8.0.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/passivestamp/py.typed new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/passivestamp/py.typed --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure/mgmt/recoveryservicesbackup/passivestamp/py.typed 1970-01-01 01:00:00.000000000 +0100 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure/mgmt/recoveryservicesbackup/passivestamp/py.typed 2024-01-15 03:14:16.000000000 +0100 @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure_mgmt_recoveryservicesbackup.egg-info/PKG-INFO new/azure-mgmt-recoveryservicesbackup-8.0.0/azure_mgmt_recoveryservicesbackup.egg-info/PKG-INFO --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure_mgmt_recoveryservicesbackup.egg-info/PKG-INFO 2023-09-18 08:13:56.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure_mgmt_recoveryservicesbackup.egg-info/PKG-INFO 2024-01-15 03:14:54.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: azure-mgmt-recoveryservicesbackup -Version: 7.0.0 +Version: 8.0.0 Summary: Microsoft Azure Recovery Services Backup Management Client Library for Python Home-page: https://github.com/Azure/azure-sdk-for-python Author: Microsoft Corporation @@ -11,25 +11,24 @@ Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 Classifier: License :: OSI Approved :: MIT License -Requires-Python: >=3.7 +Requires-Python: >=3.8 Description-Content-Type: text/markdown License-File: LICENSE License-File: LICENSE.txt Requires-Dist: isodate<1.0.0,>=0.6.1 Requires-Dist: azure-common~=1.1 Requires-Dist: azure-mgmt-core<2.0.0,>=1.3.2 -Requires-Dist: typing-extensions>=4.3.0; python_version < "3.8.0" # Microsoft Azure SDK for Python This is the Microsoft Azure Recovery Services Backup Management Client Library. -This package has been tested with Python 3.7+. +This package has been tested with Python 3.8+. For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all). ## _Disclaimer_ @@ -40,7 +39,7 @@ ### Prerequisites -- Python 3.7+ is required to use this package. +- Python 3.8+ is required to use this package. - [Azure subscription](https://azure.microsoft.com/free/) ### Install the package @@ -89,10 +88,19 @@ section of the project. - +# Release History +## 8.0.0 (2024-01-15) -# Release History +### Features Added + + - Model AzureVmWorkloadSAPHanaDBInstanceProtectedItem has a new parameter vault_id + - Model BackupStatusResponse has a new parameter acquire_storage_account_lock + - Model BackupStatusResponse has a new parameter protected_items_count + +### Breaking Changes + + - Renamed operation ProtectionContainersOperations.register to ProtectionContainersOperations.begin_register ## 7.0.0 (2023-09-18) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure_mgmt_recoveryservicesbackup.egg-info/SOURCES.txt new/azure-mgmt-recoveryservicesbackup-8.0.0/azure_mgmt_recoveryservicesbackup.egg-info/SOURCES.txt --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure_mgmt_recoveryservicesbackup.egg-info/SOURCES.txt 2023-09-18 08:13:56.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure_mgmt_recoveryservicesbackup.egg-info/SOURCES.txt 2024-01-15 03:14:54.000000000 +0100 @@ -16,6 +16,7 @@ azure/mgmt/recoveryservicesbackup/activestamp/_serialization.py azure/mgmt/recoveryservicesbackup/activestamp/_vendor.py azure/mgmt/recoveryservicesbackup/activestamp/_version.py +azure/mgmt/recoveryservicesbackup/activestamp/py.typed azure/mgmt/recoveryservicesbackup/activestamp/aio/__init__.py azure/mgmt/recoveryservicesbackup/activestamp/aio/_configuration.py azure/mgmt/recoveryservicesbackup/activestamp/aio/_patch.py @@ -136,6 +137,7 @@ azure/mgmt/recoveryservicesbackup/passivestamp/_serialization.py azure/mgmt/recoveryservicesbackup/passivestamp/_vendor.py azure/mgmt/recoveryservicesbackup/passivestamp/_version.py +azure/mgmt/recoveryservicesbackup/passivestamp/py.typed azure/mgmt/recoveryservicesbackup/passivestamp/aio/__init__.py azure/mgmt/recoveryservicesbackup/passivestamp/aio/_configuration.py azure/mgmt/recoveryservicesbackup/passivestamp/aio/_patch.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/azure_mgmt_recoveryservicesbackup.egg-info/requires.txt new/azure-mgmt-recoveryservicesbackup-8.0.0/azure_mgmt_recoveryservicesbackup.egg-info/requires.txt --- old/azure-mgmt-recoveryservicesbackup-7.0.0/azure_mgmt_recoveryservicesbackup.egg-info/requires.txt 2023-09-18 08:13:56.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/azure_mgmt_recoveryservicesbackup.egg-info/requires.txt 2024-01-15 03:14:54.000000000 +0100 @@ -1,6 +1,3 @@ isodate<1.0.0,>=0.6.1 azure-common~=1.1 azure-mgmt-core<2.0.0,>=1.3.2 - -[:python_version < "3.8.0"] -typing-extensions>=4.3.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-mgmt-recoveryservicesbackup-7.0.0/setup.py new/azure-mgmt-recoveryservicesbackup-8.0.0/setup.py --- old/azure-mgmt-recoveryservicesbackup-7.0.0/setup.py 2023-09-18 08:13:01.000000000 +0200 +++ new/azure-mgmt-recoveryservicesbackup-8.0.0/setup.py 2024-01-15 03:14:16.000000000 +0100 @@ -53,11 +53,11 @@ "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", + "Programming Language :: Python :: 3.12", "License :: OSI Approved :: MIT License", ], zip_safe=False, @@ -77,7 +77,6 @@ "isodate<1.0.0,>=0.6.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", + python_requires=">=3.8", )