Skip to content

Commit f896c05

Browse files
authored
[AutoPR commerce/resource-manager] Add type and format specifiers on quantity property. (#1975) (#2039)
* Generated from d99a6326aac1fd99d9db17616669eba2f188b7ff Add type and format specifiers on quantity property. * Rebuild by #1975 * Update packaging for azure-mgmt-commerce * Migrate tests of azure-mgmt-commerce to new framework
1 parent 6a79793 commit f896c05

19 files changed

+60
-52
lines changed

azure-mgmt-commerce/HISTORY.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
Release History
44
===============
55

6+
1.0.1 (2018-02-21)
7+
++++++++++++++++++
8+
9+
- usage_aggregation.quantity is now correctly declared as float
10+
- All operation groups have now a "models" attribute
11+
612
1.0.0 (2017-06-23)
713
++++++++++++++++++
814

azure-mgmt-commerce/README.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This is the Microsoft Azure Commerce Client Library.
66
Azure Resource Manager (ARM) is the next generation of management APIs that
77
replace the old Azure Service Management (ASM).
88

9-
This package has been tested with Python 2.7, 3.3, 3.4, 3.5 and 3.6.
9+
This package has been tested with Python 2.7, 3.4, 3.5 and 3.6.
1010

1111
For the older Azure Service Management (ASM) libraries, see
1212
`azure-servicemanagement-legacy <https://pypi.python.org/pypi/azure-servicemanagement-legacy>`__ library.
@@ -37,8 +37,8 @@ Usage
3737
=====
3838

3939
For code examples, see `Commerce
40-
<https://azure-sdk-for-python.readthedocs.org/en/latest/sample_azure-mgmt-commerce.html>`__
41-
on readthedocs.org.
40+
<https://docs.microsoft.com/python/api/overview/azure/commerce>`__
41+
on docs.microsoft.com.
4242

4343

4444
Provide Feedback

azure-mgmt-commerce/azure/mgmt/commerce/models/error_response.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class ErrorResponse(Model):
2828
}
2929

3030
def __init__(self, code=None, message=None):
31+
super(ErrorResponse, self).__init__()
3132
self.code = code
3233
self.message = message
3334

azure-mgmt-commerce/azure/mgmt/commerce/models/info_field.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,5 @@ class InfoField(Model):
2525
}
2626

2727
def __init__(self, project=None):
28+
super(InfoField, self).__init__()
2829
self.project = project

azure-mgmt-commerce/azure/mgmt/commerce/models/meter_info.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ class MeterInfo(Model):
3030
:type unit: str
3131
:param meter_tags: Provides additional meter data. 'Third Party' indicates
3232
a meter with no discount. Blanks indicate First Party.
33-
:type meter_tags: list of str
33+
:type meter_tags: list[str]
3434
:param meter_region: The region in which the Azure service is available.
3535
:type meter_region: str
3636
:param meter_rates: The list of key/value pairs for the meter rates, in
3737
the format 'key':'value' where key = the meter quantity, and value = the
3838
corresponding price
39-
:type meter_rates: dict
39+
:type meter_rates: dict[str, float]
4040
:param effective_date: Indicates the date from which the meter rate is
4141
effective.
4242
:type effective_date: datetime
@@ -59,6 +59,7 @@ class MeterInfo(Model):
5959
}
6060

6161
def __init__(self, meter_id=None, meter_name=None, meter_category=None, meter_sub_category=None, unit=None, meter_tags=None, meter_region=None, meter_rates=None, effective_date=None, included_quantity=None):
62+
super(MeterInfo, self).__init__()
6263
self.meter_id = meter_id
6364
self.meter_name = meter_name
6465
self.meter_category = meter_category

azure-mgmt-commerce/azure/mgmt/commerce/models/monetary_commitment.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ class MonetaryCommitment(OfferTermInfo):
1818
:param effective_date: Indicates the date from which the offer term is
1919
effective.
2020
:type effective_date: datetime
21-
:param name: Polymorphic Discriminator
21+
:param name: Constant filled by server.
2222
:type name: str
2323
:param tiered_discount: The list of key/value pairs for the tiered meter
2424
rates, in the format 'key':'value' where key = price, and value = the
2525
corresponding discount percentage. This field is used only by offer terms
2626
of type 'Monetary Commitment'.
27-
:type tiered_discount: dict
27+
:type tiered_discount: dict[str, decimal.Decimal]
2828
:param excluded_meter_ids: An array of meter ids that are excluded from
2929
the given offer terms.
30-
:type excluded_meter_ids: list of str
30+
:type excluded_meter_ids: list[str]
3131
"""
3232

3333
_validation = {

azure-mgmt-commerce/azure/mgmt/commerce/models/monetary_credit.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ class MonetaryCredit(OfferTermInfo):
1818
:param effective_date: Indicates the date from which the offer term is
1919
effective.
2020
:type effective_date: datetime
21-
:param name: Polymorphic Discriminator
21+
:param name: Constant filled by server.
2222
:type name: str
2323
:param credit: The amount of credit provided under the terms of the given
2424
offer level.
2525
:type credit: decimal.Decimal
2626
:param excluded_meter_ids: An array of meter ids that are excluded from
2727
the given offer terms.
28-
:type excluded_meter_ids: list of str
28+
:type excluded_meter_ids: list[str]
2929
"""
3030

3131
_validation = {

azure-mgmt-commerce/azure/mgmt/commerce/models/offer_term_info.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,13 @@
1515
class OfferTermInfo(Model):
1616
"""Describes the offer term.
1717
18+
You probably want to use the sub-classes and not this class directly. Known
19+
sub-classes are: MonetaryCredit, MonetaryCommitment, RecurringCharge
20+
1821
:param effective_date: Indicates the date from which the offer term is
1922
effective.
2023
:type effective_date: datetime
21-
:param name: Polymorphic Discriminator
24+
:param name: Constant filled by server.
2225
:type name: str
2326
"""
2427

@@ -36,5 +39,6 @@ class OfferTermInfo(Model):
3639
}
3740

3841
def __init__(self, effective_date=None):
42+
super(OfferTermInfo, self).__init__()
3943
self.effective_date = effective_date
4044
self.name = None

azure-mgmt-commerce/azure/mgmt/commerce/models/rate_card_query_parameters.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class RateCardQueryParameters(Model):
4646
}
4747

4848
def __init__(self, offer_durable_id, currency, locale, region_info):
49+
super(RateCardQueryParameters, self).__init__()
4950
self.offer_durable_id = offer_durable_id
5051
self.currency = currency
5152
self.locale = locale

azure-mgmt-commerce/azure/mgmt/commerce/models/recurring_charge.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class RecurringCharge(OfferTermInfo):
1818
:param effective_date: Indicates the date from which the offer term is
1919
effective.
2020
:type effective_date: datetime
21-
:param name: Polymorphic Discriminator
21+
:param name: Constant filled by server.
2222
:type name: str
2323
:param recurring_charge: The amount of recurring charge as per the offer
2424
term.

azure-mgmt-commerce/azure/mgmt/commerce/models/resource_rate_card_info.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,9 @@ class ResourceRateCardInfo(Model):
2323
returned as 'false'.
2424
:type is_tax_included: bool
2525
:param offer_terms: A list of offer terms.
26-
:type offer_terms: list of :class:`OfferTermInfo
27-
<azure.mgmt.commerce.models.OfferTermInfo>`
26+
:type offer_terms: list[~azure.mgmt.commerce.models.OfferTermInfo]
2827
:param meters: A list of meters.
29-
:type meters: list of :class:`MeterInfo
30-
<azure.mgmt.commerce.models.MeterInfo>`
28+
:type meters: list[~azure.mgmt.commerce.models.MeterInfo]
3129
"""
3230

3331
_attribute_map = {
@@ -39,6 +37,7 @@ class ResourceRateCardInfo(Model):
3937
}
4038

4139
def __init__(self, currency=None, locale=None, is_tax_included=None, offer_terms=None, meters=None):
40+
super(ResourceRateCardInfo, self).__init__()
4241
self.currency = currency
4342
self.locale = locale
4443
self.is_tax_included = is_tax_included

azure-mgmt-commerce/azure/mgmt/commerce/models/usage_aggregation.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class UsageAggregation(Model):
3434
:type usage_end_time: datetime
3535
:param quantity: The amount of the resource consumption that occurred in
3636
this time frame.
37-
:type quantity: object
37+
:type quantity: float
3838
:param unit: The unit in which the usage for this resource is being
3939
counted, e.g. Hours, GB.
4040
:type unit: str
@@ -47,8 +47,7 @@ class UsageAggregation(Model):
4747
:param meter_region: Region of the meterId used for billing purposes
4848
:type meter_region: str
4949
:param info_fields: Key-value pairs of instance details (legacy format).
50-
:type info_fields: :class:`InfoField
51-
<azure.mgmt.commerce.models.InfoField>`
50+
:type info_fields: ~azure.mgmt.commerce.models.InfoField
5251
:param instance_data: Key-value pairs of instance details represented as a
5352
string.
5453
:type instance_data: str
@@ -62,7 +61,7 @@ class UsageAggregation(Model):
6261
'meter_id': {'key': 'properties.meterId', 'type': 'str'},
6362
'usage_start_time': {'key': 'properties.usageStartTime', 'type': 'iso-8601'},
6463
'usage_end_time': {'key': 'properties.usageEndTime', 'type': 'iso-8601'},
65-
'quantity': {'key': 'properties.quantity', 'type': 'object'},
64+
'quantity': {'key': 'properties.quantity', 'type': 'float'},
6665
'unit': {'key': 'properties.unit', 'type': 'str'},
6766
'meter_name': {'key': 'properties.meterName', 'type': 'str'},
6867
'meter_category': {'key': 'properties.meterCategory', 'type': 'str'},
@@ -73,6 +72,7 @@ class UsageAggregation(Model):
7372
}
7473

7574
def __init__(self, id=None, name=None, type=None, subscription_id=None, meter_id=None, usage_start_time=None, usage_end_time=None, quantity=None, unit=None, meter_name=None, meter_category=None, meter_sub_category=None, meter_region=None, info_fields=None, instance_data=None):
75+
super(UsageAggregation, self).__init__()
7676
self.id = id
7777
self.name = name
7878
self.type = type

azure-mgmt-commerce/azure/mgmt/commerce/operations/rate_card_operations.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@ class RateCardOperations(object):
2121
:param client: Client for service requests.
2222
:param config: Configuration of service client.
2323
:param serializer: An object model serializer.
24-
:param deserializer: An objec model deserializer.
24+
:param deserializer: An object model deserializer.
2525
:ivar api_version: Client Api Version. Constant value: "2015-06-01-preview".
2626
"""
2727

28+
models = models
29+
2830
def __init__(self, client, config, serializer, deserializer):
2931

3032
self._client = client
@@ -56,18 +58,14 @@ def get(
5658
deserialized response
5759
:param operation_config: :ref:`Operation configuration
5860
overrides<msrest:optionsforoperations>`.
59-
:return: :class:`ResourceRateCardInfo
60-
<azure.mgmt.commerce.models.ResourceRateCardInfo>` or
61-
:class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>` if
62-
raw=true
63-
:rtype: :class:`ResourceRateCardInfo
64-
<azure.mgmt.commerce.models.ResourceRateCardInfo>` or
65-
:class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
61+
:return: ResourceRateCardInfo or ClientRawResponse if raw=true
62+
:rtype: ~azure.mgmt.commerce.models.ResourceRateCardInfo or
63+
~msrest.pipeline.ClientRawResponse
6664
:raises:
6765
:class:`ErrorResponseException<azure.mgmt.commerce.models.ErrorResponseException>`
6866
"""
6967
# Construct URL
70-
url = '/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard'
68+
url = self.get.metadata['url']
7169
path_format_arguments = {
7270
'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str')
7371
}
@@ -90,7 +88,7 @@ def get(
9088

9189
# Construct and send request
9290
request = self._client.get(url, query_parameters)
93-
response = self._client.send(request, header_parameters, **operation_config)
91+
response = self._client.send(request, header_parameters, stream=False, **operation_config)
9492

9593
if response.status_code not in [200]:
9694
raise models.ErrorResponseException(self._deserialize, response)
@@ -105,3 +103,4 @@ def get(
105103
return client_raw_response
106104

107105
return deserialized
106+
get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard'}

azure-mgmt-commerce/azure/mgmt/commerce/operations/usage_aggregates_operations.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@ class UsageAggregatesOperations(object):
2121
:param client: Client for service requests.
2222
:param config: Configuration of service client.
2323
:param serializer: An object model serializer.
24-
:param deserializer: An objec model deserializer.
24+
:param deserializer: An object model deserializer.
2525
:ivar api_version: Client Api Version. Constant value: "2015-06-01-preview".
2626
"""
2727

28+
models = models
29+
2830
def __init__(self, client, config, serializer, deserializer):
2931

3032
self._client = client
@@ -55,8 +57,8 @@ def list(
5557
:param aggregation_granularity: `Daily` (default) returns the data in
5658
daily granularity, `Hourly` returns the data in hourly granularity.
5759
Possible values include: 'Daily', 'Hourly'
58-
:type aggregation_granularity: str or :class:`AggregationGranularity
59-
<azure.mgmt.commerce.models.AggregationGranularity>`
60+
:type aggregation_granularity: str or
61+
~azure.mgmt.commerce.models.AggregationGranularity
6062
:param continuation_token: Used when a continuation token string is
6163
provided in the response body of the previous call, enabling paging
6264
through a large result set. If not present, the data is retrieved from
@@ -67,18 +69,17 @@ def list(
6769
deserialized response
6870
:param operation_config: :ref:`Operation configuration
6971
overrides<msrest:optionsforoperations>`.
70-
:return: An iterator like instance of :class:`UsageAggregation
71-
<azure.mgmt.commerce.models.UsageAggregation>`
72-
:rtype: :class:`UsageAggregationPaged
73-
<azure.mgmt.commerce.models.UsageAggregationPaged>`
72+
:return: An iterator like instance of UsageAggregation
73+
:rtype:
74+
~azure.mgmt.commerce.models.UsageAggregationPaged[~azure.mgmt.commerce.models.UsageAggregation]
7475
:raises:
7576
:class:`ErrorResponseException<azure.mgmt.commerce.models.ErrorResponseException>`
7677
"""
7778
def internal_paging(next_link=None, raw=False):
7879

7980
if not next_link:
8081
# Construct URL
81-
url = '/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/UsageAggregates'
82+
url = self.list.metadata['url']
8283
path_format_arguments = {
8384
'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str')
8485
}
@@ -113,7 +114,7 @@ def internal_paging(next_link=None, raw=False):
113114
# Construct and send request
114115
request = self._client.get(url, query_parameters)
115116
response = self._client.send(
116-
request, header_parameters, **operation_config)
117+
request, header_parameters, stream=False, **operation_config)
117118

118119
if response.status_code not in [200]:
119120
raise models.ErrorResponseException(self._deserialize, response)
@@ -129,3 +130,4 @@ def internal_paging(next_link=None, raw=False):
129130
return client_raw_response
130131

131132
return deserialized
133+
list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/UsageAggregates'}

azure-mgmt-commerce/azure/mgmt/commerce/usage_management_client.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,12 @@ def __init__(
4040
raise ValueError("Parameter 'credentials' must not be None.")
4141
if subscription_id is None:
4242
raise ValueError("Parameter 'subscription_id' must not be None.")
43-
if not isinstance(subscription_id, str):
44-
raise TypeError("Parameter 'subscription_id' must be str.")
4543
if not base_url:
4644
base_url = 'https://management.azure.com'
4745

4846
super(UsageManagementClientConfiguration, self).__init__(base_url)
4947

50-
self.add_user_agent('usagemanagementclient/{}'.format(VERSION))
48+
self.add_user_agent('azure-mgmt-commerce/{}'.format(VERSION))
5149
self.add_user_agent('Azure-SDK-For-Python')
5250

5351
self.credentials = credentials

azure-mgmt-commerce/azure/mgmt/commerce/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
# regenerated.
1010
# --------------------------------------------------------------------------
1111

12-
VERSION = "1.0.0"
12+
VERSION = "1.0.1"
1313

azure-mgmt-commerce/setup.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,25 +61,24 @@
6161
long_description=readme + '\n\n' + history,
6262
license='MIT License',
6363
author='Microsoft Corporation',
64-
author_email='ptvshelp@microsoft.com',
64+
author_email='azpysdkhelp@microsoft.com',
6565
url='https://github.com/Azure/azure-sdk-for-python',
6666
classifiers=[
6767
'Development Status :: 4 - Beta',
6868
'Programming Language :: Python',
6969
'Programming Language :: Python :: 2',
7070
'Programming Language :: Python :: 2.7',
7171
'Programming Language :: Python :: 3',
72-
'Programming Language :: Python :: 3.3',
7372
'Programming Language :: Python :: 3.4',
7473
'Programming Language :: Python :: 3.5',
7574
'Programming Language :: Python :: 3.6',
7675
'License :: OSI Approved :: MIT License',
7776
],
7877
zip_safe=False,
79-
packages=find_packages(),
78+
packages=find_packages(exclude=["tests"]),
8079
install_requires=[
81-
'msrestazure~=0.4.8',
82-
'azure-common~=1.1.6',
80+
'msrestazure>=0.4.20,<2.0.0',
81+
'azure-common~=1.1',
8382
],
8483
cmdclass=cmdclass
8584
)

azure-mgmt/tests/test_mgmt_commerce.py renamed to azure-mgmt-commerce/tests/test_mgmt_commerce.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99

1010
import azure.mgmt.commerce
1111
from datetime import date, timedelta
12-
from testutils.common_recordingtestcase import record
13-
from tests.mgmt_testcase import HttpStatusCode, AzureMgmtTestCase
14-
12+
from devtools_testutils import AzureMgmtTestCase
1513

1614
class MgmtCommerceTest(AzureMgmtTestCase):
1715

@@ -21,7 +19,6 @@ def setUp(self):
2119
azure.mgmt.commerce.UsageManagementClient
2220
)
2321

24-
@record
2522
def test_commerce(self):
2623
# Test not recorded for privacy concerns
2724
#output = self.commerce_client.usage_aggregates.list(

0 commit comments

Comments
 (0)