Skip to content

Commit 3e8ddd7

Browse files
azure-sdkmsyyc
andauthored
[AutoRelease] update module mysql for azure-mgmt-rdbms (#36803)
* code and test * update --------- Co-authored-by: azure-sdk <PythonSdkPipelines> Co-authored-by: msyyc <[email protected]>
1 parent fae7070 commit 3e8ddd7

File tree

149 files changed

+1851
-1742
lines changed

Some content is hidden

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

149 files changed

+1851
-1742
lines changed

sdk/rdbms/azure-mgmt-rdbms/_meta.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
"@autorest/[email protected]",
77
"@autorest/[email protected]"
88
],
9-
"autorest_command": "autorest specification/postgresql/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/[email protected] --use=@autorest/[email protected] --version=3.10.2 --version-tolerant=False",
10-
"readme": "specification/postgresql/resource-manager/readme.md"
9+
"autorest_command": "autorest specification/mysql/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/[email protected] --use=@autorest/[email protected] --version=3.10.2 --version-tolerant=False",
10+
"readme": "specification/mysql/resource-manager/readme.md"
1111
}

sdk/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql/_my_sql_management_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
@@ -244,7 +245,7 @@ def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs:
244245
def close(self) -> None:
245246
self._client.close()
246247

247-
def __enter__(self) -> "MySQLManagementClient":
248+
def __enter__(self) -> Self:
248249
self._client.__enter__()
249250
return self
250251

sdk/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql/_serialization.py

Lines changed: 3 additions & 1 deletion
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
@@ -1441,7 +1443,7 @@ def _deserialize(self, target_obj, data):
14411443
elif isinstance(response, type) and issubclass(response, Enum):
14421444
return self.deserialize_enum(data, response)
14431445

1444-
if data is None:
1446+
if data is None or data is CoreNull:
14451447
return data
14461448
try:
14471449
attributes = response._attribute_map # type: ignore

sdk/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql/_vendor.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
from abc import ABC
99
from typing import TYPE_CHECKING
1010

11-
from azure.core.pipeline.transport import HttpRequest
12-
1311
from ._configuration import MySQLManagementClientConfiguration
1412

1513
if TYPE_CHECKING:
@@ -19,14 +17,6 @@
1917
from ._serialization import Deserializer, Serializer
2018

2119

22-
def _convert_request(request, files=None):
23-
data = request.content if not files else None
24-
request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data)
25-
if files:
26-
request.set_formdata_body(files)
27-
return request
28-
29-
3020
class MySQLManagementClientMixinABC(ABC):
3121
"""DO NOT use this class. It is for internal typing use only."""
3222

sdk/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql/aio/_my_sql_management_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
@@ -250,7 +251,7 @@ def _send_request(
250251
async def close(self) -> None:
251252
await self._client.close()
252253

253-
async def __aenter__(self) -> "MySQLManagementClient":
254+
async def __aenter__(self) -> Self:
254255
await self._client.__aenter__()
255256
return self
256257

sdk/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql/aio/_vendor.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
from abc import ABC
99
from typing import TYPE_CHECKING
1010

11-
from azure.core.pipeline.transport import HttpRequest
12-
1311
from ._configuration import MySQLManagementClientConfiguration
1412

1513
if TYPE_CHECKING:

sdk/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql/aio/operations/_advisors_operations.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,13 @@
1919
map_error,
2020
)
2121
from azure.core.pipeline import PipelineResponse
22-
from azure.core.pipeline.transport import AsyncHttpResponse
23-
from azure.core.rest import HttpRequest
22+
from azure.core.rest import AsyncHttpResponse, HttpRequest
2423
from azure.core.tracing.decorator import distributed_trace
2524
from azure.core.tracing.decorator_async import distributed_trace_async
2625
from azure.core.utils import case_insensitive_dict
2726
from azure.mgmt.core.exceptions import ARMErrorFormat
2827

2928
from ... import models as _models
30-
from ..._vendor import _convert_request
3129
from ...operations._advisors_operations import build_get_request, build_list_by_server_request
3230
from .._vendor import MySQLManagementClientMixinABC
3331

@@ -98,7 +96,6 @@ async def get(
9896
headers=_headers,
9997
params=_params,
10098
)
101-
_request = _convert_request(_request)
10299
_request.url = self._client.format_url(_request.url)
103100

104101
_stream = False
@@ -112,7 +109,7 @@ async def get(
112109
map_error(status_code=response.status_code, response=response, error_map=error_map)
113110
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
114111

115-
deserialized = self._deserialize("Advisor", pipeline_response)
112+
deserialized = self._deserialize("Advisor", pipeline_response.http_response)
116113

117114
if cls:
118115
return cls(pipeline_response, deserialized, {}) # type: ignore
@@ -159,12 +156,10 @@ def prepare_request(next_link=None):
159156
headers=_headers,
160157
params=_params,
161158
)
162-
_request = _convert_request(_request)
163159
_request.url = self._client.format_url(_request.url)
164160

165161
else:
166162
_request = HttpRequest("GET", next_link)
167-
_request = _convert_request(_request)
168163
_request.url = self._client.format_url(_request.url)
169164
_request.method = "GET"
170165
return _request

sdk/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql/aio/operations/_check_name_availability_operations.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,12 @@
1919
map_error,
2020
)
2121
from azure.core.pipeline import PipelineResponse
22-
from azure.core.pipeline.transport import AsyncHttpResponse
23-
from azure.core.rest import HttpRequest
22+
from azure.core.rest import AsyncHttpResponse, HttpRequest
2423
from azure.core.tracing.decorator_async import distributed_trace_async
2524
from azure.core.utils import case_insensitive_dict
2625
from azure.mgmt.core.exceptions import ARMErrorFormat
2726

2827
from ... import models as _models
29-
from ..._vendor import _convert_request
3028
from ...operations._check_name_availability_operations import build_execute_request
3129
from .._vendor import MySQLManagementClientMixinABC
3230

@@ -141,7 +139,6 @@ async def execute(
141139
headers=_headers,
142140
params=_params,
143141
)
144-
_request = _convert_request(_request)
145142
_request.url = self._client.format_url(_request.url)
146143

147144
_stream = False
@@ -155,7 +152,7 @@ async def execute(
155152
map_error(status_code=response.status_code, response=response, error_map=error_map)
156153
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
157154

158-
deserialized = self._deserialize("NameAvailability", pipeline_response)
155+
deserialized = self._deserialize("NameAvailability", pipeline_response.http_response)
159156

160157
if cls:
161158
return cls(pipeline_response, deserialized, {}) # type: ignore

sdk/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql/aio/operations/_configurations_operations.py

Lines changed: 16 additions & 16 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

1313
from azure.core.async_paging import AsyncItemPaged, AsyncList
1414
from azure.core.exceptions import (
@@ -17,20 +17,20 @@
1717
ResourceExistsError,
1818
ResourceNotFoundError,
1919
ResourceNotModifiedError,
20+
StreamClosedError,
21+
StreamConsumedError,
2022
map_error,
2123
)
2224
from azure.core.pipeline import PipelineResponse
23-
from azure.core.pipeline.transport import AsyncHttpResponse
2425
from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
25-
from azure.core.rest import HttpRequest
26+
from azure.core.rest import AsyncHttpResponse, HttpRequest
2627
from azure.core.tracing.decorator import distributed_trace
2728
from azure.core.tracing.decorator_async import distributed_trace_async
2829
from azure.core.utils import case_insensitive_dict
2930
from azure.mgmt.core.exceptions import ARMErrorFormat
3031
from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
3132

3233
from ... import models as _models
33-
from ..._vendor import _convert_request
3434
from ...operations._configurations_operations import (
3535
build_create_or_update_request,
3636
build_get_request,
@@ -72,7 +72,7 @@ async def _create_or_update_initial(
7272
configuration_name: str,
7373
parameters: Union[_models.Configuration, IO[bytes]],
7474
**kwargs: Any
75-
) -> Optional[_models.Configuration]:
75+
) -> AsyncIterator[bytes]:
7676
error_map: MutableMapping[int, Type[HttpResponseError]] = {
7777
401: ClientAuthenticationError,
7878
404: ResourceNotFoundError,
@@ -86,7 +86,7 @@ async def _create_or_update_initial(
8686

8787
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2017-12-01"))
8888
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
89-
cls: ClsType[Optional[_models.Configuration]] = kwargs.pop("cls", None)
89+
cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None)
9090

9191
content_type = content_type or "application/json"
9292
_json = None
@@ -108,23 +108,25 @@ async def _create_or_update_initial(
108108
headers=_headers,
109109
params=_params,
110110
)
111-
_request = _convert_request(_request)
112111
_request.url = self._client.format_url(_request.url)
113112

114-
_stream = False
113+
_decompress = kwargs.pop("decompress", True)
114+
_stream = True
115115
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
116116
_request, stream=_stream, **kwargs
117117
)
118118

119119
response = pipeline_response.http_response
120120

121121
if response.status_code not in [200, 202]:
122+
try:
123+
await response.read() # Load the body in memory and close the socket
124+
except (StreamConsumedError, StreamClosedError):
125+
pass
122126
map_error(status_code=response.status_code, response=response, error_map=error_map)
123127
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
124128

125-
deserialized = None
126-
if response.status_code == 200:
127-
deserialized = self._deserialize("Configuration", pipeline_response)
129+
deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
128130

129131
if cls:
130132
return cls(pipeline_response, deserialized, {}) # type: ignore
@@ -241,10 +243,11 @@ async def begin_create_or_update(
241243
params=_params,
242244
**kwargs
243245
)
246+
await raw_result.http_response.read() # type: ignore
244247
kwargs.pop("error_map", None)
245248

246249
def get_long_running_output(pipeline_response):
247-
deserialized = self._deserialize("Configuration", pipeline_response)
250+
deserialized = self._deserialize("Configuration", pipeline_response.http_response)
248251
if cls:
249252
return cls(pipeline_response, deserialized, {}) # type: ignore
250253
return deserialized
@@ -306,7 +309,6 @@ async def get(
306309
headers=_headers,
307310
params=_params,
308311
)
309-
_request = _convert_request(_request)
310312
_request.url = self._client.format_url(_request.url)
311313

312314
_stream = False
@@ -320,7 +322,7 @@ async def get(
320322
map_error(status_code=response.status_code, response=response, error_map=error_map)
321323
raise HttpResponseError(response=response, error_format=ARMErrorFormat)
322324

323-
deserialized = self._deserialize("Configuration", pipeline_response)
325+
deserialized = self._deserialize("Configuration", pipeline_response.http_response)
324326

325327
if cls:
326328
return cls(pipeline_response, deserialized, {}) # type: ignore
@@ -367,12 +369,10 @@ def prepare_request(next_link=None):
367369
headers=_headers,
368370
params=_params,
369371
)
370-
_request = _convert_request(_request)
371372
_request.url = self._client.format_url(_request.url)
372373

373374
else:
374375
_request = HttpRequest("GET", next_link)
375-
_request = _convert_request(_request)
376376
_request.url = self._client.format_url(_request.url)
377377
_request.method = "GET"
378378
return _request

0 commit comments

Comments
 (0)