diff --git a/sdk/commerce/azure-mgmt-commerce/_meta.json b/sdk/commerce/azure-mgmt-commerce/_meta.json index c3c91e172763..ca1add8f8f9a 100644 --- a/sdk/commerce/azure-mgmt-commerce/_meta.json +++ b/sdk/commerce/azure-mgmt-commerce/_meta.json @@ -1,11 +1,11 @@ { - "commit": "18e0a756cd948b08cec7d4264f2dbbbfa53246ac", + "commit": "5d85c6e50e02e8cc36dd0584bdf32add287c0209", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "autorest": "3.9.2", "use": [ - "@autorest/python@6.4.0", + "@autorest/python@6.4.3", "@autorest/modelerfour@4.24.3" ], - "autorest_command": "autorest specification/commerce/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.0 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False", + "autorest_command": "autorest specification/commerce/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-python/sdk --use=@autorest/python@6.4.3 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False", "readme": "specification/commerce/resource-manager/readme.md" } \ No newline at end of file diff --git a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/_usage_management_client.py b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/_usage_management_client.py index 0dced992e11d..2e11ba5f15b6 100644 --- a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/_usage_management_client.py +++ b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/_usage_management_client.py @@ -51,7 +51,7 @@ def __init__( self._config = UsageManagementClientConfiguration( credential=credential, subscription_id=subscription_id, **kwargs ) - self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client: ARMPipelineClient = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) diff --git a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/_version.py b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/_version.py index c096871cfd88..e5754a47ce68 100644 --- a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/_version.py +++ b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "6.1.0b1" +VERSION = "1.0.0b1" diff --git a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/_usage_management_client.py b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/_usage_management_client.py index dd0b695d42f7..b89129db83e8 100644 --- a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/_usage_management_client.py +++ b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/_usage_management_client.py @@ -51,7 +51,7 @@ def __init__( self._config = UsageManagementClientConfiguration( credential=credential, subscription_id=subscription_id, **kwargs ) - self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client: AsyncARMPipelineClient = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) diff --git a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/operations/_rate_card_operations.py b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/operations/_rate_card_operations.py index a3c8eacfc145..48975a708b7f 100644 --- a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/operations/_rate_card_operations.py +++ b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/operations/_rate_card_operations.py @@ -104,8 +104,9 @@ async def get(self, filter: str, **kwargs: Any) -> _models.ResourceRateCardInfo: request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response diff --git a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/operations/_usage_aggregates_operations.py b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/operations/_usage_aggregates_operations.py index b0882237ebe0..743ff6f48727 100644 --- a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/operations/_usage_aggregates_operations.py +++ b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/aio/operations/_usage_aggregates_operations.py @@ -160,12 +160,13 @@ async def extract_data(pipeline_response): async def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) diff --git a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/models/__init__.py b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/models/__init__.py index 3d60a59c7fcd..1fbb606c31cc 100644 --- a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/models/__init__.py +++ b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/models/__init__.py @@ -6,8 +6,8 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from ._models_py3 import ErrorObjectResponse from ._models_py3 import ErrorResponse -from ._models_py3 import InfoField from ._models_py3 import MeterInfo from ._models_py3 import MonetaryCommitment from ._models_py3 import MonetaryCredit @@ -25,8 +25,8 @@ from ._patch import patch_sdk as _patch_sdk __all__ = [ + "ErrorObjectResponse", "ErrorResponse", - "InfoField", "MeterInfo", "MonetaryCommitment", "MonetaryCredit", diff --git a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/models/_models_py3.py b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/models/_models_py3.py index 54c7af15002e..2fddc87b2e07 100644 --- a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/models/_models_py3.py +++ b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/models/_models_py3.py @@ -17,6 +17,26 @@ from .. import models as _models +class ErrorObjectResponse(_serialization.Model): + """Describes the format of Error response with a wrapper object. + + :ivar error: Wrapper object for error information. + :vartype error: ~azure.mgmt.commerce.models.ErrorResponse + """ + + _attribute_map = { + "error": {"key": "error", "type": "ErrorResponse"}, + } + + def __init__(self, *, error: Optional["_models.ErrorResponse"] = None, **kwargs: Any) -> None: + """ + :keyword error: Wrapper object for error information. + :paramtype error: ~azure.mgmt.commerce.models.ErrorResponse + """ + super().__init__(**kwargs) + self.error = error + + class ErrorResponse(_serialization.Model): """Describes the format of Error response. @@ -43,26 +63,6 @@ def __init__(self, *, code: Optional[str] = None, message: Optional[str] = None, self.message = message -class InfoField(_serialization.Model): - """Key-value pairs of instance details in the legacy format. - - :ivar project: Identifies the name of the instance provisioned by the user. - :vartype project: str - """ - - _attribute_map = { - "project": {"key": "project", "type": "str"}, - } - - def __init__(self, *, project: Optional[str] = None, **kwargs: Any) -> None: - """ - :keyword project: Identifies the name of the instance provisioned by the user. - :paramtype project: str - """ - super().__init__(**kwargs) - self.project = project - - class MeterInfo(_serialization.Model): """Detailed information about the meter. @@ -485,7 +485,7 @@ class UsageAggregation(_serialization.Model): # pylint: disable=too-many-instan :ivar meter_region: Region of the meterId used for billing purposes. :vartype meter_region: str :ivar info_fields: Key-value pairs of instance details (legacy format). - :vartype info_fields: ~azure.mgmt.commerce.models.InfoField + :vartype info_fields: any :ivar instance_data: Key-value pairs of instance details represented as a string. :vartype instance_data: str """ @@ -504,7 +504,7 @@ class UsageAggregation(_serialization.Model): # pylint: disable=too-many-instan "meter_category": {"key": "properties.meterCategory", "type": "str"}, "meter_sub_category": {"key": "properties.meterSubCategory", "type": "str"}, "meter_region": {"key": "properties.meterRegion", "type": "str"}, - "info_fields": {"key": "properties.infoFields", "type": "InfoField"}, + "info_fields": {"key": "properties.infoFields", "type": "object"}, "instance_data": {"key": "properties.instanceData", "type": "str"}, } @@ -524,7 +524,7 @@ def __init__( meter_category: Optional[str] = None, meter_sub_category: Optional[str] = None, meter_region: Optional[str] = None, - info_fields: Optional["_models.InfoField"] = None, + info_fields: Optional[Any] = None, instance_data: Optional[str] = None, **kwargs: Any ) -> None: @@ -558,7 +558,7 @@ def __init__( :keyword meter_region: Region of the meterId used for billing purposes. :paramtype meter_region: str :keyword info_fields: Key-value pairs of instance details (legacy format). - :paramtype info_fields: ~azure.mgmt.commerce.models.InfoField + :paramtype info_fields: any :keyword instance_data: Key-value pairs of instance details represented as a string. :paramtype instance_data: str """ diff --git a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/operations/_rate_card_operations.py b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/operations/_rate_card_operations.py index dec7441cce93..803db48cbfd6 100644 --- a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/operations/_rate_card_operations.py +++ b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/operations/_rate_card_operations.py @@ -134,8 +134,9 @@ def get(self, filter: str, **kwargs: Any) -> _models.ResourceRateCardInfo: request = _convert_request(request) request.url = self._client.format_url(request.url) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response diff --git a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/operations/_usage_aggregates_operations.py b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/operations/_usage_aggregates_operations.py index dc04b7fa9830..59c3f4fcc988 100644 --- a/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/operations/_usage_aggregates_operations.py +++ b/sdk/commerce/azure-mgmt-commerce/azure/mgmt/commerce/operations/_usage_aggregates_operations.py @@ -208,12 +208,13 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) + _stream = False pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - request, stream=False, **kwargs + request, stream=_stream, **kwargs ) response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) diff --git a/sdk/commerce/azure-mgmt-commerce/generated_samples/get_usage_aggregates_list.py b/sdk/commerce/azure-mgmt-commerce/generated_samples/get_usage_aggregates_list.py new file mode 100644 index 000000000000..26a28140f13b --- /dev/null +++ b/sdk/commerce/azure-mgmt-commerce/generated_samples/get_usage_aggregates_list.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import isodate + +from azure.identity import DefaultAzureCredential +from azure.mgmt.commerce import UsageManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-commerce +# USAGE + python get_usage_aggregates_list.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = UsageManagementClient( + credential=DefaultAzureCredential(), + subscription_id="f68815e6-3c41-45ef-bbd8-5f83303c396b", + ) + + response = client.usage_aggregates.list( + reported_start_time=isodate.parse_datetime("2014-05-01T00:00:00+00:00"), + reported_end_time=isodate.parse_datetime("2015-06-01T00:00:00+00:00"), + ) + for item in response: + print(item) + + +# x-ms-original-file: specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/examples/GetUsageAggregatesList.json +if __name__ == "__main__": + main()