Skip to content

Commit 27fe2f6

Browse files
[AutoRelease] t2-dataprotection-2023-11-29-72247(can only be merged by SDK owner) (#33327)
* code and test * update-testcase * Update ci.yml to enable testproxy * Update assets.json --------- Co-authored-by: azure-sdk <PythonSdkPipelines> Co-authored-by: ChenxiJiang333 <[email protected]> Co-authored-by: ChenxiJiang333 <[email protected]>
1 parent a3c5822 commit 27fe2f6

File tree

119 files changed

+3804
-267
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+3804
-267
lines changed

sdk/dataprotection/azure-mgmt-dataprotection/CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# Release History
22

3+
## 1.3.0 (2023-12-18)
4+
5+
### Features Added
6+
7+
- Added operation BackupInstancesOperations.begin_trigger_cross_region_restore
8+
- Added operation BackupInstancesOperations.begin_validate_cross_region_restore
9+
- Added operation group FetchCrossRegionRestoreJobOperations
10+
- Added operation group FetchCrossRegionRestoreJobsOperations
11+
- Added operation group FetchSecondaryRecoveryPointsOperations
12+
- Model AzureBackupDiscreteRecoveryPoint has a new parameter recovery_point_state
13+
- Model BackupVault has a new parameter replicated_regions
14+
- Model JobExtendedInfo has a new parameter warning_details
15+
316
## 1.2.0 (2023-07-21)
417

518
### Features Added

sdk/dataprotection/azure-mgmt-dataprotection/README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,3 @@ Code samples for this package can be found at:
5959
If you encounter any bugs or have suggestions, please file an issue in the
6060
[Issues](https://github.com/Azure/azure-sdk-for-python/issues)
6161
section of the project.
62-
63-
64-
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-dataprotection%2FREADME.png)
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
2-
"commit": "a8fb6bcb9872431012ed1c7edbb7f369295422a5",
2+
"commit": "9c7722c82ca6c894e3d5931f074c4f025598af08",
33
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
4-
"autorest": "3.9.2",
4+
"autorest": "3.9.7",
55
"use": [
6-
"@autorest/python@6.6.0",
7-
"@autorest/modelerfour@4.24.3"
6+
"@autorest/python@6.7.1",
7+
"@autorest/modelerfour@4.26.2"
88
],
9-
"autorest_command": "autorest specification/dataprotection/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.6.0 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False",
9+
"autorest_command": "autorest specification/dataprotection/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.7.1 --use=@autorest/modelerfour@4.26.2 --version=3.9.7 --version-tolerant=False",
1010
"readme": "specification/dataprotection/resource-manager/readme.md"
1111
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"AssetsRepo": "Azure/azure-sdk-assets",
3+
"AssetsRepoPrefixPath": "python",
4+
"TagPrefix": "python/dataprotection/azure-mgmt-dataprotection",
5+
"Tag": "python/dataprotection/azure-mgmt-dataprotection_935812ff3e"
6+
}

sdk/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection/_configuration.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ class DataProtectionMgmtClientConfiguration(Configuration): # pylint: disable=t
2929
:type credential: ~azure.core.credentials.TokenCredential
3030
:param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
3131
:type subscription_id: str
32-
:keyword api_version: Api Version. Default value is "2023-05-01". Note that overriding this
32+
:keyword api_version: Api Version. Default value is "2023-11-01". Note that overriding this
3333
default value may result in unsupported behavior.
3434
:paramtype api_version: str
3535
"""
3636

3737
def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None:
3838
super(DataProtectionMgmtClientConfiguration, self).__init__(**kwargs)
39-
api_version: str = kwargs.pop("api_version", "2023-05-01")
39+
api_version: str = kwargs.pop("api_version", "2023-11-01")
4040

4141
if credential is None:
4242
raise ValueError("Parameter 'credential' must not be None.")

sdk/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection/_data_protection_mgmt_client.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
DppResourceGuardProxyOperations,
2727
ExportJobsOperationResultOperations,
2828
ExportJobsOperations,
29+
FetchCrossRegionRestoreJobOperations,
30+
FetchCrossRegionRestoreJobsOperations,
31+
FetchSecondaryRecoveryPointsOperations,
2932
JobsOperations,
3033
OperationResultOperations,
3134
OperationStatusBackupVaultContextOperations,
@@ -72,6 +75,15 @@ class DataProtectionMgmtClient: # pylint: disable=client-accepts-api-version-ke
7275
:vartype backup_instances: azure.mgmt.dataprotection.operations.BackupInstancesOperations
7376
:ivar recovery_points: RecoveryPointsOperations operations
7477
:vartype recovery_points: azure.mgmt.dataprotection.operations.RecoveryPointsOperations
78+
:ivar fetch_secondary_recovery_points: FetchSecondaryRecoveryPointsOperations operations
79+
:vartype fetch_secondary_recovery_points:
80+
azure.mgmt.dataprotection.operations.FetchSecondaryRecoveryPointsOperations
81+
:ivar fetch_cross_region_restore_job: FetchCrossRegionRestoreJobOperations operations
82+
:vartype fetch_cross_region_restore_job:
83+
azure.mgmt.dataprotection.operations.FetchCrossRegionRestoreJobOperations
84+
:ivar fetch_cross_region_restore_jobs: FetchCrossRegionRestoreJobsOperations operations
85+
:vartype fetch_cross_region_restore_jobs:
86+
azure.mgmt.dataprotection.operations.FetchCrossRegionRestoreJobsOperations
7587
:ivar jobs: JobsOperations operations
7688
:vartype jobs: azure.mgmt.dataprotection.operations.JobsOperations
7789
:ivar restorable_time_ranges: RestorableTimeRangesOperations operations
@@ -96,7 +108,7 @@ class DataProtectionMgmtClient: # pylint: disable=client-accepts-api-version-ke
96108
:type subscription_id: str
97109
:param base_url: Service URL. Default value is "https://management.azure.com".
98110
:type base_url: str
99-
:keyword api_version: Api Version. Default value is "2023-05-01". Note that overriding this
111+
:keyword api_version: Api Version. Default value is "2023-11-01". Note that overriding this
100112
default value may result in unsupported behavior.
101113
:paramtype api_version: str
102114
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
@@ -144,6 +156,15 @@ def __init__(
144156
self._client, self._config, self._serialize, self._deserialize
145157
)
146158
self.recovery_points = RecoveryPointsOperations(self._client, self._config, self._serialize, self._deserialize)
159+
self.fetch_secondary_recovery_points = FetchSecondaryRecoveryPointsOperations(
160+
self._client, self._config, self._serialize, self._deserialize
161+
)
162+
self.fetch_cross_region_restore_job = FetchCrossRegionRestoreJobOperations(
163+
self._client, self._config, self._serialize, self._deserialize
164+
)
165+
self.fetch_cross_region_restore_jobs = FetchCrossRegionRestoreJobsOperations(
166+
self._client, self._config, self._serialize, self._deserialize
167+
)
147168
self.jobs = JobsOperations(self._client, self._config, self._serialize, self._deserialize)
148169
self.restorable_time_ranges = RestorableTimeRangesOperations(
149170
self._client, self._config, self._serialize, self._deserialize

sdk/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection/_serialization.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -662,8 +662,9 @@ def _serialize(self, target_obj, data_type=None, **kwargs):
662662
_serialized.update(_new_attr) # type: ignore
663663
_new_attr = _new_attr[k] # type: ignore
664664
_serialized = _serialized[k]
665-
except ValueError:
666-
continue
665+
except ValueError as err:
666+
if isinstance(err, SerializationError):
667+
raise
667668

668669
except (AttributeError, KeyError, TypeError) as err:
669670
msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj))
@@ -741,6 +742,8 @@ def query(self, name, data, data_type, **kwargs):
741742
742743
:param data: The data to be serialized.
743744
:param str data_type: The type to be serialized from.
745+
:keyword bool skip_quote: Whether to skip quote the serialized result.
746+
Defaults to False.
744747
:rtype: str
745748
:raises: TypeError if serialization fails.
746749
:raises: ValueError if data is None
@@ -749,10 +752,8 @@ def query(self, name, data, data_type, **kwargs):
749752
# Treat the list aside, since we don't want to encode the div separator
750753
if data_type.startswith("["):
751754
internal_data_type = data_type[1:-1]
752-
data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data]
753-
if not kwargs.get("skip_quote", False):
754-
data = [quote(str(d), safe="") for d in data]
755-
return str(self.serialize_iter(data, internal_data_type, **kwargs))
755+
do_quote = not kwargs.get("skip_quote", False)
756+
return str(self.serialize_iter(data, internal_data_type, do_quote=do_quote, **kwargs))
756757

757758
# Not a list, regular serialization
758759
output = self.serialize_data(data, data_type, **kwargs)
@@ -891,6 +892,8 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs):
891892
not be None or empty.
892893
:param str div: If set, this str will be used to combine the elements
893894
in the iterable into a combined string. Default is 'None'.
895+
:keyword bool do_quote: Whether to quote the serialized result of each iterable element.
896+
Defaults to False.
894897
:rtype: list, str
895898
"""
896899
if isinstance(data, str):
@@ -903,9 +906,14 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs):
903906
for d in data:
904907
try:
905908
serialized.append(self.serialize_data(d, iter_type, **kwargs))
906-
except ValueError:
909+
except ValueError as err:
910+
if isinstance(err, SerializationError):
911+
raise
907912
serialized.append(None)
908913

914+
if kwargs.get("do_quote", False):
915+
serialized = ["" if s is None else quote(str(s), safe="") for s in serialized]
916+
909917
if div:
910918
serialized = ["" if s is None else str(s) for s in serialized]
911919
serialized = div.join(serialized)
@@ -950,7 +958,9 @@ def serialize_dict(self, attr, dict_type, **kwargs):
950958
for key, value in attr.items():
951959
try:
952960
serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs)
953-
except ValueError:
961+
except ValueError as err:
962+
if isinstance(err, SerializationError):
963+
raise
954964
serialized[self.serialize_unicode(key)] = None
955965

956966
if "xml" in serialization_ctxt:

sdk/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection/_vendor.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
66
# --------------------------------------------------------------------------
77

8-
from typing import List, cast
9-
108
from azure.core.pipeline.transport import HttpRequest
119

1210

@@ -16,15 +14,3 @@ def _convert_request(request, files=None):
1614
if files:
1715
request.set_formdata_body(files)
1816
return request
19-
20-
21-
def _format_url_section(template, **kwargs):
22-
components = template.split("/")
23-
while components:
24-
try:
25-
return template.format(**kwargs)
26-
except KeyError as key:
27-
# Need the cast, as for some reasons "split" is typed as list[str | Any]
28-
formatted_components = cast(List[str], template.split("/"))
29-
components = [c for c in formatted_components if "{}".format(key.args[0]) not in c]
30-
template = "/".join(components)

sdk/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
77
# --------------------------------------------------------------------------
88

9-
VERSION = "1.2.0"
9+
VERSION = "1.3.0"

sdk/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection/aio/_configuration.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ class DataProtectionMgmtClientConfiguration(Configuration): # pylint: disable=t
2929
:type credential: ~azure.core.credentials_async.AsyncTokenCredential
3030
:param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
3131
:type subscription_id: str
32-
:keyword api_version: Api Version. Default value is "2023-05-01". Note that overriding this
32+
:keyword api_version: Api Version. Default value is "2023-11-01". Note that overriding this
3333
default value may result in unsupported behavior.
3434
:paramtype api_version: str
3535
"""
3636

3737
def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **kwargs: Any) -> None:
3838
super(DataProtectionMgmtClientConfiguration, self).__init__(**kwargs)
39-
api_version: str = kwargs.pop("api_version", "2023-05-01")
39+
api_version: str = kwargs.pop("api_version", "2023-11-01")
4040

4141
if credential is None:
4242
raise ValueError("Parameter 'credential' must not be None.")

0 commit comments

Comments
 (0)