Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Release History

## 4.2.0 (2026-08-13)

### Features Added

- Model `VaultProperties` added property `region_of_choice_settings`
- Added model `RegionOfChoiceSettings`
Comment thread
ChenxiJiang333 marked this conversation as resolved.

## 4.1.0 (2026-07-07)

### Features Added
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"apiVersion": "2026-05-01",
"apiVersion": "2026-07-01",
"apiVersions": {
"Microsoft.RecoveryServices": "2026-05-01"
"Microsoft.RecoveryServices": "2026-07-01"
},
"commit": "3de4ed97d8bf726aa7fb8dea311a5a7d5ec59730",
"commit": "e9b8d33567e9422a09711667279fe178fada51a1",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"typespec_src": "specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/RecoveryServices",
"emitterVersion": "0.63.2",
"httpClientPythonVersion": "^0.34.0"
"emitterVersion": "0.63.3",
"httpClientPythonVersion": "^0.35.1"
}
505 changes: 110 additions & 395 deletions sdk/recoveryservices/azure-mgmt-recoveryservices/api.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
apiMdSha256: 048fa63bd2e03305602a82d48677c12303884877039cc2e34b93c025b944e82f
parserVersion: 0.3.28
apiMdSha256: a818033c280b1ec0f8dee0207c88a0766717cca0f5096ebcd6f190d08d81e1bf
parserVersion: 0.3.31
pythonVersion: 3.13.14
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
"azure.mgmt.recoveryservices.models.PrivateLinkResourceProperties": "Microsoft.RecoveryServices.PrivateLinkResourceProperties",
"azure.mgmt.recoveryservices.models.PrivateLinkServiceConnectionState": "Microsoft.RecoveryServices.PrivateLinkServiceConnectionState",
"azure.mgmt.recoveryservices.models.RawCertificateData": "Microsoft.RecoveryServices.RawCertificateData",
"azure.mgmt.recoveryservices.models.RegionOfChoiceSettings": "Microsoft.RecoveryServices.RegionOfChoiceSettings",
"azure.mgmt.recoveryservices.models.ReplicationUsage": "Microsoft.RecoveryServices.ReplicationUsage",
"azure.mgmt.recoveryservices.models.ResourceCapabilities": "Microsoft.RecoveryServices.ResourceCapabilities",
"azure.mgmt.recoveryservices.models.ResourceCertificateDetails": "Microsoft.RecoveryServices.ResourceCertificateDetails",
Expand Down Expand Up @@ -151,5 +152,5 @@
"azure.mgmt.recoveryservices.RecoveryServicesClient.get_operation_result": "Microsoft.RecoveryServices.getOperationResult",
"azure.mgmt.recoveryservices.aio.RecoveryServicesClient.get_operation_result": "Microsoft.RecoveryServices.getOperationResult"
},
"CrossLanguageVersion": "45e8bbe08725"
"CrossLanguageVersion": "4cffd300683a"
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@
from azure.core.credentials import TokenCredential


class RecoveryServicesClient(_RecoveryServicesClientOperationsMixin): # pylint: disable=too-many-instance-attributes
class RecoveryServicesClient(
_RecoveryServicesClientOperationsMixin
): # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only
"""RecoveryServicesClient.

:ivar operations: Operations operations
Expand Down Expand Up @@ -78,7 +80,7 @@ class RecoveryServicesClient(_RecoveryServicesClientOperationsMixin): # pylint:
:keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:paramtype cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are "2026-05-01"
:keyword api_version: The API version to use for this operation. Known values are "2026-07-01"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
:paramtype api_version: str
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=line-too-long,useless-suppression
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
Expand All @@ -18,7 +19,7 @@
from azure.core.credentials import TokenCredential


class RecoveryServicesClientConfiguration: # pylint: disable=too-many-instance-attributes
class RecoveryServicesClientConfiguration: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only
"""Configuration for RecoveryServicesClient.

Note that all parameters used to create this instance are saved as instance
Expand All @@ -33,7 +34,7 @@ class RecoveryServicesClientConfiguration: # pylint: disable=too-many-instance-
:param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:type cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are "2026-05-01"
:keyword api_version: The API version to use for this operation. Known values are "2026-07-01"
and None. Default value is None. If not set, the operation's default API version will be used.
Comment thread
ChenxiJiang333 marked this conversation as resolved.
Note that overriding this default value may result in unsupported behavior.
:paramtype api_version: str
Expand All @@ -47,7 +48,7 @@ def __init__(
cloud_setting: Optional["AzureClouds"] = None,
**kwargs: Any
) -> None:
api_version: str = kwargs.pop("api_version", "2026-05-01")
api_version: str = kwargs.pop("api_version", "2026-07-01")

if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,15 @@ def _is_readonly(p):


class SdkJSONEncoder(JSONEncoder):
"""A JSON encoder that's capable of serializing datetime objects and bytes."""
"""A JSON encoder that's capable of serializing datetime objects and bytes.

:param args: Additional positional arguments passed to the base ``JSONEncoder``.
:type args: typing.Any
:keyword exclude_readonly: Whether to exclude readonly properties. Defaults to False.
:paramtype exclude_readonly: bool
:keyword format: The format to use for serialization. Defaults to None.
:paramtype format: typing.Optional[str]
"""

def __init__(self, *args, exclude_readonly: bool = False, format: typing.Optional[str] = None, **kwargs):
super().__init__(*args, **kwargs)
Expand Down Expand Up @@ -342,6 +350,12 @@ def _deserialize_int_as_str(attr):
return int(attr)


def _deserialize_bool_as_str(attr):
if isinstance(attr, bool):
return attr
Comment thread
ChenxiJiang333 marked this conversation as resolved.
return attr.lower() == "true"


_DESERIALIZE_MAPPING = {
datetime: _deserialize_datetime,
date: _deserialize_date,
Expand Down Expand Up @@ -369,6 +383,8 @@ def _deserialize_int_as_str(attr):
def get_deserializer(annotation: typing.Any, rf: typing.Optional["_RestField"] = None):
if annotation is int and rf and rf._format == "str":
return _deserialize_int_as_str
if annotation is bool and rf and rf._format == "str":
return _deserialize_bool_as_str
if annotation is str and rf and rf._format in _ARRAY_ENCODE_MAPPING:
return functools.partial(_deserialize_array_encoded, _ARRAY_ENCODE_MAPPING[rf._format])
if rf and rf._format:
Expand Down Expand Up @@ -458,21 +474,21 @@ def __ne__(self, other: typing.Any) -> bool:

def keys(self) -> typing.KeysView[str]:
"""
:returns: a set-like object providing a view on D's keys
:returns: a set-like object providing a view on the mapping's keys
:rtype: ~typing.KeysView
"""
return self._data.keys()

def values(self) -> typing.ValuesView[typing.Any]:
"""
:returns: an object providing a view on D's values
:returns: an object providing a view on the mapping's values
:rtype: ~typing.ValuesView
"""
return self._data.values()

def items(self) -> typing.ItemsView[str, typing.Any]:
"""
:returns: set-like object providing a view on D's items
:returns: a set-like object providing a view on the mapping's items
:rtype: ~typing.ItemsView
"""
return self._data.items()
Expand All @@ -482,7 +498,7 @@ def get(self, key: str, default: typing.Any = None) -> typing.Any:
Get the value for key if key is in the dictionary, else default.
:param str key: The key to look up.
:param any default: The value to return if key is not in the dictionary. Defaults to None
:returns: D[k] if k in D, else d.
:returns: The value for key if key is in the dictionary, else default.
:rtype: any
"""
try:
Expand Down Expand Up @@ -517,19 +533,19 @@ def popitem(self) -> tuple[str, typing.Any]:
Removes and returns some (key, value) pair
:returns: The (key, value) pair.
:rtype: tuple
:raises KeyError: if D is empty.
:raises KeyError: if the dictionary is empty.
"""
return self._data.popitem()

def clear(self) -> None:
"""
Remove all items from D.
Remove all items from the dictionary.
"""
self._data.clear()

def update(self, *args: typing.Any, **kwargs: typing.Any) -> None: # pylint: disable=arguments-differ
"""
Updates D from mapping/iterable E and F.
Update the dictionary from a mapping or an iterable of key-value pairs.
:param any args: Either a mapping object or an iterable of key-value pairs.
"""
self._data.update(*args, **kwargs)
Expand All @@ -542,10 +558,11 @@ def setdefault(self, key: str, default: typing.Any) -> typing.Any: ... # pylint

def setdefault(self, key: str, default: typing.Any = _UNSET) -> typing.Any:
"""
Same as calling D.get(k, d), and setting D[k]=d if k not found
Return the value for key if key is in the dictionary; otherwise set the key to
default and return default.
:param str key: The key to look up.
:param any default: The value to set if key is not in the dictionary
:returns: D[k] if k in D, else d.
:returns: The value for key if key is in the dictionary, else default.
:rtype: any
"""
if default is _UNSET:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,11 @@ def _decode_attribute_map_key(key):


class Serializer: # pylint: disable=too-many-public-methods
"""Request object model serializer."""
"""Request object model serializer.

:param classes: Mapping of model names to model types, used to resolve models during serialization.
:type classes: typing.Optional[typing.Mapping[str, type]]
"""

basic_types = {str: "str", int: "int", bool: "bool", float: "float"}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

VERSION = "4.1.0"
VERSION = "4.2.0"
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@
from azure.core.credentials_async import AsyncTokenCredential


class RecoveryServicesClient(_RecoveryServicesClientOperationsMixin): # pylint: disable=too-many-instance-attributes
class RecoveryServicesClient(
_RecoveryServicesClientOperationsMixin
): # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only
"""RecoveryServicesClient.

:ivar operations: Operations operations
Expand Down Expand Up @@ -81,7 +83,7 @@ class RecoveryServicesClient(_RecoveryServicesClientOperationsMixin): # pylint:
:keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:paramtype cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are "2026-05-01"
:keyword api_version: The API version to use for this operation. Known values are "2026-07-01"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
:paramtype api_version: str
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=line-too-long,useless-suppression
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
Expand All @@ -18,7 +19,7 @@
from azure.core.credentials_async import AsyncTokenCredential


class RecoveryServicesClientConfiguration: # pylint: disable=too-many-instance-attributes
class RecoveryServicesClientConfiguration: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only
"""Configuration for RecoveryServicesClient.

Note that all parameters used to create this instance are saved as instance
Expand All @@ -33,7 +34,7 @@ class RecoveryServicesClientConfiguration: # pylint: disable=too-many-instance-
:param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:type cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are "2026-05-01"
:keyword api_version: The API version to use for this operation. Known values are "2026-07-01"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
:paramtype api_version: str
Expand All @@ -47,7 +48,7 @@ def __init__(
cloud_setting: Optional["AzureClouds"] = None,
**kwargs: Any
) -> None:
api_version: str = kwargs.pop("api_version", "2026-05-01")
api_version: str = kwargs.pop("api_version", "2026-07-01")

if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
Expand Down
Loading
Loading