Skip to content

Commit 35df10f

Browse files
[AutoRelease] t2-quota-2023-11-02-51065(can only be merged by SDK owner) (Azure#32912)
* code and test * Update CHANGELOG.md * Update _version.py --------- Co-authored-by: azure-sdk <PythonSdkPipelines> Co-authored-by: ChenxiJiang333 <[email protected]>
1 parent 30524ad commit 35df10f

18 files changed

+125
-216
lines changed

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

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

3+
## 1.1.0 (2023-11-20)
4+
5+
### Other Changes
6+
7+
- Fix for first GA
8+
39
## 1.0.0 (2023-04-20)
410

511
### Breaking Changes

sdk/quota/azure-mgmt-quota/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-quota%2FREADME.png)

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
2-
"commit": "e58e0182fe8a91a069a95043b0812b53be3d916e",
2+
"commit": "4af52aaac2c3b4af4a0e61378d33c5bc050e65e2",
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.4.3",
7-
"@autorest/modelerfour@4.24.3"
6+
"@autorest/python@6.7.1",
7+
"@autorest/modelerfour@4.26.2"
88
],
9-
"autorest_command": "autorest specification/quota/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.4.3 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False",
9+
"autorest_command": "autorest specification/quota/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/quota/resource-manager/readme.md"
1111
}

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

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

9-
import sys
109
from typing import Any, TYPE_CHECKING
1110

1211
from azure.core.configuration import Configuration
@@ -15,11 +14,6 @@
1514

1615
from ._version import VERSION
1716

18-
if sys.version_info >= (3, 8):
19-
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
20-
else:
21-
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
22-
2317
if TYPE_CHECKING:
2418
# pylint: disable=unused-import,ungrouped-imports
2519
from azure.core.credentials import TokenCredential
@@ -40,7 +34,7 @@ class QuotaMgmtClientConfiguration(Configuration): # pylint: disable=too-many-i
4034

4135
def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None:
4236
super(QuotaMgmtClientConfiguration, self).__init__(**kwargs)
43-
api_version: Literal["2023-02-01"] = kwargs.pop("api_version", "2023-02-01")
37+
api_version: str = kwargs.pop("api_version", "2023-02-01")
4438

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

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

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,7 @@ def _serialize(self, target_obj, data_type=None, **kwargs):
629629
if xml_desc.get("attr", False):
630630
if xml_ns:
631631
ET.register_namespace(xml_prefix, xml_ns)
632-
xml_name = "{}{}".format(xml_ns, xml_name)
632+
xml_name = "{{{}}}{}".format(xml_ns, xml_name)
633633
serialized.set(xml_name, new_attr) # type: ignore
634634
continue
635635
if xml_desc.get("text", False):
@@ -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:
@@ -1271,7 +1281,7 @@ def _extract_name_from_internal_type(internal_type):
12711281
xml_name = internal_type_xml_map.get("name", internal_type.__name__)
12721282
xml_ns = internal_type_xml_map.get("ns", None)
12731283
if xml_ns:
1274-
xml_name = "{}{}".format(xml_ns, xml_name)
1284+
xml_name = "{{{}}}{}".format(xml_ns, xml_name)
12751285
return xml_name
12761286

12771287

@@ -1295,7 +1305,7 @@ def xml_key_extractor(attr, attr_desc, data):
12951305
# Integrate namespace if necessary
12961306
xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None))
12971307
if xml_ns:
1298-
xml_name = "{}{}".format(xml_ns, xml_name)
1308+
xml_name = "{{{}}}{}".format(xml_ns, xml_name)
12991309

13001310
# If it's an attribute, that's simple
13011311
if xml_desc.get("attr", False):

sdk/quota/azure-mgmt-quota/azure/mgmt/quota/_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/quota/azure-mgmt-quota/azure/mgmt/quota/_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.0.0"
9+
VERSION = "1.1.0"

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

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

9-
import sys
109
from typing import Any, TYPE_CHECKING
1110

1211
from azure.core.configuration import Configuration
@@ -15,11 +14,6 @@
1514

1615
from .._version import VERSION
1716

18-
if sys.version_info >= (3, 8):
19-
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
20-
else:
21-
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
22-
2317
if TYPE_CHECKING:
2418
# pylint: disable=unused-import,ungrouped-imports
2519
from azure.core.credentials_async import AsyncTokenCredential
@@ -40,7 +34,7 @@ class QuotaMgmtClientConfiguration(Configuration): # pylint: disable=too-many-i
4034

4135
def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None:
4236
super(QuotaMgmtClientConfiguration, self).__init__(**kwargs)
43-
api_version: Literal["2023-02-01"] = kwargs.pop("api_version", "2023-02-01")
37+
api_version: str = kwargs.pop("api_version", "2023-02-01")
4438

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

sdk/quota/azure-mgmt-quota/azure/mgmt/quota/aio/operations/_quota_operation_operations.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
# Code generated by Microsoft (R) AutoRest Code Generator.
77
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
88
# --------------------------------------------------------------------------
9-
import sys
109
from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
1110
import urllib.parse
1211

@@ -30,10 +29,6 @@
3029
from ..._vendor import _convert_request
3130
from ...operations._quota_operation_operations import build_list_request
3231

33-
if sys.version_info >= (3, 8):
34-
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
35-
else:
36-
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
3732
T = TypeVar("T")
3833
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
3934

@@ -71,9 +66,7 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.OperationResponse"]:
7166
_headers = kwargs.pop("headers", {}) or {}
7267
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
7368

74-
api_version: Literal["2023-02-01"] = kwargs.pop(
75-
"api_version", _params.pop("api-version", self._config.api_version)
76-
)
69+
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
7770
cls: ClsType[_models.OperationList] = kwargs.pop("cls", None)
7871

7972
error_map = {

sdk/quota/azure-mgmt-quota/azure/mgmt/quota/aio/operations/_quota_operations.py

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Code generated by Microsoft (R) AutoRest Code Generator.
77
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
88
# --------------------------------------------------------------------------
9-
import sys
9+
from io import IOBase
1010
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
1111
import urllib.parse
1212

@@ -38,10 +38,6 @@
3838
build_update_request,
3939
)
4040

41-
if sys.version_info >= (3, 8):
42-
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
43-
else:
44-
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
4541
T = TypeVar("T")
4642
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
4743

@@ -99,9 +95,7 @@ async def get(self, resource_name: str, scope: str, **kwargs: Any) -> _models.Cu
9995
_headers = kwargs.pop("headers", {}) or {}
10096
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
10197

102-
api_version: Literal["2023-02-01"] = kwargs.pop(
103-
"api_version", _params.pop("api-version", self._config.api_version)
104-
)
98+
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
10599
cls: ClsType[_models.CurrentQuotaLimitBase] = kwargs.pop("cls", None)
106100

107101
request = build_get_request(
@@ -157,16 +151,14 @@ async def _create_or_update_initial(
157151
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
158152
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
159153

160-
api_version: Literal["2023-02-01"] = kwargs.pop(
161-
"api_version", _params.pop("api-version", self._config.api_version)
162-
)
154+
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
163155
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
164156
cls: ClsType[Optional[_models.CurrentQuotaLimitBase]] = kwargs.pop("cls", None)
165157

166158
content_type = content_type or "application/json"
167159
_json = None
168160
_content = None
169-
if isinstance(create_quota_request, (IO, bytes)):
161+
if isinstance(create_quota_request, (IOBase, bytes)):
170162
_content = create_quota_request
171163
else:
172164
_json = self._serialize.body(create_quota_request, "CurrentQuotaLimitBase")
@@ -368,9 +360,7 @@ async def begin_create_or_update(
368360
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
369361
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
370362

371-
api_version: Literal["2023-02-01"] = kwargs.pop(
372-
"api_version", _params.pop("api-version", self._config.api_version)
373-
)
363+
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
374364
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
375365
cls: ClsType[_models.CurrentQuotaLimitBase] = kwargs.pop("cls", None)
376366
polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
@@ -434,16 +424,14 @@ async def _update_initial(
434424
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
435425
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
436426

437-
api_version: Literal["2023-02-01"] = kwargs.pop(
438-
"api_version", _params.pop("api-version", self._config.api_version)
439-
)
427+
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
440428
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
441429
cls: ClsType[Optional[_models.CurrentQuotaLimitBase]] = kwargs.pop("cls", None)
442430

443431
content_type = content_type or "application/json"
444432
_json = None
445433
_content = None
446-
if isinstance(create_quota_request, (IO, bytes)):
434+
if isinstance(create_quota_request, (IOBase, bytes)):
447435
_content = create_quota_request
448436
else:
449437
_json = self._serialize.body(create_quota_request, "CurrentQuotaLimitBase")
@@ -642,9 +630,7 @@ async def begin_update(
642630
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
643631
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
644632

645-
api_version: Literal["2023-02-01"] = kwargs.pop(
646-
"api_version", _params.pop("api-version", self._config.api_version)
647-
)
633+
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
648634
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
649635
cls: ClsType[_models.CurrentQuotaLimitBase] = kwargs.pop("cls", None)
650636
polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
@@ -710,9 +696,7 @@ def list(self, scope: str, **kwargs: Any) -> AsyncIterable["_models.CurrentQuota
710696
_headers = kwargs.pop("headers", {}) or {}
711697
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
712698

713-
api_version: Literal["2023-02-01"] = kwargs.pop(
714-
"api_version", _params.pop("api-version", self._config.api_version)
715-
)
699+
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
716700
cls: ClsType[_models.QuotaLimits] = kwargs.pop("cls", None)
717701

718702
error_map = {

0 commit comments

Comments
 (0)