Skip to content

Commit bec65d2

Browse files
[AutoRelease] t2-quantum-2024-03-07-62962(can only be merged by SDK owner) (Azure#34684)
* code and test * update-testcase --------- Co-authored-by: azure-sdk <PythonSdkPipelines> Co-authored-by: ChenxiJiang333 <[email protected]>
1 parent 9cb2276 commit bec65d2

40 files changed

+1081
-203
lines changed

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

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

3+
## 1.0.0b5 (2024-03-18)
4+
5+
### Features Added
6+
7+
- Added operation WorkspaceOperations.list_keys
8+
- Added operation WorkspaceOperations.regenerate_keys
9+
- Model QuantumWorkspace has a new parameter properties
10+
- Model Resource has a new parameter system_data
11+
- Model TrackedResource has a new parameter system_data
12+
13+
### Breaking Changes
14+
15+
- Client name is changed from `AzureQuantumManagementClient` to `AzureQuantumMgmtClient`
16+
- Model QuantumWorkspace no longer has parameter endpoint_uri
17+
- Model QuantumWorkspace no longer has parameter providers
18+
- Model QuantumWorkspace no longer has parameter provisioning_state
19+
- Model QuantumWorkspace no longer has parameter storage_account
20+
- Model QuantumWorkspace no longer has parameter usable
21+
322
## 1.0.0b4 (2023-07-21)
423

524
### Other Changes

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Microsoft Azure SDK for Python
22

33
This is the Microsoft Azure Quantum Management Client Library.
4-
This package has been tested with Python 3.7+.
4+
This package has been tested with Python 3.8+.
55
For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).
66

77
## _Disclaimer_
@@ -12,7 +12,7 @@ _Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For
1212

1313
### Prerequisites
1414

15-
- Python 3.7+ is required to use this package.
15+
- Python 3.8+ is required to use this package.
1616
- [Azure subscription](https://azure.microsoft.com/free/)
1717

1818
### Install the package
@@ -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-quantum%2FREADME.png)
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
2-
"commit": "0f39a2d56070d2bc4251494525cb8af88583a938",
2+
"commit": "90fc96af52257944371b95428245bce0f218c7f5",
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/quantum/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/quantum/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/quantum/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/quantum/azure-mgmt-quantum",
5+
"Tag": "python/quantum/azure-mgmt-quantum_737889247d"
6+
}

sdk/quantum/azure-mgmt-quantum/azure/mgmt/quantum/__init__.py

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

9-
from ._azure_quantum_management_client import AzureQuantumManagementClient
9+
from ._azure_quantum_mgmt_client import AzureQuantumMgmtClient
1010
from ._version import VERSION
1111

1212
__version__ = VERSION
@@ -19,7 +19,7 @@
1919
from ._patch import patch_sdk as _patch_sdk
2020

2121
__all__ = [
22-
"AzureQuantumManagementClient",
22+
"AzureQuantumMgmtClient",
2323
]
2424
__all__.extend([p for p in _patch_all if p not in __all__])
2525

sdk/quantum/azure-mgmt-quantum/azure/mgmt/quantum/_azure_quantum_management_client.py renamed to sdk/quantum/azure-mgmt-quantum/azure/mgmt/quantum/_azure_quantum_mgmt_client.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from azure.mgmt.core import ARMPipelineClient
1414

1515
from . import models as _models
16-
from ._configuration import AzureQuantumManagementClientConfiguration
16+
from ._configuration import AzureQuantumMgmtClientConfiguration
1717
from ._serialization import Deserializer, Serializer
1818
from .operations import OfferingsOperations, Operations, WorkspaceOperations, WorkspacesOperations
1919

@@ -22,8 +22,8 @@
2222
from azure.core.credentials import TokenCredential
2323

2424

25-
class AzureQuantumManagementClient: # pylint: disable=client-accepts-api-version-keyword
26-
"""AzureQuantumManagementClient.
25+
class AzureQuantumMgmtClient: # pylint: disable=client-accepts-api-version-keyword
26+
"""AzureQuantumMgmtClient.
2727
2828
:ivar workspaces: WorkspacesOperations operations
2929
:vartype workspaces: azure.mgmt.quantum.operations.WorkspacesOperations
@@ -35,11 +35,11 @@ class AzureQuantumManagementClient: # pylint: disable=client-accepts-api-versio
3535
:vartype workspace: azure.mgmt.quantum.operations.WorkspaceOperations
3636
:param credential: Credential needed for the client to connect to Azure. Required.
3737
:type credential: ~azure.core.credentials.TokenCredential
38-
:param subscription_id: The Azure subscription ID. Required.
38+
:param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
3939
:type subscription_id: str
4040
:param base_url: Service URL. Default value is "https://management.azure.com".
4141
:type base_url: str
42-
:keyword api_version: Api Version. Default value is "2022-01-10-preview". Note that overriding
42+
:keyword api_version: Api Version. Default value is "2023-11-13-preview". Note that overriding
4343
this default value may result in unsupported behavior.
4444
:paramtype api_version: str
4545
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
@@ -53,7 +53,7 @@ def __init__(
5353
base_url: str = "https://management.azure.com",
5454
**kwargs: Any
5555
) -> None:
56-
self._config = AzureQuantumManagementClientConfiguration(
56+
self._config = AzureQuantumMgmtClientConfiguration(
5757
credential=credential, subscription_id=subscription_id, **kwargs
5858
)
5959
self._client: ARMPipelineClient = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
@@ -92,7 +92,7 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
9292
def close(self) -> None:
9393
self._client.close()
9494

95-
def __enter__(self) -> "AzureQuantumManagementClient":
95+
def __enter__(self) -> "AzureQuantumMgmtClient":
9696
self._client.__enter__()
9797
return self
9898

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,24 @@
1919
from azure.core.credentials import TokenCredential
2020

2121

22-
class AzureQuantumManagementClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
23-
"""Configuration for AzureQuantumManagementClient.
22+
class AzureQuantumMgmtClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
23+
"""Configuration for AzureQuantumMgmtClient.
2424
2525
Note that all parameters used to create this instance are saved as instance
2626
attributes.
2727
2828
:param credential: Credential needed for the client to connect to Azure. Required.
2929
:type credential: ~azure.core.credentials.TokenCredential
30-
:param subscription_id: The Azure subscription ID. Required.
30+
: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 "2022-01-10-preview". Note that overriding
32+
:keyword api_version: Api Version. Default value is "2023-11-13-preview". Note that overriding
3333
this 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:
38-
super(AzureQuantumManagementClientConfiguration, self).__init__(**kwargs)
39-
api_version: str = kwargs.pop("api_version", "2022-01-10-preview")
38+
super(AzureQuantumMgmtClientConfiguration, self).__init__(**kwargs)
39+
api_version: str = kwargs.pop("api_version", "2023-11-13-preview")
4040

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

sdk/quantum/azure-mgmt-quantum/azure/mgmt/quantum/_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/quantum/azure-mgmt-quantum/azure/mgmt/quantum/_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/quantum/azure-mgmt-quantum/azure/mgmt/quantum/_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.0b4"
9+
VERSION = "1.0.0b5"

0 commit comments

Comments
 (0)