You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2016/12/27 08:43:29 UTC
[3/5] libcloud git commit: Add a method for retrieving rates on Azure.
Add a method for retrieving rates on Azure.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/938d9090
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/938d9090
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/938d9090
Branch: refs/heads/trunk
Commit: 938d9090a31c13c7e0e28aac28c30965998afae7
Parents: 774ffde
Author: Soren L. Hansen <so...@linux2go.dk>
Authored: Sun Dec 11 08:14:58 2016 -0600
Committer: Anthony Shaw <an...@apache.org>
Committed: Tue Dec 27 19:42:08 2016 +1100
----------------------------------------------------------------------
libcloud/compute/drivers/azure_arm.py | 34 +
...9_providers_Microsoft_Commerce_RateCard.json | 84270 +++++++++++++++++
libcloud/test/compute/test_azure_arm.py | 8 +
3 files changed, 84312 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/938d9090/libcloud/compute/drivers/azure_arm.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/azure_arm.py b/libcloud/compute/drivers/azure_arm.py
index c7d0441..44abcdb 100644
--- a/libcloud/compute/drivers/azure_arm.py
+++ b/libcloud/compute/drivers/azure_arm.py
@@ -709,6 +709,40 @@ class AzureNodeDriver(NodeDriver):
return True
+ def ex_get_ratecard(self, offer_durable_id, currency='USD',
+ locale='en-US', region='US'):
+ """
+ Get rate card
+
+ :param offer_durable_id: ID of the offer applicable for this
+ user account. (e.g. "0026P")
+ See http://azure.microsoft.com/en-us/support/legal/offer-details/
+ :type offer_durable_id: str
+
+ :param currency: Desired currency for the response (default: "USD")
+ :type currency: ``str``
+
+ :param locale: Locale (default: "en-US")
+ :type locale: ``str``
+
+ :param region: Region (two-letter code) (default: "US")
+ :type regions: ``str``
+
+ :return: A dictionary of rates whose ID's correspond to nothing at all
+ :rtype: ``dict``
+ """
+
+ action = "/subscriptions/%s/providers/Microsoft.Commerce/" \
+ "RateCard" % (self.subscription_id,)
+ params = {"api-version": "2016-08-31-preview",
+ "$filter": "OfferDurableId eq 'MS-AZR-%s' and "
+ "Currency eq '%s' and "
+ "Locale eq '%s' and "
+ "RegionInfo eq '%s'" %
+ (offer_durable_id, currency, locale, region)}
+ r = self.connection.request(action, params=params)
+ return r.object
+
def ex_list_publishers(self, location=None):
"""
List node image publishers.