Skip to content

Commit e952382

Browse files
[AutoRelease] t2-avs-2024-09-11-70074(can only be merged by SDK owner) (Azure#37287)
* code and test * update-testcase * Update package-lock.json * Update package.json --------- Co-authored-by: azure-sdk <PythonSdkPipelines> Co-authored-by: ChenxiJiang333 <[email protected]> Co-authored-by: ChenxiJiang333 <[email protected]>
1 parent e231566 commit e952382

File tree

118 files changed

+6175
-1284
lines changed

Some content is hidden

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

118 files changed

+6175
-1284
lines changed

sdk/compute/azure-mgmt-avs/CHANGELOG.md

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

3+
## 9.0.0 (2024-09-22)
4+
5+
### Features Added
6+
7+
- Added operation WorkloadNetworksOperations.list_public_ips
8+
- Added operation group IscsiPathsOperations
9+
- Model Addon has a new parameter system_data
10+
- Model CloudLink has a new parameter provisioning_state
11+
- Model CloudLink has a new parameter system_data
12+
- Model Cluster has a new parameter system_data
13+
- Model Cluster has a new parameter vsan_datastore_name
14+
- Model ClusterUpdate has a new parameter sku
15+
- Model Datastore has a new parameter elastic_san_volume
16+
- Model Datastore has a new parameter system_data
17+
- Model Endpoints has a new parameter hcx_cloud_manager_ip
18+
- Model Endpoints has a new parameter nsxt_manager_ip
19+
- Model Endpoints has a new parameter vcenter_ip
20+
- Model ExpressRouteAuthorization has a new parameter system_data
21+
- Model GlobalReachConnection has a new parameter system_data
22+
- Model HcxEnterpriseSite has a new parameter provisioning_state
23+
- Model HcxEnterpriseSite has a new parameter system_data
24+
- Model ManagementCluster has a new parameter vsan_datastore_name
25+
- Model Operation has a new parameter action_type
26+
- Model PlacementPolicy has a new parameter system_data
27+
- Model PrivateCloud has a new parameter dns_zone_type
28+
- Model PrivateCloud has a new parameter system_data
29+
- Model PrivateCloud has a new parameter virtual_network_id
30+
- Model PrivateCloudUpdate has a new parameter dns_zone_type
31+
- Model PrivateCloudUpdate has a new parameter sku
32+
- Model ProxyResource has a new parameter system_data
33+
- Model Resource has a new parameter system_data
34+
- Model ScriptCmdlet has a new parameter audience
35+
- Model ScriptCmdlet has a new parameter provisioning_state
36+
- Model ScriptCmdlet has a new parameter system_data
37+
- Model ScriptExecution has a new parameter system_data
38+
- Model ScriptPackage has a new parameter provisioning_state
39+
- Model ScriptPackage has a new parameter system_data
40+
- Model Sku has a new parameter capacity
41+
- Model Sku has a new parameter family
42+
- Model Sku has a new parameter size
43+
- Model Sku has a new parameter tier
44+
- Model TrackedResource has a new parameter system_data
45+
- Model VirtualMachine has a new parameter provisioning_state
46+
- Model VirtualMachine has a new parameter system_data
47+
- Model WorkloadNetwork has a new parameter provisioning_state
48+
- Model WorkloadNetwork has a new parameter system_data
49+
- Model WorkloadNetworkDhcp has a new parameter system_data
50+
- Model WorkloadNetworkDnsService has a new parameter system_data
51+
- Model WorkloadNetworkDnsZone has a new parameter system_data
52+
- Model WorkloadNetworkGateway has a new parameter provisioning_state
53+
- Model WorkloadNetworkGateway has a new parameter system_data
54+
- Model WorkloadNetworkPortMirroring has a new parameter system_data
55+
- Model WorkloadNetworkPublicIP has a new parameter system_data
56+
- Model WorkloadNetworkSegment has a new parameter system_data
57+
- Model WorkloadNetworkVMGroup has a new parameter system_data
58+
- Model WorkloadNetworkVirtualMachine has a new parameter provisioning_state
59+
- Model WorkloadNetworkVirtualMachine has a new parameter system_data
60+
61+
### Breaking Changes
62+
63+
- Model Operation no longer has parameter properties
64+
- Operation WorkloadNetworksOperations.get no longer has parameter workload_network_name
65+
- Parameter location of model PrivateCloud is now required
66+
- Parameter location of model TrackedResource is now required
67+
- Parameter type of model PrivateCloudIdentity is now required
68+
- Parameter value of model AddonList is now required
69+
- Parameter value of model CloudLinkList is now required
70+
- Parameter value of model ClusterList is now required
71+
- Parameter value of model DatastoreList is now required
72+
- Parameter value of model ExpressRouteAuthorizationList is now required
73+
- Parameter value of model GlobalReachConnectionList is now required
74+
- Parameter value of model HcxEnterpriseSiteList is now required
75+
- Parameter value of model PlacementPoliciesList is now required
76+
- Parameter value of model PrivateCloudList is now required
77+
- Parameter value of model ScriptCmdletsList is now required
78+
- Parameter value of model ScriptExecutionsList is now required
79+
- Parameter value of model ScriptPackagesList is now required
80+
- Parameter value of model VirtualMachinesList is now required
81+
- Parameter value of model WorkloadNetworkDhcpList is now required
82+
- Parameter value of model WorkloadNetworkDnsServicesList is now required
83+
- Parameter value of model WorkloadNetworkDnsZonesList is now required
84+
- Parameter value of model WorkloadNetworkGatewayList is now required
85+
- Parameter value of model WorkloadNetworkList is now required
86+
- Parameter value of model WorkloadNetworkPortMirroringList is now required
87+
- Parameter value of model WorkloadNetworkPublicIPsList is now required
88+
- Parameter value of model WorkloadNetworkSegmentsList is now required
89+
- Parameter value of model WorkloadNetworkVMGroupsList is now required
90+
- Parameter value of model WorkloadNetworkVirtualMachinesList is now required
91+
- Removed operation WorkloadNetworksOperations.list_public_i_ps
92+
393
## 9.0.0b1 (2024-06-28)
494

595
### Features Added
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
2-
"commit": "cc92c5922e1d69bab8f0deb8e1f778f6d9455739",
2+
"commit": "3519c80fe510a268f6e59a29ccac8a53fdec15b6",
33
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
44
"autorest": "3.10.2",
55
"use": [
6-
"@autorest/python@6.13.19",
6+
"@autorest/python@6.19.0",
77
"@autorest/[email protected]"
88
],
9-
"autorest_command": "autorest specification/vmware/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.13.19 --use=@autorest/[email protected] --version=3.10.2 --version-tolerant=False",
9+
"autorest_command": "autorest specification/vmware/resource-manager/readme.md --generate-sample=True --generate-test=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.19.0 --use=@autorest/[email protected] --version=3.10.2 --version-tolerant=False",
1010
"readme": "specification/vmware/resource-manager/readme.md"
1111
}

sdk/compute/azure-mgmt-avs/assets.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

sdk/compute/azure-mgmt-avs/azure/mgmt/avs/_avs_client.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
from copy import deepcopy
1010
from typing import Any, TYPE_CHECKING
11+
from typing_extensions import Self
1112

1213
from azure.core.pipeline import policies
1314
from azure.core.rest import HttpRequest, HttpResponse
@@ -179,7 +180,7 @@ def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs:
179180
def close(self) -> None:
180181
self._client.close()
181182

182-
def __enter__(self) -> "AVSClient":
183+
def __enter__(self) -> Self:
183184
self._client.__enter__()
184185
return self
185186

sdk/compute/azure-mgmt-avs/azure/mgmt/avs/_serialization.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ def _json_attemp(data):
144144
# context otherwise.
145145
_LOGGER.critical("Wasn't XML not JSON, failing")
146146
raise DeserializationError("XML is invalid") from err
147+
elif content_type.startswith("text/"):
148+
return data_as_str
147149
raise DeserializationError("Cannot deserialize content-type: {}".format(content_type))
148150

149151
@classmethod

sdk/compute/azure-mgmt-avs/azure/mgmt/avs/_vendor.py

Lines changed: 0 additions & 16 deletions
This file was deleted.

sdk/compute/azure-mgmt-avs/azure/mgmt/avs/_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 = "9.0.0b1"
9+
VERSION = "9.0.0"

sdk/compute/azure-mgmt-avs/azure/mgmt/avs/aio/_avs_client.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
from copy import deepcopy
1010
from typing import Any, Awaitable, TYPE_CHECKING
11+
from typing_extensions import Self
1112

1213
from azure.core.pipeline import policies
1314
from azure.core.rest import AsyncHttpResponse, HttpRequest
@@ -182,7 +183,7 @@ def _send_request(
182183
async def close(self) -> None:
183184
await self._client.close()
184185

185-
async def __aenter__(self) -> "AVSClient":
186+
async def __aenter__(self) -> Self:
186187
await self._client.__aenter__()
187188
return self
188189

sdk/compute/azure-mgmt-avs/azure/mgmt/avs/aio/operations/_addons_operations.py

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# --------------------------------------------------------------------------
99
from io import IOBase
1010
import sys
11-
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, Type, TypeVar, Union, cast, overload
11+
from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, Type, TypeVar, Union, cast, overload
1212
import urllib.parse
1313

1414
from azure.core.async_paging import AsyncItemPaged, AsyncList
@@ -18,20 +18,20 @@
1818
ResourceExistsError,
1919
ResourceNotFoundError,
2020
ResourceNotModifiedError,
21+
StreamClosedError,
22+
StreamConsumedError,
2123
map_error,
2224
)
2325
from azure.core.pipeline import PipelineResponse
24-
from azure.core.pipeline.transport import AsyncHttpResponse
2526
from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
26-
from azure.core.rest import HttpRequest
27+
from azure.core.rest import AsyncHttpResponse, HttpRequest
2728
from azure.core.tracing.decorator import distributed_trace
2829
from azure.core.tracing.decorator_async import distributed_trace_async
2930
from azure.core.utils import case_insensitive_dict
3031
from azure.mgmt.core.exceptions import ARMErrorFormat
3132
from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
3233

3334
from ... import models as _models
34-
from ..._vendor import _convert_request
3535
from ...operations._addons_operations import (
3636
build_create_or_update_request,
3737
build_delete_request,
@@ -104,7 +104,6 @@ def prepare_request(next_link=None):
104104
headers=_headers,
105105
params=_params,
106106
)
107-
_request = _convert_request(_request)
108107
_request.url = self._client.format_url(_request.url)
109108

110109
else:
@@ -120,7 +119,6 @@ def prepare_request(next_link=None):
120119
_request = HttpRequest(
121120
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
122121
)
123-
_request = _convert_request(_request)
124122
_request.url = self._client.format_url(_request.url)
125123
_request.method = "GET"
126124
return _request
@@ -190,7 +188,6 @@ async def get(
190188
headers=_headers,
191189
params=_params,
192190
)
193-
_request = _convert_request(_request)
194191
_request.url = self._client.format_url(_request.url)
195192

196193
_stream = False
@@ -205,7 +202,7 @@ async def get(
205202
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
206203
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
207204

208-
deserialized = self._deserialize("Addon", pipeline_response)
205+
deserialized = self._deserialize("Addon", pipeline_response.http_response)
209206

210207
if cls:
211208
return cls(pipeline_response, deserialized, {}) # type: ignore
@@ -219,7 +216,7 @@ async def _create_or_update_initial(
219216
addon_name: str,
220217
addon: Union[_models.Addon, IO[bytes]],
221218
**kwargs: Any
222-
) -> _models.Addon:
219+
) -> AsyncIterator[bytes]:
223220
error_map: MutableMapping[int, Type[HttpResponseError]] = {
224221
401: ClientAuthenticationError,
225222
404: ResourceNotFoundError,
@@ -233,7 +230,7 @@ async def _create_or_update_initial(
233230

234231
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
235232
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
236-
cls: ClsType[_models.Addon] = kwargs.pop("cls", None)
233+
cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None)
237234

238235
content_type = content_type or "application/json"
239236
_json = None
@@ -255,29 +252,30 @@ async def _create_or_update_initial(
255252
headers=_headers,
256253
params=_params,
257254
)
258-
_request = _convert_request(_request)
259255
_request.url = self._client.format_url(_request.url)
260256

261-
_stream = False
257+
_decompress = kwargs.pop("decompress", True)
258+
_stream = True
262259
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
263260
_request, stream=_stream, **kwargs
264261
)
265262

266263
response = pipeline_response.http_response
267264

268265
if response.status_code not in [200, 201]:
266+
try:
267+
await response.read() # Load the body in memory and close the socket
268+
except (StreamConsumedError, StreamClosedError):
269+
pass
269270
map_error(status_code=response.status_code, response=response, error_map=error_map)
270271
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
271272
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
272273

273274
response_headers = {}
274-
if response.status_code == 200:
275-
deserialized = self._deserialize("Addon", pipeline_response)
276-
277275
if response.status_code == 201:
278276
response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After"))
279277

280-
deserialized = self._deserialize("Addon", pipeline_response)
278+
deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
281279

282280
if cls:
283281
return cls(pipeline_response, deserialized, response_headers) # type: ignore
@@ -390,10 +388,11 @@ async def begin_create_or_update(
390388
params=_params,
391389
**kwargs
392390
)
391+
await raw_result.http_response.read() # type: ignore
393392
kwargs.pop("error_map", None)
394393

395394
def get_long_running_output(pipeline_response):
396-
deserialized = self._deserialize("Addon", pipeline_response)
395+
deserialized = self._deserialize("Addon", pipeline_response.http_response)
397396
if cls:
398397
return cls(pipeline_response, deserialized, {}) # type: ignore
399398
return deserialized
@@ -418,9 +417,9 @@ def get_long_running_output(pipeline_response):
418417
self._client, raw_result, get_long_running_output, polling_method # type: ignore
419418
)
420419

421-
async def _delete_initial( # pylint: disable=inconsistent-return-statements
420+
async def _delete_initial(
422421
self, resource_group_name: str, private_cloud_name: str, addon_name: str, **kwargs: Any
423-
) -> None:
422+
) -> AsyncIterator[bytes]:
424423
error_map: MutableMapping[int, Type[HttpResponseError]] = {
425424
401: ClientAuthenticationError,
426425
404: ResourceNotFoundError,
@@ -433,7 +432,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
433432
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
434433

435434
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
436-
cls: ClsType[None] = kwargs.pop("cls", None)
435+
cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None)
437436

438437
_request = build_delete_request(
439438
resource_group_name=resource_group_name,
@@ -444,17 +443,21 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
444443
headers=_headers,
445444
params=_params,
446445
)
447-
_request = _convert_request(_request)
448446
_request.url = self._client.format_url(_request.url)
449447

450-
_stream = False
448+
_decompress = kwargs.pop("decompress", True)
449+
_stream = True
451450
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
452451
_request, stream=_stream, **kwargs
453452
)
454453

455454
response = pipeline_response.http_response
456455

457456
if response.status_code not in [200, 202, 204]:
457+
try:
458+
await response.read() # Load the body in memory and close the socket
459+
except (StreamConsumedError, StreamClosedError):
460+
pass
458461
map_error(status_code=response.status_code, response=response, error_map=error_map)
459462
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
460463
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
@@ -464,8 +467,12 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
464467
response_headers["Location"] = self._deserialize("str", response.headers.get("Location"))
465468
response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After"))
466469

470+
deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
471+
467472
if cls:
468-
return cls(pipeline_response, None, response_headers) # type: ignore
473+
return cls(pipeline_response, deserialized, response_headers) # type: ignore
474+
475+
return deserialized # type: ignore
469476

470477
@distributed_trace_async
471478
async def begin_delete(
@@ -493,7 +500,7 @@ async def begin_delete(
493500
lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
494501
cont_token: Optional[str] = kwargs.pop("continuation_token", None)
495502
if cont_token is None:
496-
raw_result = await self._delete_initial( # type: ignore
503+
raw_result = await self._delete_initial(
497504
resource_group_name=resource_group_name,
498505
private_cloud_name=private_cloud_name,
499506
addon_name=addon_name,
@@ -503,6 +510,7 @@ async def begin_delete(
503510
params=_params,
504511
**kwargs
505512
)
513+
await raw_result.http_response.read() # type: ignore
506514
kwargs.pop("error_map", None)
507515

508516
def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements

0 commit comments

Comments
 (0)