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 2015/12/04 21:14:54 UTC

[01/11] libcloud git commit: EC2: Specify RAM size in GiB

Repository: libcloud
Updated Branches:
  refs/heads/trunk b5cb7bfd3 -> 2f514559b


EC2: Specify RAM size in GiB

The values on <https://aws.amazon.com/ec2/instance-types/?nc1=f_ls> are
given in [GiB].

Let Python convert them to [MiB], as the current values are a mix of
[MB] and [MiB].

Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/d09f9b5d
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/d09f9b5d
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/d09f9b5d

Branch: refs/heads/trunk
Commit: d09f9b5d941e838601cafb9dbb95be82f634693d
Parents: b5cb7bf
Author: Philipp Hahn <ha...@univention.de>
Authored: Tue Dec 1 08:51:17 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:14:53 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/ec2.py | 108 ++++++++++++++++++-----------------
 1 file changed, 57 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/d09f9b5d/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index 1c79339..a2bc826 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -90,151 +90,157 @@ EUCA_NAMESPACE = 'http://msgs.eucalyptus.com/%s' % (DEFAULT_EUCA_API_VERSION)
 Sizes must be hardcoded, because Amazon doesn't provide an API to fetch them.
 From http://aws.amazon.com/ec2/instance-types/
 """
+
+
+def GiB(value):
+    return int(value * 1024)
+
+
 INSTANCE_TYPES = {
     't1.micro': {
         'id': 't1.micro',
         'name': 'Micro Instance',
-        'ram': 613,
+        'ram': GiB(0.613),
         'disk': 15,
         'bandwidth': None
     },
     'm1.small': {
         'id': 'm1.small',
         'name': 'Small Instance',
-        'ram': 1740,
+        'ram': GiB(1.7),
         'disk': 160,
         'bandwidth': None
     },
     'm1.medium': {
         'id': 'm1.medium',
         'name': 'Medium Instance',
-        'ram': 3700,
+        'ram': GiB(3.75),
         'disk': 410,
         'bandwidth': None
     },
     'm1.large': {
         'id': 'm1.large',
         'name': 'Large Instance',
-        'ram': 7680,
+        'ram': GiB(7.5),
         'disk': 850,
         'bandwidth': None
     },
     'm1.xlarge': {
         'id': 'm1.xlarge',
         'name': 'Extra Large Instance',
-        'ram': 15360,
+        'ram': GiB(15),
         'disk': 1690,
         'bandwidth': None
     },
     'c1.medium': {
         'id': 'c1.medium',
         'name': 'High-CPU Medium Instance',
-        'ram': 1740,
+        'ram': GiB(1.7),
         'disk': 350,
         'bandwidth': None
     },
     'c1.xlarge': {
         'id': 'c1.xlarge',
         'name': 'High-CPU Extra Large Instance',
-        'ram': 7680,
+        'ram': GiB(7),
         'disk': 1690,
         'bandwidth': None
     },
     'm2.xlarge': {
         'id': 'm2.xlarge',
         'name': 'High-Memory Extra Large Instance',
-        'ram': 17510,
+        'ram': GiB(17.1),
         'disk': 420,
         'bandwidth': None
     },
     'm2.2xlarge': {
         'id': 'm2.2xlarge',
         'name': 'High-Memory Double Extra Large Instance',
-        'ram': 35021,
+        'ram': GiB(34.2),
         'disk': 850,
         'bandwidth': None
     },
     'm2.4xlarge': {
         'id': 'm2.4xlarge',
         'name': 'High-Memory Quadruple Extra Large Instance',
-        'ram': 70042,
+        'ram': GiB(68.4),
         'disk': 1690,
         'bandwidth': None
     },
     'm3.medium': {
         'id': 'm3.medium',
         'name': 'Medium Instance',
-        'ram': 3840,
+        'ram': GiB(3.75),
         'disk': 4000,
         'bandwidth': None
     },
     'm3.large': {
         'id': 'm3.large',
         'name': 'Large Instance',
-        'ram': 7168,
+        'ram': GiB(7.5),
         'disk': 32000,
         'bandwidth': None
     },
     'm3.xlarge': {
         'id': 'm3.xlarge',
         'name': 'Extra Large Instance',
-        'ram': 15360,
+        'ram': GiB(15),
         'disk': 80000,
         'bandwidth': None
     },
     'm3.2xlarge': {
         'id': 'm3.2xlarge',
         'name': 'Double Extra Large Instance',
-        'ram': 30720,
+        'ram': GiB(30),
         'disk': 160000,
         'bandwidth': None
     },
     'm4.large': {
         'id': 'm4.large',
         'name': 'Large Instance',
-        'ram': 8192,
+        'ram': GiB(8),
         'disk': 0,
         'bandwidth': None
     },
     'm4.xlarge': {
         'id': 'm4.xlarge',
         'name': 'Extra Large Instance',
-        'ram': 16384,
+        'ram': GiB(16),
         'disk': 0,
         'bandwidth': None
     },
     'm4.2xlarge': {
         'id': 'm4.2xlarge',
         'name': 'Double Extra Large Instance',
-        'ram': 32768,
+        'ram': GiB(32),
         'disk': 0,
         'bandwidth': None
     },
     'm4.4xlarge': {
         'id': 'm4.4xlarge',
         'name': 'Quadruple Extra Large Instance',
-        'ram': 65536,
+        'ram': GiB(64),
         'disk': 0,
         'bandwidth': None
     },
     'm4.10xlarge': {
         'id': 'm4.10xlarge',
         'name': '10 Extra Large Instance',
-        'ram': 163840,
+        'ram': GiB(160),
         'disk': 0,
         'bandwidth': None
     },
     'cg1.4xlarge': {
         'id': 'cg1.4xlarge',
         'name': 'Cluster GPU Quadruple Extra Large Instance',
-        'ram': 22528,
+        'ram': GiB(22.5),
         'disk': 1690,
         'bandwidth': None
     },
     'g2.2xlarge': {
         'id': 'g2.2xlarge',
         'name': 'Cluster GPU G2 Double Extra Large Instance',
-        'ram': 15000,
+        'ram': GiB(15),
         'disk': 60,
         'bandwidth': None,
     },
@@ -248,7 +254,7 @@ INSTANCE_TYPES = {
     'cc2.8xlarge': {
         'id': 'cc2.8xlarge',
         'name': 'Cluster Compute Eight Extra Large Instance',
-        'ram': 63488,
+        'ram': GiB(60.5),
         'disk': 3370,
         'bandwidth': None
     },
@@ -256,91 +262,91 @@ INSTANCE_TYPES = {
     'c3.large': {
         'id': 'c3.large',
         'name': 'Compute Optimized Large Instance',
-        'ram': 3750,
+        'ram': GiB(3.75),
         'disk': 32,  # x2
         'bandwidth': None
     },
     'c3.xlarge': {
         'id': 'c3.xlarge',
         'name': 'Compute Optimized Extra Large Instance',
-        'ram': 7500,
+        'ram': GiB(7.5),
         'disk': 80,  # x2
         'bandwidth': None
     },
     'c3.2xlarge': {
         'id': 'c3.2xlarge',
         'name': 'Compute Optimized Double Extra Large Instance',
-        'ram': 15000,
+        'ram': GiB(15),
         'disk': 160,  # x2
         'bandwidth': None
     },
     'c3.4xlarge': {
         'id': 'c3.4xlarge',
         'name': 'Compute Optimized Quadruple Extra Large Instance',
-        'ram': 30000,
+        'ram': GiB(30),
         'disk': 320,  # x2
         'bandwidth': None
     },
     'c3.8xlarge': {
         'id': 'c3.8xlarge',
         'name': 'Compute Optimized Eight Extra Large Instance',
-        'ram': 60000,
+        'ram': GiB(60),
         'disk': 640,  # x2
         'bandwidth': None
     },
     'c4.large': {
         'id': 'c4.large',
         'name': 'Compute Optimized Large Instance',
-        'ram': 3750,
+        'ram': GiB(3.75),
         'disk': 0,
         'bandwidth': None
     },
     'c4.xlarge': {
         'id': 'c4.xlarge',
         'name': 'Compute Optimized Extra Large Instance',
-        'ram': 7500,
+        'ram': GiB(7.5),
         'disk': 0,
         'bandwidth': None
     },
     'c4.2xlarge': {
         'id': 'c4.2xlarge',
         'name': 'Compute Optimized Double Large Instance',
-        'ram': 15000,
+        'ram': GiB(15),
         'disk': 0,
         'bandwidth': None
     },
     'c4.4xlarge': {
         'id': 'c4.4xlarge',
         'name': 'Compute Optimized Quadruple Extra Large Instance',
-        'ram': 30000,
+        'ram': GiB(30),
         'disk': 0,
         'bandwidth': None
     },
     'c4.8xlarge': {
         'id': 'c4.8xlarge',
         'name': 'Compute Optimized Eight Extra Large Instance',
-        'ram': 60000,
+        'ram': GiB(60),
         'disk': 0,
         'bandwidth': None
     },
     'cr1.8xlarge': {
         'id': 'cr1.8xlarge',
         'name': 'High Memory Cluster Eight Extra Large',
-        'ram': 244000,
+        'ram': GiB(244),
         'disk': 240,
         'bandwidth': None
     },
     'hs1.4xlarge': {
         'id': 'hs1.4xlarge',
         'name': 'High Storage Quadruple Extra Large Instance',
-        'ram': 61952,
+        'ram': GiB(64),
         'disk': 2048,
         'bandwidth': None
     },
     'hs1.8xlarge': {
         'id': 'hs1.8xlarge',
         'name': 'High Storage Eight Extra Large Instance',
-        'ram': 119808,
+        'ram': GiB(117),
         'disk': 48000,
         'bandwidth': None
     },
@@ -348,56 +354,56 @@ INSTANCE_TYPES = {
     'i2.xlarge': {
         'id': 'i2.xlarge',
         'name': 'High Storage Optimized Extra Large Instance',
-        'ram': 31232,
+        'ram': GiB(30.5),
         'disk': 800,
         'bandwidth': None
     },
     'i2.2xlarge': {
         'id': 'i2.2xlarge',
         'name': 'High Storage Optimized Double Extra Large Instance',
-        'ram': 62464,
+        'ram': GiB(61),
         'disk': 1600,
         'bandwidth': None
     },
     'i2.4xlarge': {
         'id': 'i2.4xlarge',
         'name': 'High Storage Optimized Quadruple Large Instance',
-        'ram': 124928,
+        'ram': GiB(122),
         'disk': 3200,
         'bandwidth': None
     },
     'i2.8xlarge': {
         'id': 'i2.8xlarge',
         'name': 'High Storage Optimized Eight Extra Large Instance',
-        'ram': 249856,
+        'ram': GiB(244),
         'disk': 6400,
         'bandwidth': None
     },
     'd2.xlarge': {
         'id': 'd2.xlarge',
         'name': 'High Storage Optimized Extra Large Instance',
-        'ram': 30050,
+        'ram': GiB(30.5),
         'disk': 6000,  # 3 x 2 TB
         'bandwidth': None
     },
     'd2.2xlarge': {
         'id': 'd2.2xlarge',
         'name': 'High Storage Optimized Double Extra Large Instance',
-        'ram': 61952,
+        'ram': GiB(61),
         'disk': 12000,  # 6 x 2 TB
         'bandwidth': None
     },
     'd2.4xlarge': {
         'id': 'd2.4xlarge',
         'name': 'High Storage Optimized Quadruple Extra Large Instance',
-        'ram': 122000,
+        'ram': GiB(122),
         'disk': 24000,  # 12 x 2 TB
         'bandwidth': None
     },
     'd2.8xlarge': {
         'id': 'd2.8xlarge',
         'name': 'High Storage Optimized Eight Extra Large Instance',
-        'ram': 244000,
+        'ram': GiB(244),
         'disk': 48000,  # 24 x 2 TB
         'bandwidth': None
     },
@@ -405,42 +411,42 @@ INSTANCE_TYPES = {
     'r3.large': {
         'id': 'r3.large',
         'name': 'Memory Optimized Large instance',
-        'ram': 15000,
+        'ram': GiB(15.25),
         'disk': 32,
         'bandwidth': None
     },
     'r3.xlarge': {
         'id': 'r3.xlarge',
         'name': 'Memory Optimized Extra Large instance',
-        'ram': 30500,
+        'ram': GiB(30.5),
         'disk': 80,
         'bandwidth': None
     },
     'r3.2xlarge': {
         'id': 'r3.2xlarge',
         'name': 'Memory Optimized Double Extra Large instance',
-        'ram': 61000,
+        'ram': GiB(61),
         'disk': 160,
         'bandwidth': None
     },
     'r3.4xlarge': {
         'id': 'r3.4xlarge',
         'name': 'Memory Optimized Quadruple Extra Large instance',
-        'ram': 122000,
+        'ram': GiB(122),
         'disk': 320,
         'bandwidth': None
     },
     'r3.8xlarge': {
         'id': 'r3.8xlarge',
         'name': 'Memory Optimized Eight Extra Large instance',
-        'ram': 244000,
+        'ram': GiB(244),
         'disk': 320,  # x2
         'bandwidth': None
     },
     't2.micro': {
         'id': 't2.micro',
         'name': 'Burstable Performance Micro Instance',
-        'ram': 1024,
+        'ram': GiB(1),
         'disk': 0,  # EBS Only
         'bandwidth': None,
         'extra': {
@@ -451,7 +457,7 @@ INSTANCE_TYPES = {
     't2.small': {
         'id': 't2.small',
         'name': 'Burstable Performance Small Instance',
-        'ram': 2048,
+        'ram': GiB(2),
         'disk': 0,  # EBS Only
         'bandwidth': None,
         'extra': {
@@ -461,7 +467,7 @@ INSTANCE_TYPES = {
     't2.medium': {
         'id': 't2.medium',
         'name': 'Burstable Performance Medium Instance',
-        'ram': 4028,
+        'ram': GiB(4),
         'disk': 0,  # EBS Only
         'bandwidth': None,
         'extra': {


[06/11] libcloud git commit: EC2: Add clarifications

Posted by an...@apache.org.
EC2: Add clarifications

Add source URLs.
Add unit type for RAM and disk size.

Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/e88a00c7
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/e88a00c7
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/e88a00c7

Branch: refs/heads/trunk
Commit: e88a00c7b4ac18597a895ee2b408781cb4d91a4f
Parents: 7e13ba1
Author: Philipp Hahn <ha...@univention.de>
Authored: Tue Dec 1 09:05:37 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:14:57 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/ec2.py | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/e88a00c7/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index 95cdb7a..4bf95f1 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -89,6 +89,8 @@ EUCA_NAMESPACE = 'http://msgs.eucalyptus.com/%s' % (DEFAULT_EUCA_API_VERSION)
 """
 Sizes must be hardcoded, because Amazon doesn't provide an API to fetch them.
 From http://aws.amazon.com/ec2/instance-types/
+and <http://aws.amazon.com/ec2/previous-generation/>
+ram = [MiB], disk = [GB]
 """
 
 
@@ -631,6 +633,7 @@ INSTANCE_TYPES = {
     }
 }
 
+#  From <https://aws.amazon.com/marketplace/help/200777880>
 REGION_DETAILS = {
     # US East (Northern Virginia) Region
     'us-east-1': {


[03/11] libcloud git commit: EC2: Add g2.8xlarge and t2.large

Posted by an...@apache.org.
EC2: Add g2.8xlarge and t2.large

>From <https://aws.amazon.com/ec2/instance-types/?nc1=f_ls>

Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/be9d9cba
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/be9d9cba
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/be9d9cba

Branch: refs/heads/trunk
Commit: be9d9cba6ba8d4d8f07ef36561b500bb0d04673f
Parents: 14bf9c1
Author: Philipp Hahn <ha...@univention.de>
Authored: Tue Dec 1 09:01:10 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:14:55 2015 +1100

----------------------------------------------------------------------
 contrib/scrape-ec2-prices.py      |  4 ++-
 libcloud/compute/drivers/ec2.py   | 56 ++++++++++++++++++++++++++++------
 libcloud/data/pricing.json        | 35 +++++++++++++++------
 libcloud/test/compute/test_ec2.py | 12 ++++----
 4 files changed, 81 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/be9d9cba/contrib/scrape-ec2-prices.py
----------------------------------------------------------------------
diff --git a/contrib/scrape-ec2-prices.py b/contrib/scrape-ec2-prices.py
index d4d07b6..4c7b653 100755
--- a/contrib/scrape-ec2-prices.py
+++ b/contrib/scrape-ec2-prices.py
@@ -75,6 +75,7 @@ EC2_INSTANCE_TYPES = [
     'd2.8xlarge',
     'cg1.4xlarge',
     'g2.2xlarge',
+    'g2.8xlarge',
     'cr1.8xlarge',
     'hs1.4xlarge',
     'hs1.8xlarge',
@@ -89,7 +90,8 @@ EC2_INSTANCE_TYPES = [
     'r3.8xlarge',
     't2.micro',
     't2.small',
-    't2.medium'
+    't2.medium',
+    't2.large'
 ]
 
 # Maps EC2 region name to region name used in the pricing file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/be9d9cba/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index cb875d7..72a61b7 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -298,6 +298,16 @@ INSTANCE_TYPES = {
             'cpu': 8
         }
     },
+    'g2.8xlarge': {
+        'id': 'g2.8xlarge',
+        'name': 'Cluster GPU G2 Eight Extra Large Instance',
+        'ram': GiB(60),
+        'disk': 2 * 120,  # GB
+        'bandwidth': None,
+        'extra': {
+            'cpu': 32
+        }
+    },
     'cc1.4xlarge': {
         'id': 'cc1.4xlarge',
         'name': 'Cluster Compute Quadruple Extra Large Instance',
@@ -608,6 +618,16 @@ INSTANCE_TYPES = {
         'extra': {
             'cpu': 2
         }
+    },
+    't2.large': {
+        'id': 't2.large',
+        'name': 'Burstable Performance Medium Instance',
+        'ram': GiB(8),
+        'disk': 0,  # EBS Only
+        'bandwidth': None,
+        'extra': {
+            'cpu': 2
+        }
     }
 }
 
@@ -651,6 +671,7 @@ REGION_DETAILS = {
             'c4.8xlarge',
             'cg1.4xlarge',
             'g2.2xlarge',
+            'g2.8xlarge',
             'cr1.8xlarge',
             'hs1.8xlarge',
             'i2.xlarge',
@@ -668,7 +689,8 @@ REGION_DETAILS = {
             'r3.8xlarge',
             't2.micro',
             't2.small',
-            't2.medium'
+            't2.medium',
+            't2.large'
         ]
     },
     # US West (Northern California) Region
@@ -698,6 +720,7 @@ REGION_DETAILS = {
             'c1.medium',
             'c1.xlarge',
             'g2.2xlarge',
+            'g2.8xlarge',
             'c3.large',
             'c3.xlarge',
             'c3.2xlarge',
@@ -719,7 +742,8 @@ REGION_DETAILS = {
             'r3.8xlarge',
             't2.micro',
             't2.small',
-            't2.medium'
+            't2.medium',
+            't2.large'
         ]
     },
     # US West (Oregon) Region
@@ -749,6 +773,7 @@ REGION_DETAILS = {
             'c1.medium',
             'c1.xlarge',
             'g2.2xlarge',
+            'g2.8xlarge',
             'c3.large',
             'c3.xlarge',
             'c3.2xlarge',
@@ -776,7 +801,8 @@ REGION_DETAILS = {
             'r3.8xlarge',
             't2.micro',
             't2.small',
-            't2.medium'
+            't2.medium',
+            't2.large'
         ]
     },
     # EU (Ireland) Region
@@ -806,6 +832,7 @@ REGION_DETAILS = {
             'c1.medium',
             'c1.xlarge',
             'g2.2xlarge',
+            'g2.8xlarge',
             'c3.large',
             'c3.xlarge',
             'c3.2xlarge',
@@ -833,7 +860,8 @@ REGION_DETAILS = {
             'r3.8xlarge',
             't2.micro',
             't2.small',
-            't2.medium'
+            't2.medium',
+            't2.large'
         ]
     },
     # EU (Frankfurt) Region
@@ -877,7 +905,8 @@ REGION_DETAILS = {
             'r3.8xlarge',
             't2.micro',
             't2.small',
-            't2.medium'
+            't2.medium',
+            't2.large'
         ]
     },
     # Asia Pacific (Singapore) Region
@@ -927,7 +956,8 @@ REGION_DETAILS = {
             'd2.8xlarge',
             't2.micro',
             't2.small',
-            't2.medium'
+            't2.medium',
+            't2.large'
         ]
     },
     # Asia Pacific (Tokyo) Region
@@ -951,6 +981,7 @@ REGION_DETAILS = {
             'm3.2xlarge',
             'c1.medium',
             'g2.2xlarge',
+            'g2.8xlarge',
             'c1.xlarge',
             'c3.large',
             'c3.xlarge',
@@ -983,7 +1014,8 @@ REGION_DETAILS = {
             'r3.8xlarge',
             't2.micro',
             't2.small',
-            't2.medium'
+            't2.medium',
+            't2.large'
         ]
     },
     # South America (Sao Paulo) Region
@@ -1009,7 +1041,8 @@ REGION_DETAILS = {
             'c1.xlarge',
             't2.micro',
             't2.small',
-            't2.medium'
+            't2.medium',
+            't2.large'
         ]
     },
     # Asia Pacific (Sydney) Region
@@ -1064,7 +1097,8 @@ REGION_DETAILS = {
             'r3.8xlarge',
             't2.micro',
             't2.small',
-            't2.medium'
+            't2.medium',
+            't2.large'
         ]
     },
     'us-gov-west-1': {
@@ -1088,6 +1122,7 @@ REGION_DETAILS = {
             'c1.medium',
             'c1.xlarge',
             'g2.2xlarge',
+            'g2.8xlarge',
             'c3.large',
             'c3.xlarge',
             'c3.2xlarge',
@@ -1111,7 +1146,8 @@ REGION_DETAILS = {
             'r3.8xlarge',
             't2.micro',
             't2.small',
-            't2.medium'
+            't2.medium',
+            't2.large'
         ]
     },
     'nimbus': {

http://git-wip-us.apache.org/repos/asf/libcloud/blob/be9d9cba/libcloud/data/pricing.json
----------------------------------------------------------------------
diff --git a/libcloud/data/pricing.json b/libcloud/data/pricing.json
index 0f42160..9b18121 100644
--- a/libcloud/data/pricing.json
+++ b/libcloud/data/pricing.json
@@ -55,6 +55,7 @@
             "d2.8xlarge": "6.752",
             "d2.xlarge": "0.844",
             "g2.2xlarge": "0.898",
+            "g2.8xlarge": "3.592",
             "hi1.4xlarge": "3.276",
             "hs1.8xlarge": "5.400",
             "i2.2xlarge": "2.001",
@@ -85,7 +86,8 @@
             "t1.micro": "0.026",
             "t2.medium": "0.080",
             "t2.micro": "0.020",
-            "t2.small": "0.040"
+            "t2.small": "0.040",
+            "t2.large": "0.16"
         },
         "ec2_ap_southeast": {
             "c1.medium": "0.164",
@@ -104,6 +106,7 @@
             "d2.4xlarge": "3.480",
             "d2.8xlarge": "6.960",
             "d2.xlarge": "0.870",
+            "g2.8xlarge": "4",
             "g2.2xlarge": "1.000",
             "hi1.4xlarge": "N/A",
             "hs1.8xlarge": "5.570",
@@ -135,7 +138,8 @@
             "t1.micro": "0.020",
             "t2.medium": "0.080",
             "t2.micro": "0.020",
-            "t2.small": "0.040"
+            "t2.small": "0.040",
+            "t2.large": "0.16"
         },
         "ec2_ap_southeast_2": {
             "c1.medium": "0.164",
@@ -155,6 +159,7 @@
             "d2.8xlarge": "6.960",
             "d2.xlarge": "0.870",
             "g2.2xlarge": "0.898",
+            "g2.8xlarge": "3.592",
             "hi1.4xlarge": "N/A",
             "hs1.8xlarge": "5.570",
             "i2.2xlarge": "2.035",
@@ -185,7 +190,8 @@
             "t1.micro": "0.020",
             "t2.medium": "0.080",
             "t2.micro": "0.020",
-            "t2.small": "0.040"
+            "t2.small": "0.040",
+            "t2.large": "0.16"
         },
         "ec2_eu_central": {
             "c3.2xlarge": "0.516",
@@ -203,6 +209,7 @@
             "d2.8xlarge": "6.352",
             "d2.xlarge": "0.794",
             "g2.2xlarge": null,
+            "g2.8xlarge": "3.088",
             "i2.2xlarge": "2.026",
             "i2.4xlarge": "4.051",
             "i2.8xlarge": "8.102",
@@ -223,7 +230,8 @@
             "r3.xlarge": "0.421",
             "t2.medium": "0.060",
             "t2.micro": "0.015",
-            "t2.small": "0.030"
+            "t2.small": "0.030",
+            "t2.large": "0.12"
         },
         "ec2_eu_west": {
             "c1.medium": "0.148",
@@ -246,6 +254,7 @@
             "d2.8xlarge": "5.880",
             "d2.xlarge": "0.735",
             "g2.2xlarge": "0.702",
+            "g2.8xlarge": "2.808",
             "hi1.4xlarge": "3.100",
             "hs1.8xlarge": "4.900",
             "i2.2xlarge": "1.876",
@@ -276,7 +285,8 @@
             "t1.micro": "0.020",
             "t2.medium": "0.056",
             "t2.micro": "0.014",
-            "t2.small": "0.028"
+            "t2.small": "0.028",
+            "t2.large": "0.112"
         },
         "ec2_sa_east": {
             "c1.medium": "0.179",
@@ -302,7 +312,8 @@
             "t1.micro": "0.027",
             "t2.medium": "0.108",
             "t2.micro": "0.027",
-            "t2.small": "0.054"
+            "t2.small": "0.054",
+            "t2.large": "0.216"
         },
         "ec2_us_east": {
             "c1.medium": "0.130",
@@ -325,6 +336,7 @@
             "d2.8xlarge": "5.520",
             "d2.xlarge": "0.690",
             "g2.2xlarge": "0.650",
+            "g2.8xlarge": "2.6",
             "hi1.4xlarge": "3.100",
             "hs1.8xlarge": "4.600",
             "i2.2xlarge": "1.705",
@@ -391,7 +403,8 @@
             "t1.micro": "0.024",
             "t2.medium": "0.062",
             "t2.micro": "0.015",
-            "t2.small": "0.031"
+            "t2.small": "0.031",
+            "t2.large": "0.124"
         },
         "ec2_us_west": {
             "c1.medium": "0.148",
@@ -407,6 +420,7 @@
             "c4.large": "0.138",
             "c4.xlarge": "0.276",
             "g2.2xlarge": "0.702",
+            "g2.8xlarge": "2.808",
             "hi1.4xlarge": "N/A",
             "hs1.8xlarge": "N/A",
             "i2.2xlarge": "1.876",
@@ -437,7 +451,8 @@
             "t1.micro": "0.025",
             "t2.medium": "0.068",
             "t2.micro": "0.017",
-            "t2.small": "0.034"
+            "t2.small": "0.034",
+            "t2.large": "0.136"
         },
         "ec2_us_west_oregon": {
             "c1.medium": "0.130",
@@ -459,6 +474,7 @@
             "d2.8xlarge": "5.520",
             "d2.xlarge": "0.690",
             "g2.2xlarge": "0.650",
+            "g2.8xlarge": "2.6",
             "hi1.4xlarge": "3.100",
             "hs1.8xlarge": "4.600",
             "i2.2xlarge": "1.705",
@@ -489,7 +505,8 @@
             "t1.micro": "0.020",
             "t2.medium": "0.052",
             "t2.micro": "0.013",
-            "t2.small": "0.026"
+            "t2.small": "0.026",
+            "t2.large": "0.104"
         },
         "elastichosts": {
             "extra-large": 0.579,

http://git-wip-us.apache.org/repos/asf/libcloud/blob/be9d9cba/libcloud/test/compute/test_ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_ec2.py b/libcloud/test/compute/test_ec2.py
index 1b9ea61..79b5dc5 100644
--- a/libcloud/test/compute/test_ec2.py
+++ b/libcloud/test/compute/test_ec2.py
@@ -415,20 +415,20 @@ class EC2Tests(LibcloudTestCase, TestCaseMixin):
             self.assertTrue('m2.4xlarge' in ids)
 
             if region_name == 'us-east-1':
-                self.assertEqual(len(sizes), 50)
+                self.assertEqual(len(sizes), 52)
                 self.assertTrue('cg1.4xlarge' in ids)
                 self.assertTrue('cc2.8xlarge' in ids)
                 self.assertTrue('cr1.8xlarge' in ids)
             elif region_name == 'us-west-1':
-                self.assertEqual(len(sizes), 42)
+                self.assertEqual(len(sizes), 44)
             if region_name == 'us-west-2':
-                self.assertEqual(len(sizes), 39)
-            elif region_name == 'ap-southeast-1':
                 self.assertEqual(len(sizes), 41)
+            elif region_name == 'ap-southeast-1':
+                self.assertEqual(len(sizes), 42)
             elif region_name == 'ap-southeast-2':
-                self.assertEqual(len(sizes), 46)
+                self.assertEqual(len(sizes), 47)
             elif region_name == 'eu-west-1':
-                self.assertEqual(len(sizes), 48)
+                self.assertEqual(len(sizes), 50)
 
         self.driver.region_name = region_old
 


[04/11] libcloud git commit: EC2: Add missing vCPU information

Posted by an...@apache.org.
EC2: Add missing vCPU information

Add vCPU information from
<https://aws.amazon.com/ec2/instance-types/?nc1=f_ls>

Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/14bf9c13
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/14bf9c13
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/14bf9c13

Branch: refs/heads/trunk
Commit: 14bf9c13319c1003b35d2dac525e6c1ae22405d7
Parents: b5954b1
Author: Philipp Hahn <ha...@univention.de>
Authored: Tue Dec 1 08:59:52 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:14:55 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/ec2.py | 223 ++++++++++++++++++++++++++++-------
 1 file changed, 179 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/14bf9c13/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index bdb0d47..cb875d7 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -123,119 +123,170 @@ INSTANCE_TYPES = {
         'name': 'Large Instance',
         'ram': GiB(7.5),
         'disk': 2 * 420,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 2
+        }
     },
     'm1.xlarge': {
         'id': 'm1.xlarge',
         'name': 'Extra Large Instance',
         'ram': GiB(15),
         'disk': 4 * 420,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 4
+        }
     },
     'c1.medium': {
         'id': 'c1.medium',
         'name': 'High-CPU Medium Instance',
         'ram': GiB(1.7),
         'disk': 350,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 2
+        }
     },
     'c1.xlarge': {
         'id': 'c1.xlarge',
         'name': 'High-CPU Extra Large Instance',
         'ram': GiB(7),
         'disk': 4 * 420,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 8
+        }
     },
     'm2.xlarge': {
         'id': 'm2.xlarge',
         'name': 'High-Memory Extra Large Instance',
         'ram': GiB(17.1),
         'disk': 420,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 2
+        }
     },
     'm2.2xlarge': {
         'id': 'm2.2xlarge',
         'name': 'High-Memory Double Extra Large Instance',
         'ram': GiB(34.2),
         'disk': 850,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 4
+        }
     },
     'm2.4xlarge': {
         'id': 'm2.4xlarge',
         'name': 'High-Memory Quadruple Extra Large Instance',
         'ram': GiB(68.4),
         'disk': 2 * 840,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 8
+        }
     },
     'm3.medium': {
         'id': 'm3.medium',
         'name': 'Medium Instance',
         'ram': GiB(3.75),
         'disk': 4,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 1
+        }
     },
     'm3.large': {
         'id': 'm3.large',
         'name': 'Large Instance',
         'ram': GiB(7.5),
         'disk': 32,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 2
+        }
     },
     'm3.xlarge': {
         'id': 'm3.xlarge',
         'name': 'Extra Large Instance',
         'ram': GiB(15),
         'disk': 2 * 40,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 4
+        }
     },
     'm3.2xlarge': {
         'id': 'm3.2xlarge',
         'name': 'Double Extra Large Instance',
         'ram': GiB(30),
         'disk': 2 * 80,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 8
+        }
     },
     'm4.large': {
         'id': 'm4.large',
         'name': 'Large Instance',
         'ram': GiB(8),
         'disk': 0,  # EBS only
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 2
+        }
     },
     'm4.xlarge': {
         'id': 'm4.xlarge',
         'name': 'Extra Large Instance',
         'ram': GiB(16),
         'disk': 0,  # EBS only
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 4
+        }
     },
     'm4.2xlarge': {
         'id': 'm4.2xlarge',
         'name': 'Double Extra Large Instance',
         'ram': GiB(32),
         'disk': 0,  # EBS only
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 8
+        }
     },
     'm4.4xlarge': {
         'id': 'm4.4xlarge',
         'name': 'Quadruple Extra Large Instance',
         'ram': GiB(64),
         'disk': 0,  # EBS only
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 16
+        }
     },
     'm4.10xlarge': {
         'id': 'm4.10xlarge',
         'name': '10 Extra Large Instance',
         'ram': GiB(160),
         'disk': 0,  # EBS only
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 40
+        }
     },
     'cg1.4xlarge': {
         'id': 'cg1.4xlarge',
         'name': 'Cluster GPU Quadruple Extra Large Instance',
         'ram': GiB(22.5),
         'disk': 2 * 840,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 16
+        }
     },
     'g2.2xlarge': {
         'id': 'g2.2xlarge',
@@ -243,6 +294,9 @@ INSTANCE_TYPES = {
         'ram': GiB(15),
         'disk': 60,  # GB
         'bandwidth': None,
+        'extra': {
+            'cpu': 8
+        }
     },
     'cc1.4xlarge': {
         'id': 'cc1.4xlarge',
@@ -256,7 +310,10 @@ INSTANCE_TYPES = {
         'name': 'Cluster Compute Eight Extra Large Instance',
         'ram': GiB(60.5),
         'disk': 4 * 840,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 32
+        }
     },
     # c3 instances have 2 SSDs of the specified disk size
     'c3.large': {
@@ -264,91 +321,130 @@ INSTANCE_TYPES = {
         'name': 'Compute Optimized Large Instance',
         'ram': GiB(3.75),
         'disk': 2 * 16,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 2
+        }
     },
     'c3.xlarge': {
         'id': 'c3.xlarge',
         'name': 'Compute Optimized Extra Large Instance',
         'ram': GiB(7.5),
         'disk': 2 * 40,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 4
+        }
     },
     'c3.2xlarge': {
         'id': 'c3.2xlarge',
         'name': 'Compute Optimized Double Extra Large Instance',
         'ram': GiB(15),
         'disk': 2 * 80,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 8
+        }
     },
     'c3.4xlarge': {
         'id': 'c3.4xlarge',
         'name': 'Compute Optimized Quadruple Extra Large Instance',
         'ram': GiB(30),
         'disk': 2 * 160,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 16
+        }
     },
     'c3.8xlarge': {
         'id': 'c3.8xlarge',
         'name': 'Compute Optimized Eight Extra Large Instance',
         'ram': GiB(60),
         'disk': 2 * 320,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 32
+        }
     },
     'c4.large': {
         'id': 'c4.large',
         'name': 'Compute Optimized Large Instance',
         'ram': GiB(3.75),
         'disk': 0,  # EBS only
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 2
+        }
     },
     'c4.xlarge': {
         'id': 'c4.xlarge',
         'name': 'Compute Optimized Extra Large Instance',
         'ram': GiB(7.5),
         'disk': 0,  # EBS only
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 4
+        }
     },
     'c4.2xlarge': {
         'id': 'c4.2xlarge',
         'name': 'Compute Optimized Double Large Instance',
         'ram': GiB(15),
         'disk': 0,  # EBS only
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 8
+        }
     },
     'c4.4xlarge': {
         'id': 'c4.4xlarge',
         'name': 'Compute Optimized Quadruple Extra Large Instance',
         'ram': GiB(30),
         'disk': 0,  # EBS only
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 16
+        }
     },
     'c4.8xlarge': {
         'id': 'c4.8xlarge',
         'name': 'Compute Optimized Eight Extra Large Instance',
         'ram': GiB(60),
         'disk': 0,  # EBS only
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 32
+        }
     },
     'cr1.8xlarge': {
         'id': 'cr1.8xlarge',
         'name': 'High Memory Cluster Eight Extra Large',
         'ram': GiB(244),
         'disk': 2 * 120,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 32
+        }
     },
     'hs1.4xlarge': {
         'id': 'hs1.4xlarge',
         'name': 'High Storage Quadruple Extra Large Instance',
         'ram': GiB(64),
         'disk': 2 * 1024,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 16
+        }
     },
     'hs1.8xlarge': {
         'id': 'hs1.8xlarge',
         'name': 'High Storage Eight Extra Large Instance',
         'ram': GiB(117),
         'disk': 24 * 2000,
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 17
+        }
     },
     # i2 instances have up to eight SSD drives
     'i2.xlarge': {
@@ -356,56 +452,80 @@ INSTANCE_TYPES = {
         'name': 'High Storage Optimized Extra Large Instance',
         'ram': GiB(30.5),
         'disk': 800,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 4
+        }
     },
     'i2.2xlarge': {
         'id': 'i2.2xlarge',
         'name': 'High Storage Optimized Double Extra Large Instance',
         'ram': GiB(61),
         'disk': 2 * 800,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 8
+        }
     },
     'i2.4xlarge': {
         'id': 'i2.4xlarge',
         'name': 'High Storage Optimized Quadruple Large Instance',
         'ram': GiB(122),
         'disk': 4 * 800,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 16
+        }
     },
     'i2.8xlarge': {
         'id': 'i2.8xlarge',
         'name': 'High Storage Optimized Eight Extra Large Instance',
         'ram': GiB(244),
         'disk': 8 * 800,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 32
+        }
     },
     'd2.xlarge': {
         'id': 'd2.xlarge',
         'name': 'High Storage Optimized Extra Large Instance',
         'ram': GiB(30.5),
         'disk': 3 * 2000,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 4
+        }
     },
     'd2.2xlarge': {
         'id': 'd2.2xlarge',
         'name': 'High Storage Optimized Double Extra Large Instance',
         'ram': GiB(61),
         'disk': 6 * 2000,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 8
+        }
     },
     'd2.4xlarge': {
         'id': 'd2.4xlarge',
         'name': 'High Storage Optimized Quadruple Extra Large Instance',
         'ram': GiB(122),
         'disk': 12 * 2000,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 16
+        }
     },
     'd2.8xlarge': {
         'id': 'd2.8xlarge',
         'name': 'High Storage Optimized Eight Extra Large Instance',
         'ram': GiB(244),
         'disk': 24 * 2000,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 36
+        }
     },
     # 1x SSD
     'r3.large': {
@@ -413,35 +533,50 @@ INSTANCE_TYPES = {
         'name': 'Memory Optimized Large instance',
         'ram': GiB(15.25),
         'disk': 32,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 2
+        }
     },
     'r3.xlarge': {
         'id': 'r3.xlarge',
         'name': 'Memory Optimized Extra Large instance',
         'ram': GiB(30.5),
         'disk': 80,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 4
+        }
     },
     'r3.2xlarge': {
         'id': 'r3.2xlarge',
         'name': 'Memory Optimized Double Extra Large instance',
         'ram': GiB(61),
         'disk': 160,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 8
+        }
     },
     'r3.4xlarge': {
         'id': 'r3.4xlarge',
         'name': 'Memory Optimized Quadruple Extra Large instance',
         'ram': GiB(122),
         'disk': 320,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 16
+        }
     },
     'r3.8xlarge': {
         'id': 'r3.8xlarge',
         'name': 'Memory Optimized Eight Extra Large instance',
         'ram': GiB(244),
         'disk': 2 * 320,  # GB
-        'bandwidth': None
+        'bandwidth': None,
+        'extra': {
+            'cpu': 32
+        }
     },
     't2.micro': {
         'id': 't2.micro',


[07/11] libcloud git commit: EC2: Move comment before t2 instances

Posted by an...@apache.org.
EC2: Move comment before t2 instances

t2.micro is also a "Burstable Performance General Purpose" instance
type.

Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/7e13ba15
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/7e13ba15
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/7e13ba15

Branch: refs/heads/trunk
Commit: 7e13ba150a1db1f6f142eb41bfd75bbb51511fe3
Parents: 7d1b796
Author: Philipp Hahn <ha...@univention.de>
Authored: Tue Dec 1 09:05:02 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:14:57 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/ec2.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/7e13ba15/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index 8c7ba51..95cdb7a 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -588,6 +588,7 @@ INSTANCE_TYPES = {
             'cpu': 32
         }
     },
+    # Burstable Performance General Purpose
     't2.micro': {
         'id': 't2.micro',
         'name': 'Burstable Performance Micro Instance',
@@ -598,7 +599,6 @@ INSTANCE_TYPES = {
             'cpu': 1
         }
     },
-    # Burstable Performance General Purpose
     't2.small': {
         'id': 't2.small',
         'name': 'Burstable Performance Small Instance',


[09/11] libcloud git commit: EC2: Sort pricing by (non-)numeric part

Posted by an...@apache.org.
EC2: Sort pricing by (non-)numeric part

contrib/scrape-ec2-prices.py changes the ordering of data/pricing.json,
as it sorts the dictionary keys by string, which puts '10' before '2'.

Add a function to split the dictionary keys into the numeric, alphabetic
and other part and compare the first as integer, the middle by meaning,
and the later as string.

Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/78931d10
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/78931d10
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/78931d10

Branch: refs/heads/trunk
Commit: 78931d10e0d6394d28f71b5923719046df71fc02
Parents: c43fcc8
Author: Philipp Hahn <ha...@univention.de>
Authored: Wed Dec 2 09:14:55 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:14:59 2015 +1100

----------------------------------------------------------------------
 contrib/scrape-ec2-prices.py | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/78931d10/contrib/scrape-ec2-prices.py
----------------------------------------------------------------------
diff --git a/contrib/scrape-ec2-prices.py b/contrib/scrape-ec2-prices.py
index 4c7b653..b222705 100755
--- a/contrib/scrape-ec2-prices.py
+++ b/contrib/scrape-ec2-prices.py
@@ -114,6 +114,18 @@ REGION_NAME_MAP = {
     'us-gov-west-1': 'ec2_us_govwest'
 }
 
+INSTANCE_SIZES = [
+    'micro',
+    'small',
+    'medium',
+    'large',
+    'xlarge',
+    'x-large',
+    'extra-large'
+]
+
+RE_NUMERIC_OTHER = re.compile(r'(?:([0-9]+)|([-A-Z_a-z]+)|([^-0-9A-Z_a-z]+))')
+
 BASE_PATH = os.path.dirname(os.path.abspath(__file__))
 PRICING_FILE_PATH = os.path.join(BASE_PATH, '../libcloud/data/pricing.json')
 PRICING_FILE_PATH = os.path.abspath(PRICING_FILE_PATH)
@@ -178,7 +190,7 @@ def sort_nested_dict(value):
     """
     result = OrderedDict()
 
-    for key, value in sorted(value.items()):
+    for key, value in sorted(value.items(), key=sort_key_by_numeric_other):
         if isinstance(value, (dict, OrderedDict)):
             result[key] = sort_nested_dict(value)
         else:
@@ -187,6 +199,17 @@ def sort_nested_dict(value):
     return result
 
 
+def sort_key_by_numeric_other(key_value):
+    """
+    Split key into numeric, alpha and other part and sort accordingly.
+    """
+    return tuple((
+        int(numeric) if numeric else None,
+        INSTANCE_SIZES.index(alpha) if alpha in INSTANCE_SIZES else alpha,
+        other
+    ) for (numeric, alpha, other) in RE_NUMERIC_OTHER.findall(key_value[0]))
+
+
 def main():
     print('Scraping EC2 pricing data')
 


[05/11] libcloud git commit: EC2: Rename i2 and d2 instance types

Posted by an...@apache.org.
EC2: Rename i2 and d2 instance types

i2 are I/O optimized, while d2 are dense optimized

Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/7d1b7961
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/7d1b7961
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/7d1b7961

Branch: refs/heads/trunk
Commit: 7d1b7961f7f79bf281d34e6c5f702f29dc749c80
Parents: be9d9cb
Author: Philipp Hahn <ha...@univention.de>
Authored: Tue Dec 1 09:03:40 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:14:56 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/ec2.py | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/7d1b7961/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index 72a61b7..8c7ba51 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -459,7 +459,7 @@ INSTANCE_TYPES = {
     # i2 instances have up to eight SSD drives
     'i2.xlarge': {
         'id': 'i2.xlarge',
-        'name': 'High Storage Optimized Extra Large Instance',
+        'name': 'High I/O Storage Optimized Extra Large Instance',
         'ram': GiB(30.5),
         'disk': 800,  # GB
         'bandwidth': None,
@@ -469,7 +469,7 @@ INSTANCE_TYPES = {
     },
     'i2.2xlarge': {
         'id': 'i2.2xlarge',
-        'name': 'High Storage Optimized Double Extra Large Instance',
+        'name': 'High I/O Storage Optimized Double Extra Large Instance',
         'ram': GiB(61),
         'disk': 2 * 800,  # GB
         'bandwidth': None,
@@ -479,7 +479,7 @@ INSTANCE_TYPES = {
     },
     'i2.4xlarge': {
         'id': 'i2.4xlarge',
-        'name': 'High Storage Optimized Quadruple Large Instance',
+        'name': 'High I/O Storage Optimized Quadruple Large Instance',
         'ram': GiB(122),
         'disk': 4 * 800,  # GB
         'bandwidth': None,
@@ -489,7 +489,7 @@ INSTANCE_TYPES = {
     },
     'i2.8xlarge': {
         'id': 'i2.8xlarge',
-        'name': 'High Storage Optimized Eight Extra Large Instance',
+        'name': 'High I/O Storage Optimized Eight Extra Large Instance',
         'ram': GiB(244),
         'disk': 8 * 800,  # GB
         'bandwidth': None,
@@ -499,7 +499,7 @@ INSTANCE_TYPES = {
     },
     'd2.xlarge': {
         'id': 'd2.xlarge',
-        'name': 'High Storage Optimized Extra Large Instance',
+        'name': 'Dense Storage Optimized Extra Large Instance',
         'ram': GiB(30.5),
         'disk': 3 * 2000,  # GB
         'bandwidth': None,
@@ -509,7 +509,7 @@ INSTANCE_TYPES = {
     },
     'd2.2xlarge': {
         'id': 'd2.2xlarge',
-        'name': 'High Storage Optimized Double Extra Large Instance',
+        'name': 'Dense Storage Optimized Double Extra Large Instance',
         'ram': GiB(61),
         'disk': 6 * 2000,  # GB
         'bandwidth': None,
@@ -519,7 +519,7 @@ INSTANCE_TYPES = {
     },
     'd2.4xlarge': {
         'id': 'd2.4xlarge',
-        'name': 'High Storage Optimized Quadruple Extra Large Instance',
+        'name': 'Dense Storage Optimized Quadruple Extra Large Instance',
         'ram': GiB(122),
         'disk': 12 * 2000,  # GB
         'bandwidth': None,
@@ -529,7 +529,7 @@ INSTANCE_TYPES = {
     },
     'd2.8xlarge': {
         'id': 'd2.8xlarge',
-        'name': 'High Storage Optimized Eight Extra Large Instance',
+        'name': 'Dense Storage Optimized Eight Extra Large Instance',
         'ram': GiB(244),
         'disk': 24 * 2000,  # GB
         'bandwidth': None,


[02/11] libcloud git commit: EC2: Fix disk size

Posted by an...@apache.org.
EC2: Fix disk size

The values on <https://aws.amazon.com/ec2/instance-types/?nc1=f_ls> are
given in [GB].

Let Python calculate the size of multiple disks.

Remove wrong factor 1000 from m3 instances.

Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/b5954b18
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/b5954b18
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/b5954b18

Branch: refs/heads/trunk
Commit: b5954b189bb0878586f5c4bf713ab303e01417a1
Parents: d09f9b5
Author: Philipp Hahn <ha...@univention.de>
Authored: Tue Dec 1 08:56:15 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:14:54 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/ec2.py | 96 ++++++++++++++++++------------------
 1 file changed, 48 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/b5954b18/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index a2bc826..bdb0d47 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -101,147 +101,147 @@ INSTANCE_TYPES = {
         'id': 't1.micro',
         'name': 'Micro Instance',
         'ram': GiB(0.613),
-        'disk': 15,
+        'disk': 15,  # GB
         'bandwidth': None
     },
     'm1.small': {
         'id': 'm1.small',
         'name': 'Small Instance',
         'ram': GiB(1.7),
-        'disk': 160,
+        'disk': 160,  # GB
         'bandwidth': None
     },
     'm1.medium': {
         'id': 'm1.medium',
         'name': 'Medium Instance',
         'ram': GiB(3.75),
-        'disk': 410,
+        'disk': 410,  # GB
         'bandwidth': None
     },
     'm1.large': {
         'id': 'm1.large',
         'name': 'Large Instance',
         'ram': GiB(7.5),
-        'disk': 850,
+        'disk': 2 * 420,  # GB
         'bandwidth': None
     },
     'm1.xlarge': {
         'id': 'm1.xlarge',
         'name': 'Extra Large Instance',
         'ram': GiB(15),
-        'disk': 1690,
+        'disk': 4 * 420,  # GB
         'bandwidth': None
     },
     'c1.medium': {
         'id': 'c1.medium',
         'name': 'High-CPU Medium Instance',
         'ram': GiB(1.7),
-        'disk': 350,
+        'disk': 350,  # GB
         'bandwidth': None
     },
     'c1.xlarge': {
         'id': 'c1.xlarge',
         'name': 'High-CPU Extra Large Instance',
         'ram': GiB(7),
-        'disk': 1690,
+        'disk': 4 * 420,  # GB
         'bandwidth': None
     },
     'm2.xlarge': {
         'id': 'm2.xlarge',
         'name': 'High-Memory Extra Large Instance',
         'ram': GiB(17.1),
-        'disk': 420,
+        'disk': 420,  # GB
         'bandwidth': None
     },
     'm2.2xlarge': {
         'id': 'm2.2xlarge',
         'name': 'High-Memory Double Extra Large Instance',
         'ram': GiB(34.2),
-        'disk': 850,
+        'disk': 850,  # GB
         'bandwidth': None
     },
     'm2.4xlarge': {
         'id': 'm2.4xlarge',
         'name': 'High-Memory Quadruple Extra Large Instance',
         'ram': GiB(68.4),
-        'disk': 1690,
+        'disk': 2 * 840,  # GB
         'bandwidth': None
     },
     'm3.medium': {
         'id': 'm3.medium',
         'name': 'Medium Instance',
         'ram': GiB(3.75),
-        'disk': 4000,
+        'disk': 4,  # GB
         'bandwidth': None
     },
     'm3.large': {
         'id': 'm3.large',
         'name': 'Large Instance',
         'ram': GiB(7.5),
-        'disk': 32000,
+        'disk': 32,  # GB
         'bandwidth': None
     },
     'm3.xlarge': {
         'id': 'm3.xlarge',
         'name': 'Extra Large Instance',
         'ram': GiB(15),
-        'disk': 80000,
+        'disk': 2 * 40,  # GB
         'bandwidth': None
     },
     'm3.2xlarge': {
         'id': 'm3.2xlarge',
         'name': 'Double Extra Large Instance',
         'ram': GiB(30),
-        'disk': 160000,
+        'disk': 2 * 80,  # GB
         'bandwidth': None
     },
     'm4.large': {
         'id': 'm4.large',
         'name': 'Large Instance',
         'ram': GiB(8),
-        'disk': 0,
+        'disk': 0,  # EBS only
         'bandwidth': None
     },
     'm4.xlarge': {
         'id': 'm4.xlarge',
         'name': 'Extra Large Instance',
         'ram': GiB(16),
-        'disk': 0,
+        'disk': 0,  # EBS only
         'bandwidth': None
     },
     'm4.2xlarge': {
         'id': 'm4.2xlarge',
         'name': 'Double Extra Large Instance',
         'ram': GiB(32),
-        'disk': 0,
+        'disk': 0,  # EBS only
         'bandwidth': None
     },
     'm4.4xlarge': {
         'id': 'm4.4xlarge',
         'name': 'Quadruple Extra Large Instance',
         'ram': GiB(64),
-        'disk': 0,
+        'disk': 0,  # EBS only
         'bandwidth': None
     },
     'm4.10xlarge': {
         'id': 'm4.10xlarge',
         'name': '10 Extra Large Instance',
         'ram': GiB(160),
-        'disk': 0,
+        'disk': 0,  # EBS only
         'bandwidth': None
     },
     'cg1.4xlarge': {
         'id': 'cg1.4xlarge',
         'name': 'Cluster GPU Quadruple Extra Large Instance',
         'ram': GiB(22.5),
-        'disk': 1690,
+        'disk': 2 * 840,  # GB
         'bandwidth': None
     },
     'g2.2xlarge': {
         'id': 'g2.2xlarge',
         'name': 'Cluster GPU G2 Double Extra Large Instance',
         'ram': GiB(15),
-        'disk': 60,
+        'disk': 60,  # GB
         'bandwidth': None,
     },
     'cc1.4xlarge': {
@@ -255,7 +255,7 @@ INSTANCE_TYPES = {
         'id': 'cc2.8xlarge',
         'name': 'Cluster Compute Eight Extra Large Instance',
         'ram': GiB(60.5),
-        'disk': 3370,
+        'disk': 4 * 840,  # GB
         'bandwidth': None
     },
     # c3 instances have 2 SSDs of the specified disk size
@@ -263,91 +263,91 @@ INSTANCE_TYPES = {
         'id': 'c3.large',
         'name': 'Compute Optimized Large Instance',
         'ram': GiB(3.75),
-        'disk': 32,  # x2
+        'disk': 2 * 16,  # GB
         'bandwidth': None
     },
     'c3.xlarge': {
         'id': 'c3.xlarge',
         'name': 'Compute Optimized Extra Large Instance',
         'ram': GiB(7.5),
-        'disk': 80,  # x2
+        'disk': 2 * 40,  # GB
         'bandwidth': None
     },
     'c3.2xlarge': {
         'id': 'c3.2xlarge',
         'name': 'Compute Optimized Double Extra Large Instance',
         'ram': GiB(15),
-        'disk': 160,  # x2
+        'disk': 2 * 80,  # GB
         'bandwidth': None
     },
     'c3.4xlarge': {
         'id': 'c3.4xlarge',
         'name': 'Compute Optimized Quadruple Extra Large Instance',
         'ram': GiB(30),
-        'disk': 320,  # x2
+        'disk': 2 * 160,  # GB
         'bandwidth': None
     },
     'c3.8xlarge': {
         'id': 'c3.8xlarge',
         'name': 'Compute Optimized Eight Extra Large Instance',
         'ram': GiB(60),
-        'disk': 640,  # x2
+        'disk': 2 * 320,  # GB
         'bandwidth': None
     },
     'c4.large': {
         'id': 'c4.large',
         'name': 'Compute Optimized Large Instance',
         'ram': GiB(3.75),
-        'disk': 0,
+        'disk': 0,  # EBS only
         'bandwidth': None
     },
     'c4.xlarge': {
         'id': 'c4.xlarge',
         'name': 'Compute Optimized Extra Large Instance',
         'ram': GiB(7.5),
-        'disk': 0,
+        'disk': 0,  # EBS only
         'bandwidth': None
     },
     'c4.2xlarge': {
         'id': 'c4.2xlarge',
         'name': 'Compute Optimized Double Large Instance',
         'ram': GiB(15),
-        'disk': 0,
+        'disk': 0,  # EBS only
         'bandwidth': None
     },
     'c4.4xlarge': {
         'id': 'c4.4xlarge',
         'name': 'Compute Optimized Quadruple Extra Large Instance',
         'ram': GiB(30),
-        'disk': 0,
+        'disk': 0,  # EBS only
         'bandwidth': None
     },
     'c4.8xlarge': {
         'id': 'c4.8xlarge',
         'name': 'Compute Optimized Eight Extra Large Instance',
         'ram': GiB(60),
-        'disk': 0,
+        'disk': 0,  # EBS only
         'bandwidth': None
     },
     'cr1.8xlarge': {
         'id': 'cr1.8xlarge',
         'name': 'High Memory Cluster Eight Extra Large',
         'ram': GiB(244),
-        'disk': 240,
+        'disk': 2 * 120,  # GB
         'bandwidth': None
     },
     'hs1.4xlarge': {
         'id': 'hs1.4xlarge',
         'name': 'High Storage Quadruple Extra Large Instance',
         'ram': GiB(64),
-        'disk': 2048,
+        'disk': 2 * 1024,  # GB
         'bandwidth': None
     },
     'hs1.8xlarge': {
         'id': 'hs1.8xlarge',
         'name': 'High Storage Eight Extra Large Instance',
         'ram': GiB(117),
-        'disk': 48000,
+        'disk': 24 * 2000,
         'bandwidth': None
     },
     # i2 instances have up to eight SSD drives
@@ -355,56 +355,56 @@ INSTANCE_TYPES = {
         'id': 'i2.xlarge',
         'name': 'High Storage Optimized Extra Large Instance',
         'ram': GiB(30.5),
-        'disk': 800,
+        'disk': 800,  # GB
         'bandwidth': None
     },
     'i2.2xlarge': {
         'id': 'i2.2xlarge',
         'name': 'High Storage Optimized Double Extra Large Instance',
         'ram': GiB(61),
-        'disk': 1600,
+        'disk': 2 * 800,  # GB
         'bandwidth': None
     },
     'i2.4xlarge': {
         'id': 'i2.4xlarge',
         'name': 'High Storage Optimized Quadruple Large Instance',
         'ram': GiB(122),
-        'disk': 3200,
+        'disk': 4 * 800,  # GB
         'bandwidth': None
     },
     'i2.8xlarge': {
         'id': 'i2.8xlarge',
         'name': 'High Storage Optimized Eight Extra Large Instance',
         'ram': GiB(244),
-        'disk': 6400,
+        'disk': 8 * 800,  # GB
         'bandwidth': None
     },
     'd2.xlarge': {
         'id': 'd2.xlarge',
         'name': 'High Storage Optimized Extra Large Instance',
         'ram': GiB(30.5),
-        'disk': 6000,  # 3 x 2 TB
+        'disk': 3 * 2000,  # GB
         'bandwidth': None
     },
     'd2.2xlarge': {
         'id': 'd2.2xlarge',
         'name': 'High Storage Optimized Double Extra Large Instance',
         'ram': GiB(61),
-        'disk': 12000,  # 6 x 2 TB
+        'disk': 6 * 2000,  # GB
         'bandwidth': None
     },
     'd2.4xlarge': {
         'id': 'd2.4xlarge',
         'name': 'High Storage Optimized Quadruple Extra Large Instance',
         'ram': GiB(122),
-        'disk': 24000,  # 12 x 2 TB
+        'disk': 12 * 2000,  # GB
         'bandwidth': None
     },
     'd2.8xlarge': {
         'id': 'd2.8xlarge',
         'name': 'High Storage Optimized Eight Extra Large Instance',
         'ram': GiB(244),
-        'disk': 48000,  # 24 x 2 TB
+        'disk': 24 * 2000,  # GB
         'bandwidth': None
     },
     # 1x SSD
@@ -412,35 +412,35 @@ INSTANCE_TYPES = {
         'id': 'r3.large',
         'name': 'Memory Optimized Large instance',
         'ram': GiB(15.25),
-        'disk': 32,
+        'disk': 32,  # GB
         'bandwidth': None
     },
     'r3.xlarge': {
         'id': 'r3.xlarge',
         'name': 'Memory Optimized Extra Large instance',
         'ram': GiB(30.5),
-        'disk': 80,
+        'disk': 80,  # GB
         'bandwidth': None
     },
     'r3.2xlarge': {
         'id': 'r3.2xlarge',
         'name': 'Memory Optimized Double Extra Large instance',
         'ram': GiB(61),
-        'disk': 160,
+        'disk': 160,  # GB
         'bandwidth': None
     },
     'r3.4xlarge': {
         'id': 'r3.4xlarge',
         'name': 'Memory Optimized Quadruple Extra Large instance',
         'ram': GiB(122),
-        'disk': 320,
+        'disk': 320,  # GB
         'bandwidth': None
     },
     'r3.8xlarge': {
         'id': 'r3.8xlarge',
         'name': 'Memory Optimized Eight Extra Large instance',
         'ram': GiB(244),
-        'disk': 320,  # x2
+        'disk': 2 * 320,  # GB
         'bandwidth': None
     },
     't2.micro': {


[08/11] libcloud git commit: OSC: Remove duplicate entries

Posted by an...@apache.org.
OSC: Remove duplicate entries

Commit b7d851f1 added the pricing and instance info multiple times.

Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/c43fcc81
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/c43fcc81
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/c43fcc81

Branch: refs/heads/trunk
Commit: c43fcc81ecfd2f1e32fb141217072a9459c458b1
Parents: e88a00c
Author: Philipp Hahn <ha...@univention.de>
Authored: Wed Dec 2 08:58:49 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:14:58 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/ec2.py | 243 -----------------------------------
 libcloud/data/pricing.json      |  88 -------------
 2 files changed, 331 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/c43fcc81/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index 4bf95f1..dc64829 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -1497,87 +1497,6 @@ OUTSCALE_SAS_REGION_DETAILS = {
             'os1.8xlarge'
         ]
     },
-    'eu-west-2': {
-        'endpoint': 'fcu.eu-west-2.outscale.com',
-        'api_name': 'osc_sas_eu_west_2',
-        'country': 'FRANCE',
-        'instance_types': [
-            't1.micro',
-            'm1.small',
-            'm1.medium',
-            'm1.large',
-            'm1.xlarge',
-            'c1.medium',
-            'c1.xlarge',
-            'm2.xlarge',
-            'm2.2xlarge',
-            'm2.4xlarge',
-            'nv1.small',
-            'nv1.medium',
-            'nv1.large',
-            'nv1.xlarge',
-            'cc1.4xlarge',
-            'cc2.8xlarge',
-            'm3.xlarge',
-            'm3.2xlarge',
-            'cr1.8xlarge',
-            'os1.8xlarge'
-        ]
-    },
-    'eu-west-2': {
-        'endpoint': 'fcu.eu-west-2.outscale.com',
-        'api_name': 'osc_sas_eu_west_2',
-        'country': 'FRANCE',
-        'instance_types': [
-            't1.micro',
-            'm1.small',
-            'm1.medium',
-            'm1.large',
-            'm1.xlarge',
-            'c1.medium',
-            'c1.xlarge',
-            'm2.xlarge',
-            'm2.2xlarge',
-            'm2.4xlarge',
-            'nv1.small',
-            'nv1.medium',
-            'nv1.large',
-            'nv1.xlarge',
-            'cc1.4xlarge',
-            'cc2.8xlarge',
-            'm3.xlarge',
-            'm3.2xlarge',
-            'cr1.8xlarge',
-            'os1.8xlarge'
-        ]
-    },
-    'eu-west-2': {
-        'endpoint': 'fcu.eu-west-2.outscale.com',
-        'api_name': 'osc_sas_eu_west_2',
-        'country': 'FRANCE',
-        'instance_types': [
-            't1.micro',
-            'm1.small',
-            'm1.medium',
-            'm1.large',
-            'm1.xlarge',
-            'c1.medium',
-            'c1.xlarge',
-            'm2.xlarge',
-            'm2.2xlarge',
-            'm2.4xlarge',
-            'nv1.small',
-            'nv1.medium',
-            'nv1.large',
-            'nv1.xlarge',
-            'cc1.4xlarge',
-            'cc2.8xlarge',
-            'm3.xlarge',
-            'm3.2xlarge',
-            'cr1.8xlarge',
-            'os1.8xlarge'
-        ]
-    },
     'us-east-1': {
         'endpoint': 'api.us-east-1.outscale.com',
         'api_name': 'osc_sas_us_east_1',
@@ -1771,87 +1690,6 @@ OUTSCALE_INC_REGION_DETAILS = {
             'os1.8xlarge'
         ]
     },
-    'eu-west-2': {
-        'endpoint': 'fcu.eu-west-2.outscale.com',
-        'api_name': 'osc_inc_eu_west_2',
-        'country': 'FRANCE',
-        'instance_types': [
-            't1.micro',
-            'm1.small',
-            'm1.medium',
-            'm1.large',
-            'm1.xlarge',
-            'c1.medium',
-            'c1.xlarge',
-            'm2.xlarge',
-            'm2.2xlarge',
-            'm2.4xlarge',
-            'nv1.small',
-            'nv1.medium',
-            'nv1.large',
-            'nv1.xlarge',
-            'cc1.4xlarge',
-            'cc2.8xlarge',
-            'm3.xlarge',
-            'm3.2xlarge',
-            'cr1.8xlarge',
-            'os1.8xlarge'
-        ]
-    },
-    'eu-west-2': {
-        'endpoint': 'fcu.eu-west-2.outscale.com',
-        'api_name': 'osc_inc_eu_west_2',
-        'country': 'FRANCE',
-        'instance_types': [
-            't1.micro',
-            'm1.small',
-            'm1.medium',
-            'm1.large',
-            'm1.xlarge',
-            'c1.medium',
-            'c1.xlarge',
-            'm2.xlarge',
-            'm2.2xlarge',
-            'm2.4xlarge',
-            'nv1.small',
-            'nv1.medium',
-            'nv1.large',
-            'nv1.xlarge',
-            'cc1.4xlarge',
-            'cc2.8xlarge',
-            'm3.xlarge',
-            'm3.2xlarge',
-            'cr1.8xlarge',
-            'os1.8xlarge'
-        ]
-    },
-    'eu-west-2': {
-        'endpoint': 'fcu.eu-west-2.outscale.com',
-        'api_name': 'osc_inc_eu_west_2',
-        'country': 'FRANCE',
-        'instance_types': [
-            't1.micro',
-            'm1.small',
-            'm1.medium',
-            'm1.large',
-            'm1.xlarge',
-            'c1.medium',
-            'c1.xlarge',
-            'm2.xlarge',
-            'm2.2xlarge',
-            'm2.4xlarge',
-            'nv1.small',
-            'nv1.medium',
-            'nv1.large',
-            'nv1.xlarge',
-            'cc1.4xlarge',
-            'cc2.8xlarge',
-            'm3.xlarge',
-            'm3.2xlarge',
-            'cr1.8xlarge',
-            'os1.8xlarge'
-        ]
-    },
     'eu-west-3': {
         'endpoint': 'api-ppd.outscale.com',
         'api_name': 'osc_inc_eu_west_3',
@@ -1932,87 +1770,6 @@ OUTSCALE_INC_REGION_DETAILS = {
             'cr1.8xlarge',
             'os1.8xlarge'
         ]
-    },
-    'us-east-2': {
-        'endpoint': 'fcu.us-east-2.outscale.com',
-        'api_name': 'osc_inc_us_east_2',
-        'country': 'USA',
-        'instance_types': [
-            't1.micro',
-            'm1.small',
-            'm1.medium',
-            'm1.large',
-            'm1.xlarge',
-            'c1.medium',
-            'c1.xlarge',
-            'm2.xlarge',
-            'm2.2xlarge',
-            'm2.4xlarge',
-            'nv1.small',
-            'nv1.medium',
-            'nv1.large',
-            'nv1.xlarge',
-            'cc1.4xlarge',
-            'cc2.8xlarge',
-            'm3.xlarge',
-            'm3.2xlarge',
-            'cr1.8xlarge',
-            'os1.8xlarge'
-        ]
-    },
-    'us-east-2': {
-        'endpoint': 'fcu.us-east-2.outscale.com',
-        'api_name': 'osc_inc_us_east_2',
-        'country': 'USA',
-        'instance_types': [
-            't1.micro',
-            'm1.small',
-            'm1.medium',
-            'm1.large',
-            'm1.xlarge',
-            'c1.medium',
-            'c1.xlarge',
-            'm2.xlarge',
-            'm2.2xlarge',
-            'm2.4xlarge',
-            'nv1.small',
-            'nv1.medium',
-            'nv1.large',
-            'nv1.xlarge',
-            'cc1.4xlarge',
-            'cc2.8xlarge',
-            'm3.xlarge',
-            'm3.2xlarge',
-            'cr1.8xlarge',
-            'os1.8xlarge'
-        ]
-    },
-    'us-east-2': {
-        'endpoint': 'fcu.us-east-2.outscale.com',
-        'api_name': 'osc_inc_us_east_2',
-        'country': 'USA',
-        'instance_types': [
-            't1.micro',
-            'm1.small',
-            'm1.medium',
-            'm1.large',
-            'm1.xlarge',
-            'c1.medium',
-            'c1.xlarge',
-            'm2.xlarge',
-            'm2.2xlarge',
-            'm2.4xlarge',
-            'nv1.small',
-            'nv1.medium',
-            'nv1.large',
-            'nv1.xlarge',
-            'cc1.4xlarge',
-            'cc2.8xlarge',
-            'm3.xlarge',
-            'm3.2xlarge',
-            'cr1.8xlarge',
-            'os1.8xlarge'
-        ]
     }
 }
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c43fcc81/libcloud/data/pricing.json
----------------------------------------------------------------------
diff --git a/libcloud/data/pricing.json b/libcloud/data/pricing.json
index 9b18121..85a41a9 100644
--- a/libcloud/data/pricing.json
+++ b/libcloud/data/pricing.json
@@ -710,28 +710,6 @@
             "os1.8xlarge": "4.310",
             "t1.micro": "0.040"
         },
-        "osc_inc_eu_west_2": {
-            "c1.medium": "0.230",
-            "c1.xlarge": "0.900",
-            "cc1.4xlarge": "1.300",
-            "cc2.8xlarge": "2.400",
-            "cr1.8xlarge": "3.500",
-            "m1.large": "0.360",
-            "m1.medium": "0.120",
-            "m1.small": "0.090",
-            "m1.xlarge": "0.730",
-            "m2.2xlarge": "0.820",
-            "m2.4xlarge": "1.640",
-            "m2.xlarge": "0.410",
-            "m3.2xlarge": "1.560",
-            "m3.xlarge": "0.780",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.250",
-            "nv1.small": "5.220",
-            "nv1.xlarge": "5.610",
-            "os1.8xlarge": "4.310",
-            "t1.micro": "0.040"
-        },
         "osc_inc_eu_west_3": {
             "c1.medium": "0.230",
             "c1.xlarge": "0.900",
@@ -798,28 +776,6 @@
             "os1.8xlarge": "6.400",
             "t1.micro": "0.020"
         },
-        "osc_inc_us_east_2": {
-            "c1.medium": "0.150",
-            "c1.xlarge": "0.580",
-            "cc1.4xlarge": "1.610",
-            "cc2.8xlarge": "2.400",
-            "cr1.8xlarge": "3.500",
-            "m1.large": "0.240",
-            "m1.medium": "0.180",
-            "m1.small": "0.060",
-            "m1.xlarge": "0.730",
-            "m2.2xlarge": "1.020",
-            "m2.4xlarge": "2.040",
-            "m2.xlarge": "0.410",
-            "m3.2xlarge": "1.560",
-            "m3.xlarge": "0.500",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.250",
-            "nv1.small": "5.190",
-            "nv1.xlarge": "5.610",
-            "os1.8xlarge": "6.400",
-            "t1.micro": "0.020"
-        },
         "osc_sas_eu_west_1": {
             "c1.medium": "0.230",
             "c1.xlarge": "0.900",
@@ -864,28 +820,6 @@
             "os1.8xlarge": "6.400",
             "t1.micro": "0.040"
         },
-        "osc_sas_eu_west_2": {
-            "c1.medium": "0.230",
-            "c1.xlarge": "0.900",
-            "cc1.4xlarge": "1.460",
-            "cc2.8xlarge": "2.700",
-            "cr1.8xlarge": "3.750",
-            "m1.large": "0.360",
-            "m1.medium": "0.130",
-            "m1.small": "0.090",
-            "m1.xlarge": "0.730",
-            "m2.2xlarge": "0.920",
-            "m2.4xlarge": "1.840",
-            "m2.xlarge": "0.460",
-            "m3.2xlarge": "1.560",
-            "m3.xlarge": "0.780",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.310",
-            "nv1.small": "5.220",
-            "nv1.xlarge": "5.860",
-            "os1.8xlarge": "6.400",
-            "t1.micro": "0.040"
-        },
         "osc_sas_eu_west_3": {
             "c1.medium": "0.230",
             "c1.xlarge": "0.900",
@@ -952,28 +886,6 @@
             "os1.8xlarge": "6.400",
             "t1.micro": "0.020"
         },
-        "osc_sas_us_east_2": {
-            "c1.medium": "0.170",
-            "c1.xlarge": "0.660",
-            "cc1.4xlarge": "1.610",
-            "cc2.8xlarge": "2.700",
-            "cr1.8xlarge": "3.750",
-            "m1.large": "0.260",
-            "m1.medium": "0.180",
-            "m1.small": "0.070",
-            "m1.xlarge": "0.730",
-            "m2.2xlarge": "1.020",
-            "m2.4xlarge": "2.040",
-            "m2.xlarge": "0.460",
-            "m3.2xlarge": "1.560",
-            "m3.xlarge": "0.550",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.310",
-            "nv1.small": "5.220",
-            "nv1.xlarge": "5.860",
-            "os1.8xlarge": "6.400",
-            "t1.micro": "0.020"
-        },
         "rackspace": {
             "1": 0.015,
             "2": 0.03,


[11/11] libcloud git commit: compute: Remove duplicate state STOPPED

Posted by an...@apache.org.
compute: Remove duplicate state STOPPED

Remove duplicate description for NodeState.STOPPED added by
commit b09c1bef78e13688e3c5739e5fd620e226a16672
Closes #649
Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/2f514559
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/2f514559
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/2f514559

Branch: refs/heads/trunk
Commit: 2f514559ba13ca0268e9d5421a477514cc19dec0
Parents: b83669a
Author: Philipp Hahn <ha...@univention.de>
Authored: Wed Dec 2 14:30:07 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:15:07 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/types.py | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/2f514559/libcloud/compute/types.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/types.py b/libcloud/compute/types.py
index 022df90..b9d194f 100644
--- a/libcloud/compute/types.py
+++ b/libcloud/compute/types.py
@@ -200,7 +200,6 @@ class NodeState(object):
     :cvar TERMINATED: Node is terminated. This node can't be started later on.
     :cvar STOPPED: Node is stopped. This node can be started later on.
     :cvar PENDING: Node is pending.
-    :cvar STOPPED: Node is stopped.
     :cvar SUSPENDED: Node is suspended.
     :cvar ERROR: Node is an error state. Usually no operations can be performed
                  on the node once it ends up in the error state.


[10/11] libcloud git commit: EC2: Update pricing

Posted by an...@apache.org.
EC2: Update pricing

Please note that the scraper stores the price as string and does not
beautify the string to have exactly 3 digits in the radix part.

Signed-off-by: Anthony Shaw <an...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/b83669ae
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/b83669ae
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/b83669ae

Branch: refs/heads/trunk
Commit: b83669ae1d1693e44ee2b173593a31fa5d4a9ed5
Parents: 78931d1
Author: Philipp Hahn <ha...@univention.de>
Authored: Wed Dec 2 08:49:53 2015 +0100
Committer: Anthony Shaw <an...@gmail.com>
Committed: Sat Dec 5 07:15:00 2015 +1100

----------------------------------------------------------------------
 libcloud/data/pricing.json | 745 ++++++++++++++++++++--------------------
 1 file changed, 374 insertions(+), 371 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/b83669ae/libcloud/data/pricing.json
----------------------------------------------------------------------
diff --git a/libcloud/data/pricing.json b/libcloud/data/pricing.json
index 85a41a9..1d20196 100644
--- a/libcloud/data/pricing.json
+++ b/libcloud/data/pricing.json
@@ -38,490 +38,493 @@
         "ec2_ap_northeast": {
             "c1.medium": "0.158",
             "c1.xlarge": "0.632",
+            "c3.large": "0.128",
+            "c3.xlarge": "0.255",
             "c3.2xlarge": "0.511",
             "c3.4xlarge": "1.021",
             "c3.8xlarge": "2.043",
-            "c3.large": "0.128",
-            "c3.xlarge": "0.255",
-            "c4.2xlarge": "0.588",
-            "c4.4xlarge": "1.176",
-            "c4.8xlarge": "2.352",
-            "c4.large": "0.147",
-            "c4.xlarge": "0.294",
+            "c4.large": "0.14",
+            "c4.xlarge": "0.279",
+            "c4.2xlarge": "0.559",
+            "c4.4xlarge": "1.117",
+            "c4.8xlarge": "2.234",
             "cc2.8xlarge": "2.349",
             "cr1.8xlarge": "4.105",
+            "d2.xlarge": "0.844",
             "d2.2xlarge": "1.688",
             "d2.4xlarge": "3.376",
             "d2.8xlarge": "6.752",
-            "d2.xlarge": "0.844",
             "g2.2xlarge": "0.898",
             "g2.8xlarge": "3.592",
             "hi1.4xlarge": "3.276",
-            "hs1.8xlarge": "5.400",
+            "hs1.8xlarge": "5.4",
+            "i2.xlarge": "1.001",
             "i2.2xlarge": "2.001",
             "i2.4xlarge": "4.002",
             "i2.8xlarge": "8.004",
-            "i2.xlarge": "1.001",
-            "m1.large": "0.243",
-            "m1.medium": "0.122",
             "m1.small": "0.061",
+            "m1.medium": "0.122",
+            "m1.large": "0.243",
             "m1.xlarge": "0.486",
-            "m2.2xlarge": "0.575",
-            "m2.4xlarge": "1.150",
             "m2.xlarge": "0.287",
-            "m3.2xlarge": "0.810",
-            "m3.large": "0.203",
-            "m3.medium": "0.101",
-            "m3.xlarge": "0.405",
+            "m2.2xlarge": "0.575",
+            "m2.4xlarge": "1.15",
+            "m3.medium": "0.096",
+            "m3.large": "0.193",
+            "m3.xlarge": "0.385",
+            "m3.2xlarge": "0.77",
             "m4.large": "0.183",
             "m4.xlarge": "0.366",
             "m4.2xlarge": "0.732",
             "m4.4xlarge": "1.464",
-            "m4.10xlarge": "3.660",
-            "r3.2xlarge": "0.840",
-            "r3.4xlarge": "1.680",
-            "r3.8xlarge": "3.360",
-            "r3.large": "0.210",
-            "r3.xlarge": "0.420",
+            "m4.10xlarge": "3.66",
+            "r3.large": "0.21",
+            "r3.xlarge": "0.42",
+            "r3.2xlarge": "0.84",
+            "r3.4xlarge": "1.68",
+            "r3.8xlarge": "3.36",
             "t1.micro": "0.026",
-            "t2.medium": "0.080",
-            "t2.micro": "0.020",
-            "t2.small": "0.040",
+            "t2.micro": "0.02",
+            "t2.small": "0.04",
+            "t2.medium": "0.08",
             "t2.large": "0.16"
         },
         "ec2_ap_southeast": {
             "c1.medium": "0.164",
             "c1.xlarge": "0.655",
+            "c3.large": "0.132",
+            "c3.xlarge": "0.265",
             "c3.2xlarge": "0.529",
             "c3.4xlarge": "1.058",
             "c3.8xlarge": "2.117",
-            "c3.large": "0.132",
-            "c3.xlarge": "0.265",
+            "c4.large": "0.152",
+            "c4.xlarge": "0.304",
             "c4.2xlarge": "0.608",
             "c4.4xlarge": "1.216",
             "c4.8xlarge": "2.432",
-            "c4.large": "0.152",
-            "c4.xlarge": "0.304",
-            "d2.2xlarge": "1.740",
-            "d2.4xlarge": "3.480",
-            "d2.8xlarge": "6.960",
-            "d2.xlarge": "0.870",
+            "d2.xlarge": "0.87",
+            "d2.2xlarge": "1.74",
+            "d2.4xlarge": "3.48",
+            "d2.8xlarge": "6.96",
+            "g2.2xlarge": "1",
             "g2.8xlarge": "4",
-            "g2.2xlarge": "1.000",
             "hi1.4xlarge": "N/A",
-            "hs1.8xlarge": "5.570",
-            "i2.2xlarge": "2.035",
-            "i2.4xlarge": "4.070",
-            "i2.8xlarge": "8.140",
+            "hs1.8xlarge": "5.57",
             "i2.xlarge": "1.018",
-            "m1.large": "0.233",
-            "m1.medium": "0.117",
+            "i2.2xlarge": "2.035",
+            "i2.4xlarge": "4.07",
+            "i2.8xlarge": "8.14",
             "m1.small": "0.058",
+            "m1.medium": "0.117",
+            "m1.large": "0.233",
             "m1.xlarge": "0.467",
+            "m2.xlarge": "0.296",
             "m2.2xlarge": "0.592",
             "m2.4xlarge": "1.183",
-            "m2.xlarge": "0.296",
-            "m3.2xlarge": "0.784",
-            "m3.large": "0.196",
             "m3.medium": "0.098",
+            "m3.large": "0.196",
             "m3.xlarge": "0.392",
-            "m4.large": "0.131",
-            "m4.xlarge": "0.262",
-            "m4.2xlarge": "0.524",
-            "m4.4xlarge": "1.048",
-            "m4.10xlarge": "2.621",
-            "r3.2xlarge": "0.840",
-            "r3.4xlarge": "1.680",
-            "r3.8xlarge": "3.360",
-            "r3.large": "0.210",
-            "r3.xlarge": "0.420",
-            "t1.micro": "0.020",
-            "t2.medium": "0.080",
-            "t2.micro": "0.020",
-            "t2.small": "0.040",
+            "m3.2xlarge": "0.784",
+            "m4.large": "0.187",
+            "m4.xlarge": "0.374",
+            "m4.2xlarge": "0.748",
+            "m4.4xlarge": "1.496",
+            "m4.10xlarge": "3.74",
+            "r3.large": "0.21",
+            "r3.xlarge": "0.42",
+            "r3.2xlarge": "0.84",
+            "r3.4xlarge": "1.68",
+            "r3.8xlarge": "3.36",
+            "t1.micro": "0.02",
+            "t2.micro": "0.02",
+            "t2.small": "0.04",
+            "t2.medium": "0.08",
             "t2.large": "0.16"
         },
         "ec2_ap_southeast_2": {
             "c1.medium": "0.164",
             "c1.xlarge": "0.655",
+            "c3.large": "0.132",
+            "c3.xlarge": "0.265",
             "c3.2xlarge": "0.529",
             "c3.4xlarge": "1.058",
             "c3.8xlarge": "2.117",
-            "c3.large": "0.132",
-            "c3.xlarge": "0.265",
-            "c4.2xlarge": "0.608",
-            "c4.4xlarge": "1.216",
-            "c4.8xlarge": "2.432",
-            "c4.large": "0.152",
-            "c4.xlarge": "0.304",
-            "d2.2xlarge": "1.740",
-            "d2.4xlarge": "3.480",
-            "d2.8xlarge": "6.960",
-            "d2.xlarge": "0.870",
+            "c4.large": "0.144",
+            "c4.xlarge": "0.289",
+            "c4.2xlarge": "0.578",
+            "c4.4xlarge": "1.155",
+            "c4.8xlarge": "2.31",
+            "d2.xlarge": "0.87",
+            "d2.2xlarge": "1.74",
+            "d2.4xlarge": "3.48",
+            "d2.8xlarge": "6.96",
             "g2.2xlarge": "0.898",
             "g2.8xlarge": "3.592",
             "hi1.4xlarge": "N/A",
-            "hs1.8xlarge": "5.570",
-            "i2.2xlarge": "2.035",
-            "i2.4xlarge": "4.070",
-            "i2.8xlarge": "8.140",
+            "hs1.8xlarge": "5.57",
             "i2.xlarge": "1.018",
-            "m1.large": "0.233",
-            "m1.medium": "0.117",
+            "i2.2xlarge": "2.035",
+            "i2.4xlarge": "4.07",
+            "i2.8xlarge": "8.14",
             "m1.small": "0.058",
+            "m1.medium": "0.117",
+            "m1.large": "0.233",
             "m1.xlarge": "0.467",
+            "m2.xlarge": "0.296",
             "m2.2xlarge": "0.592",
             "m2.4xlarge": "1.183",
-            "m2.xlarge": "0.296",
-            "m3.2xlarge": "0.784",
-            "m3.large": "0.196",
-            "m3.medium": "0.098",
-            "m3.xlarge": "0.392",
-            "m4.large": "0.125",
-            "m4.xlarge": "0.250",
-            "m4.2xlarge": "0.501",
-            "m4.4xlarge": "1.002",
-            "m4.10xlarge": "2.504",
-            "r3.2xlarge": "0.840",
-            "r3.4xlarge": "1.680",
-            "r3.8xlarge": "3.360",
-            "r3.large": "0.210",
-            "r3.xlarge": "0.420",
-            "t1.micro": "0.020",
-            "t2.medium": "0.080",
-            "t2.micro": "0.020",
-            "t2.small": "0.040",
+            "m3.medium": "0.093",
+            "m3.large": "0.186",
+            "m3.xlarge": "0.372",
+            "m3.2xlarge": "0.745",
+            "m4.large": "0.177",
+            "m4.xlarge": "0.354",
+            "m4.2xlarge": "0.708",
+            "m4.4xlarge": "1.416",
+            "m4.10xlarge": "3.54",
+            "r3.large": "0.21",
+            "r3.xlarge": "0.42",
+            "r3.2xlarge": "0.84",
+            "r3.4xlarge": "1.68",
+            "r3.8xlarge": "3.36",
+            "t1.micro": "0.02",
+            "t2.micro": "0.02",
+            "t2.small": "0.04",
+            "t2.medium": "0.08",
             "t2.large": "0.16"
         },
         "ec2_eu_central": {
+            "c3.large": "0.129",
+            "c3.xlarge": "0.258",
             "c3.2xlarge": "0.516",
             "c3.4xlarge": "1.032",
             "c3.8xlarge": "2.064",
-            "c3.large": "0.129",
-            "c3.xlarge": "0.258",
-            "c4.2xlarge": "0.592",
-            "c4.4xlarge": "1.184",
-            "c4.8xlarge": "2.368",
-            "c4.large": "0.148",
-            "c4.xlarge": "0.296",
+            "c4.large": "0.141",
+            "c4.xlarge": "0.281",
+            "c4.2xlarge": "0.562",
+            "c4.4xlarge": "1.125",
+            "c4.8xlarge": "2.25",
+            "d2.xlarge": "0.794",
             "d2.2xlarge": "1.588",
             "d2.4xlarge": "3.176",
             "d2.8xlarge": "6.352",
-            "d2.xlarge": "0.794",
-            "g2.2xlarge": null,
+            "g2.2xlarge": "0.772",
             "g2.8xlarge": "3.088",
+            "i2.xlarge": "1.013",
             "i2.2xlarge": "2.026",
             "i2.4xlarge": "4.051",
             "i2.8xlarge": "8.102",
-            "i2.xlarge": "1.013",
-            "m3.2xlarge": "0.665",
-            "m3.large": "0.166",
-            "m3.medium": "0.083",
-            "m3.xlarge": "0.332",
-            "m4.large": "0.150",
-            "m4.xlarge": "0.300",
-            "m4.2xlarge": "0.600",
-            "m4.4xlarge": "1.200",
-            "m4.10xlarge": "3.000",
+            "m3.medium": "0.079",
+            "m3.large": "0.158",
+            "m3.xlarge": "0.315",
+            "m3.2xlarge": "0.632",
+            "m4.large": "0.15",
+            "m4.xlarge": "0.3",
+            "m4.2xlarge": "0.6",
+            "m4.4xlarge": "1.2",
+            "m4.10xlarge": "3",
+            "r3.large": "0.21",
+            "r3.xlarge": "0.421",
             "r3.2xlarge": "0.842",
             "r3.4xlarge": "1.684",
             "r3.8xlarge": "3.369",
-            "r3.large": "0.210",
-            "r3.xlarge": "0.421",
-            "t2.medium": "0.060",
             "t2.micro": "0.015",
-            "t2.small": "0.030",
+            "t2.small": "0.03",
+            "t2.medium": "0.06",
             "t2.large": "0.12"
         },
         "ec2_eu_west": {
             "c1.medium": "0.148",
             "c1.xlarge": "0.592",
+            "c3.large": "0.12",
+            "c3.xlarge": "0.239",
             "c3.2xlarge": "0.478",
             "c3.4xlarge": "0.956",
             "c3.8xlarge": "1.912",
-            "c3.large": "0.120",
-            "c3.xlarge": "0.239",
-            "c4.2xlarge": "0.528",
-            "c4.4xlarge": "1.056",
-            "c4.8xlarge": "2.112",
-            "c4.large": "0.132",
-            "c4.xlarge": "0.264",
-            "cc2.8xlarge": "2.250",
-            "cg1.4xlarge": "2.360",
-            "cr1.8xlarge": "3.750",
-            "d2.2xlarge": "1.470",
-            "d2.4xlarge": "2.940",
-            "d2.8xlarge": "5.880",
+            "c4.large": "0.125",
+            "c4.xlarge": "0.251",
+            "c4.2xlarge": "0.502",
+            "c4.4xlarge": "1.003",
+            "c4.8xlarge": "2.006",
+            "cc2.8xlarge": "2.25",
+            "cg1.4xlarge": "2.36",
+            "cr1.8xlarge": "3.75",
             "d2.xlarge": "0.735",
+            "d2.2xlarge": "1.47",
+            "d2.4xlarge": "2.94",
+            "d2.8xlarge": "5.88",
             "g2.2xlarge": "0.702",
             "g2.8xlarge": "2.808",
-            "hi1.4xlarge": "3.100",
-            "hs1.8xlarge": "4.900",
+            "hi1.4xlarge": "3.1",
+            "hs1.8xlarge": "4.9",
+            "i2.xlarge": "0.938",
             "i2.2xlarge": "1.876",
             "i2.4xlarge": "3.751",
             "i2.8xlarge": "7.502",
-            "i2.xlarge": "0.938",
-            "m1.large": "0.190",
-            "m1.medium": "0.095",
             "m1.small": "0.047",
+            "m1.medium": "0.095",
+            "m1.large": "0.19",
             "m1.xlarge": "0.379",
-            "m2.2xlarge": "0.550",
-            "m2.4xlarge": "1.100",
             "m2.xlarge": "0.275",
-            "m3.2xlarge": "0.616",
-            "m3.large": "0.154",
-            "m3.medium": "0.077",
-            "m3.xlarge": "0.308",
+            "m2.2xlarge": "0.55",
+            "m2.4xlarge": "1.1",
+            "m3.medium": "0.073",
+            "m3.large": "0.146",
+            "m3.xlarge": "0.293",
+            "m3.2xlarge": "0.585",
             "m4.large": "0.139",
             "m4.xlarge": "0.278",
             "m4.2xlarge": "0.556",
             "m4.4xlarge": "1.112",
-            "m4.10xlarge": "2.780",
-            "r3.2xlarge": "0.780",
-            "r3.4xlarge": "1.560",
-            "r3.8xlarge": "3.120",
+            "m4.10xlarge": "2.78",
             "r3.large": "0.195",
-            "r3.xlarge": "0.390",
-            "t1.micro": "0.020",
-            "t2.medium": "0.056",
+            "r3.xlarge": "0.39",
+            "r3.2xlarge": "0.78",
+            "r3.4xlarge": "1.56",
+            "r3.8xlarge": "3.12",
+            "t1.micro": "0.02",
             "t2.micro": "0.014",
             "t2.small": "0.028",
+            "t2.medium": "0.056",
             "t2.large": "0.112"
         },
         "ec2_sa_east": {
             "c1.medium": "0.179",
             "c1.xlarge": "0.718",
-            "c3.2xlarge": "0.650",
-            "c3.4xlarge": "1.300",
-            "c3.8xlarge": "2.600",
             "c3.large": "0.163",
             "c3.xlarge": "0.325",
+            "c3.2xlarge": "0.65",
+            "c3.4xlarge": "1.3",
+            "c3.8xlarge": "2.6",
             "hi1.4xlarge": "N/A",
             "hs1.8xlarge": "N/A",
-            "m1.large": "0.233",
-            "m1.medium": "0.117",
             "m1.small": "0.058",
+            "m1.medium": "0.117",
+            "m1.large": "0.233",
             "m1.xlarge": "0.467",
+            "m2.xlarge": "0.323",
             "m2.2xlarge": "0.645",
             "m2.4xlarge": "1.291",
-            "m2.xlarge": "0.323",
-            "m3.2xlarge": "0.761",
-            "m3.large": "0.190",
             "m3.medium": "0.095",
+            "m3.large": "0.19",
             "m3.xlarge": "0.381",
+            "m3.2xlarge": "0.761",
+            "r3.4xlarge": "2.946",
+            "r3.8xlarge": "5.892",
             "t1.micro": "0.027",
-            "t2.medium": "0.108",
             "t2.micro": "0.027",
             "t2.small": "0.054",
+            "t2.medium": "0.108",
             "t2.large": "0.216"
         },
         "ec2_us_east": {
-            "c1.medium": "0.130",
-            "c1.xlarge": "0.520",
-            "c3.2xlarge": "0.420",
-            "c3.4xlarge": "0.840",
-            "c3.8xlarge": "1.680",
+            "c1.medium": "0.13",
+            "c1.xlarge": "0.52",
             "c3.large": "0.105",
-            "c3.xlarge": "0.210",
-            "c4.2xlarge": "0.464",
-            "c4.4xlarge": "0.928",
-            "c4.8xlarge": "1.856",
-            "c4.large": "0.116",
-            "c4.xlarge": "0.232",
-            "cc2.8xlarge": "2.000",
-            "cg1.4xlarge": "2.100",
-            "cr1.8xlarge": "3.500",
-            "d2.2xlarge": "1.380",
-            "d2.4xlarge": "2.760",
-            "d2.8xlarge": "5.520",
-            "d2.xlarge": "0.690",
-            "g2.2xlarge": "0.650",
+            "c3.xlarge": "0.21",
+            "c3.2xlarge": "0.42",
+            "c3.4xlarge": "0.84",
+            "c3.8xlarge": "1.68",
+            "c4.large": "0.11",
+            "c4.xlarge": "0.22",
+            "c4.2xlarge": "0.441",
+            "c4.4xlarge": "0.882",
+            "c4.8xlarge": "1.763",
+            "cc2.8xlarge": "2",
+            "cg1.4xlarge": "2.1",
+            "cr1.8xlarge": "3.5",
+            "d2.xlarge": "0.69",
+            "d2.2xlarge": "1.38",
+            "d2.4xlarge": "2.76",
+            "d2.8xlarge": "5.52",
+            "g2.2xlarge": "0.65",
             "g2.8xlarge": "2.6",
-            "hi1.4xlarge": "3.100",
-            "hs1.8xlarge": "4.600",
-            "i2.2xlarge": "1.705",
-            "i2.4xlarge": "3.410",
-            "i2.8xlarge": "6.820",
+            "hi1.4xlarge": "3.1",
+            "hs1.8xlarge": "4.6",
             "i2.xlarge": "0.853",
-            "m1.large": "0.175",
-            "m1.medium": "0.087",
+            "i2.2xlarge": "1.705",
+            "i2.4xlarge": "3.41",
+            "i2.8xlarge": "6.82",
             "m1.small": "0.044",
-            "m1.xlarge": "0.350",
-            "m2.2xlarge": "0.490",
-            "m2.4xlarge": "0.980",
+            "m1.medium": "0.087",
+            "m1.large": "0.175",
+            "m1.xlarge": "0.35",
             "m2.xlarge": "0.245",
-            "m3.2xlarge": "0.560",
-            "m3.large": "0.140",
-            "m3.medium": "0.070",
-            "m3.xlarge": "0.280",
+            "m2.2xlarge": "0.49",
+            "m2.4xlarge": "0.98",
+            "m3.medium": "0.067",
+            "m3.large": "0.133",
+            "m3.xlarge": "0.266",
+            "m3.2xlarge": "0.532",
             "m4.large": "0.126",
             "m4.xlarge": "0.252",
             "m4.2xlarge": "0.504",
             "m4.4xlarge": "1.008",
-            "m4.10xlarge": "2.520",
-            "r3.2xlarge": "0.700",
-            "r3.4xlarge": "1.400",
-            "r3.8xlarge": "2.800",
+            "m4.10xlarge": "2.52",
             "r3.large": "0.175",
-            "r3.xlarge": "0.350",
-            "t1.micro": "0.020",
-            "t2.medium": "0.052",
+            "r3.xlarge": "0.35",
+            "r3.2xlarge": "0.7",
+            "r3.4xlarge": "1.4",
+            "r3.8xlarge": "2.8",
+            "t1.micro": "0.02",
             "t2.micro": "0.013",
-            "t2.small": "0.026"
+            "t2.small": "0.026",
+            "t2.medium": "0.052",
+            "t2.large": "0.104"
         },
         "ec2_us_govwest": {
             "c1.medium": "0.157",
             "c1.xlarge": "0.628",
+            "c3.large": "0.126",
+            "c3.xlarge": "0.252",
             "c3.2xlarge": "0.504",
             "c3.4xlarge": "1.008",
             "c3.8xlarge": "2.016",
-            "c3.large": "0.126",
-            "c3.xlarge": "0.252",
-            "cc2.8xlarge": "2.250",
+            "cc2.8xlarge": "2.25",
             "hi1.4xlarge": "N/A",
-            "hs1.8xlarge": "5.520",
+            "hs1.8xlarge": "5.52",
+            "i2.xlarge": "1.023",
             "i2.2xlarge": "2.046",
             "i2.4xlarge": "4.092",
             "i2.8xlarge": "8.184",
-            "i2.xlarge": "1.023",
-            "m1.large": "0.211",
-            "m1.medium": "0.106",
             "m1.small": "0.053",
+            "m1.medium": "0.106",
+            "m1.large": "0.211",
             "m1.xlarge": "0.423",
+            "m2.xlarge": "0.293",
             "m2.2xlarge": "0.586",
             "m2.4xlarge": "1.171",
-            "m2.xlarge": "0.293",
-            "m3.2xlarge": "0.672",
-            "m3.large": "0.168",
             "m3.medium": "0.084",
+            "m3.large": "0.168",
             "m3.xlarge": "0.336",
-            "r3.2xlarge": "0.840",
-            "r3.4xlarge": "1.680",
-            "r3.8xlarge": "3.360",
-            "r3.large": "0.210",
-            "r3.xlarge": "0.420",
+            "m3.2xlarge": "0.672",
+            "r3.large": "0.21",
+            "r3.xlarge": "0.42",
+            "r3.2xlarge": "0.84",
+            "r3.4xlarge": "1.68",
+            "r3.8xlarge": "3.36",
             "t1.micro": "0.024",
-            "t2.medium": "0.062",
             "t2.micro": "0.015",
             "t2.small": "0.031",
+            "t2.medium": "0.062",
             "t2.large": "0.124"
         },
         "ec2_us_west": {
             "c1.medium": "0.148",
             "c1.xlarge": "0.592",
+            "c3.large": "0.12",
+            "c3.xlarge": "0.239",
             "c3.2xlarge": "0.478",
             "c3.4xlarge": "0.956",
             "c3.8xlarge": "1.912",
-            "c3.large": "0.120",
-            "c3.xlarge": "0.239",
+            "c4.large": "0.138",
+            "c4.xlarge": "0.276",
             "c4.2xlarge": "0.552",
             "c4.4xlarge": "1.104",
             "c4.8xlarge": "2.208",
-            "c4.large": "0.138",
-            "c4.xlarge": "0.276",
             "g2.2xlarge": "0.702",
             "g2.8xlarge": "2.808",
             "hi1.4xlarge": "N/A",
             "hs1.8xlarge": "N/A",
+            "i2.xlarge": "0.938",
             "i2.2xlarge": "1.876",
             "i2.4xlarge": "3.751",
             "i2.8xlarge": "7.502",
-            "i2.xlarge": "0.938",
-            "m1.large": "0.190",
-            "m1.medium": "0.095",
             "m1.small": "0.047",
+            "m1.medium": "0.095",
+            "m1.large": "0.19",
             "m1.xlarge": "0.379",
-            "m2.2xlarge": "0.550",
-            "m2.4xlarge": "1.100",
             "m2.xlarge": "0.275",
-            "m3.2xlarge": "0.616",
-            "m3.large": "0.154",
+            "m2.2xlarge": "0.55",
+            "m2.4xlarge": "1.1",
             "m3.medium": "0.077",
+            "m3.large": "0.154",
             "m3.xlarge": "0.308",
+            "m3.2xlarge": "0.616",
             "m4.large": "0.147",
             "m4.xlarge": "0.294",
             "m4.2xlarge": "0.588",
             "m4.4xlarge": "1.176",
-            "m4.10xlarge": "2.940",
-            "r3.2xlarge": "0.780",
-            "r3.4xlarge": "1.560",
-            "r3.8xlarge": "3.120",
+            "m4.10xlarge": "2.94",
             "r3.large": "0.195",
-            "r3.xlarge": "0.390",
+            "r3.xlarge": "0.39",
+            "r3.2xlarge": "0.78",
+            "r3.4xlarge": "1.56",
+            "r3.8xlarge": "3.12",
             "t1.micro": "0.025",
-            "t2.medium": "0.068",
             "t2.micro": "0.017",
             "t2.small": "0.034",
+            "t2.medium": "0.068",
             "t2.large": "0.136"
         },
         "ec2_us_west_oregon": {
-            "c1.medium": "0.130",
-            "c1.xlarge": "0.520",
-            "c3.2xlarge": "0.420",
-            "c3.4xlarge": "0.840",
-            "c3.8xlarge": "1.680",
+            "c1.medium": "0.13",
+            "c1.xlarge": "0.52",
             "c3.large": "0.105",
-            "c3.xlarge": "0.210",
-            "c4.2xlarge": "0.464",
-            "c4.4xlarge": "0.928",
-            "c4.8xlarge": "1.856",
-            "c4.large": "0.116",
-            "c4.xlarge": "0.232",
-            "cc2.8xlarge": "2.000",
-            "cr1.8xlarge": "3.500",
-            "d2.2xlarge": "1.380",
-            "d2.4xlarge": "2.760",
-            "d2.8xlarge": "5.520",
-            "d2.xlarge": "0.690",
-            "g2.2xlarge": "0.650",
+            "c3.xlarge": "0.21",
+            "c3.2xlarge": "0.42",
+            "c3.4xlarge": "0.84",
+            "c3.8xlarge": "1.68",
+            "c4.large": "0.11",
+            "c4.xlarge": "0.22",
+            "c4.2xlarge": "0.441",
+            "c4.4xlarge": "0.882",
+            "c4.8xlarge": "1.763",
+            "cc2.8xlarge": "2",
+            "cr1.8xlarge": "3.5",
+            "d2.xlarge": "0.69",
+            "d2.2xlarge": "1.38",
+            "d2.4xlarge": "2.76",
+            "d2.8xlarge": "5.52",
+            "g2.2xlarge": "0.65",
             "g2.8xlarge": "2.6",
-            "hi1.4xlarge": "3.100",
-            "hs1.8xlarge": "4.600",
-            "i2.2xlarge": "1.705",
-            "i2.4xlarge": "3.410",
-            "i2.8xlarge": "6.820",
+            "hi1.4xlarge": "3.1",
+            "hs1.8xlarge": "4.6",
             "i2.xlarge": "0.853",
-            "m1.large": "0.175",
-            "m1.medium": "0.087",
+            "i2.2xlarge": "1.705",
+            "i2.4xlarge": "3.41",
+            "i2.8xlarge": "6.82",
             "m1.small": "0.044",
-            "m1.xlarge": "0.350",
-            "m2.2xlarge": "0.490",
-            "m2.4xlarge": "0.980",
+            "m1.medium": "0.087",
+            "m1.large": "0.175",
+            "m1.xlarge": "0.35",
             "m2.xlarge": "0.245",
-            "m3.2xlarge": "0.560",
-            "m3.large": "0.140",
-            "m3.medium": "0.070",
-            "m3.xlarge": "0.280",
+            "m2.2xlarge": "0.49",
+            "m2.4xlarge": "0.98",
+            "m3.medium": "0.067",
+            "m3.large": "0.133",
+            "m3.xlarge": "0.266",
+            "m3.2xlarge": "0.532",
             "m4.large": "0.126",
             "m4.xlarge": "0.252",
             "m4.2xlarge": "0.504",
             "m4.4xlarge": "1.008",
-            "m4.10xlarge": "2.520",
-            "r3.2xlarge": "0.700",
-            "r3.4xlarge": "1.400",
-            "r3.8xlarge": "2.800",
+            "m4.10xlarge": "2.52",
             "r3.large": "0.175",
-            "r3.xlarge": "0.350",
-            "t1.micro": "0.020",
-            "t2.medium": "0.052",
+            "r3.xlarge": "0.35",
+            "r3.2xlarge": "0.7",
+            "r3.4xlarge": "1.4",
+            "r3.8xlarge": "2.8",
+            "t1.micro": "0.02",
             "t2.micro": "0.013",
             "t2.small": "0.026",
+            "t2.medium": "0.052",
             "t2.large": "0.104"
         },
         "elastichosts": {
+            "small": 0.1,
+            "medium": 0.223,
+            "large": 0.378,
             "extra-large": 0.579,
             "high-cpu-extra-large": 0.77,
-            "high-cpu-medium": 0.18,
-            "large": 0.378,
-            "medium": 0.223,
-            "small": 0.1
+            "high-cpu-medium": 0.18
         },
         "gandi": {
-            "1": 0.02,
-            "large": 0.06,
-            "medium": 0.03,
             "small": 0.02,
-            "x-large": 0.12
+            "medium": 0.03,
+            "large": 0.06,
+            "x-large": 0.12,
+            "1": 0.02
         },
         "gogrid": {
             "1GB": 0.19,
@@ -662,8 +665,8 @@
             "56": 0.75
         },
         "nimbus": {
-            "m1.large": 0.0,
             "m1.small": 0.0,
+            "m1.large": 0.0,
             "m1.xlarge": 0.0
         },
         "osc_inc_eu_west_1": {
@@ -672,18 +675,18 @@
             "cc1.4xlarge": "1.300",
             "cc2.8xlarge": "2.400",
             "cr1.8xlarge": "3.500",
-            "m1.large": "0.360",
-            "m1.medium": "0.120",
             "m1.small": "0.090",
+            "m1.medium": "0.120",
+            "m1.large": "0.360",
             "m1.xlarge": "0.730",
+            "m2.xlarge": "0.410",
             "m2.2xlarge": "0.820",
             "m2.4xlarge": "1.640",
-            "m2.xlarge": "0.410",
-            "m3.2xlarge": "1.560",
             "m3.xlarge": "0.780",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.250",
+            "m3.2xlarge": "1.560",
             "nv1.small": "5.220",
+            "nv1.medium": "5.250",
+            "nv1.large": "5.490",
             "nv1.xlarge": "5.610",
             "os1.8xlarge": "4.310",
             "t1.micro": "0.040"
@@ -694,18 +697,18 @@
             "cc1.4xlarge": "1.300",
             "cc2.8xlarge": "2.400",
             "cr1.8xlarge": "3.500",
-            "m1.large": "0.360",
-            "m1.medium": "0.120",
             "m1.small": "0.090",
+            "m1.medium": "0.120",
+            "m1.large": "0.360",
             "m1.xlarge": "0.730",
+            "m2.xlarge": "0.410",
             "m2.2xlarge": "0.820",
             "m2.4xlarge": "1.640",
-            "m2.xlarge": "0.410",
-            "m3.2xlarge": "1.560",
             "m3.xlarge": "0.780",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.250",
+            "m3.2xlarge": "1.560",
             "nv1.small": "5.220",
+            "nv1.medium": "5.250",
+            "nv1.large": "5.490",
             "nv1.xlarge": "5.610",
             "os1.8xlarge": "4.310",
             "t1.micro": "0.040"
@@ -716,18 +719,18 @@
             "cc1.4xlarge": "1.300",
             "cc2.8xlarge": "2.400",
             "cr1.8xlarge": "3.500",
-            "m1.large": "0.360",
-            "m1.medium": "0.120",
             "m1.small": "0.090",
+            "m1.medium": "0.120",
+            "m1.large": "0.360",
             "m1.xlarge": "0.730",
+            "m2.xlarge": "0.410",
             "m2.2xlarge": "0.820",
             "m2.4xlarge": "1.640",
-            "m2.xlarge": "0.410",
-            "m3.2xlarge": "1.560",
             "m3.xlarge": "0.780",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.250",
+            "m3.2xlarge": "1.560",
             "nv1.small": "5.220",
+            "nv1.medium": "5.250",
+            "nv1.large": "5.490",
             "nv1.xlarge": "5.610",
             "os1.8xlarge": "4.310",
             "t1.micro": "0.040"
@@ -738,18 +741,18 @@
             "cc1.4xlarge": "1.610",
             "cc2.8xlarge": "2.400",
             "cr1.8xlarge": "3.500",
-            "m1.large": "0.240",
-            "m1.medium": "0.180",
             "m1.small": "0.060",
+            "m1.medium": "0.180",
+            "m1.large": "0.240",
             "m1.xlarge": "0.730",
+            "m2.xlarge": "0.410",
             "m2.2xlarge": "1.020",
             "m2.4xlarge": "2.040",
-            "m2.xlarge": "0.410",
-            "m3.2xlarge": "1.560",
             "m3.xlarge": "0.500",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.250",
+            "m3.2xlarge": "1.560",
             "nv1.small": "5.190",
+            "nv1.medium": "5.250",
+            "nv1.large": "5.490",
             "nv1.xlarge": "5.610",
             "os1.8xlarge": "6.400",
             "t1.micro": "0.020"
@@ -760,18 +763,18 @@
             "cc1.4xlarge": "1.610",
             "cc2.8xlarge": "2.400",
             "cr1.8xlarge": "3.500",
-            "m1.large": "0.240",
-            "m1.medium": "0.180",
             "m1.small": "0.060",
+            "m1.medium": "0.180",
+            "m1.large": "0.240",
             "m1.xlarge": "0.730",
+            "m2.xlarge": "0.410",
             "m2.2xlarge": "1.020",
             "m2.4xlarge": "2.040",
-            "m2.xlarge": "0.410",
-            "m3.2xlarge": "1.560",
             "m3.xlarge": "0.500",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.250",
+            "m3.2xlarge": "1.560",
             "nv1.small": "5.190",
+            "nv1.medium": "5.250",
+            "nv1.large": "5.490",
             "nv1.xlarge": "5.610",
             "os1.8xlarge": "6.400",
             "t1.micro": "0.020"
@@ -782,18 +785,18 @@
             "cc1.4xlarge": "1.460",
             "cc2.8xlarge": "2.700",
             "cr1.8xlarge": "3.750",
-            "m1.large": "0.360",
-            "m1.medium": "0.130",
             "m1.small": "0.090",
+            "m1.medium": "0.130",
+            "m1.large": "0.360",
             "m1.xlarge": "0.730",
+            "m2.xlarge": "0.460",
             "m2.2xlarge": "0.920",
             "m2.4xlarge": "1.840",
-            "m2.xlarge": "0.460",
-            "m3.2xlarge": "1.560",
             "m3.xlarge": "0.780",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.310",
+            "m3.2xlarge": "1.560",
             "nv1.small": "5.220",
+            "nv1.medium": "5.310",
+            "nv1.large": "5.490",
             "nv1.xlarge": "5.860",
             "os1.8xlarge": "6.400",
             "t1.micro": "0.040"
@@ -804,18 +807,18 @@
             "cc1.4xlarge": "1.460",
             "cc2.8xlarge": "2.700",
             "cr1.8xlarge": "3.750",
-            "m1.large": "0.360",
-            "m1.medium": "0.130",
             "m1.small": "0.090",
+            "m1.medium": "0.130",
+            "m1.large": "0.360",
             "m1.xlarge": "0.730",
+            "m2.xlarge": "0.460",
             "m2.2xlarge": "0.920",
             "m2.4xlarge": "1.840",
-            "m2.xlarge": "0.460",
-            "m3.2xlarge": "1.560",
             "m3.xlarge": "0.780",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.310",
+            "m3.2xlarge": "1.560",
             "nv1.small": "5.220",
+            "nv1.medium": "5.310",
+            "nv1.large": "5.490",
             "nv1.xlarge": "5.860",
             "os1.8xlarge": "6.400",
             "t1.micro": "0.040"
@@ -826,18 +829,18 @@
             "cc1.4xlarge": "1.460",
             "cc2.8xlarge": "2.700",
             "cr1.8xlarge": "3.750",
-            "m1.large": "0.360",
-            "m1.medium": "0.130",
             "m1.small": "0.090",
+            "m1.medium": "0.130",
+            "m1.large": "0.360",
             "m1.xlarge": "0.730",
+            "m2.xlarge": "0.460",
             "m2.2xlarge": "0.920",
             "m2.4xlarge": "1.840",
-            "m2.xlarge": "0.460",
-            "m3.2xlarge": "1.560",
             "m3.xlarge": "0.780",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.310",
+            "m3.2xlarge": "1.560",
             "nv1.small": "5.220",
+            "nv1.medium": "5.310",
+            "nv1.large": "5.490",
             "nv1.xlarge": "5.860",
             "os1.8xlarge": "6.400",
             "t1.micro": "0.040"
@@ -848,18 +851,18 @@
             "cc1.4xlarge": "1.610",
             "cc2.8xlarge": "2.700",
             "cr1.8xlarge": "3.750",
-            "m1.large": "0.260",
-            "m1.medium": "0.180",
             "m1.small": "0.070",
+            "m1.medium": "0.180",
+            "m1.large": "0.260",
             "m1.xlarge": "0.730",
+            "m2.xlarge": "0.460",
             "m2.2xlarge": "1.020",
             "m2.4xlarge": "2.040",
-            "m2.xlarge": "0.460",
-            "m3.2xlarge": "1.560",
             "m3.xlarge": "0.550",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.310",
+            "m3.2xlarge": "1.560",
             "nv1.small": "5.220",
+            "nv1.medium": "5.310",
+            "nv1.large": "5.490",
             "nv1.xlarge": "5.860",
             "os1.8xlarge": "6.400",
             "t1.micro": "0.020"
@@ -870,23 +873,32 @@
             "cc1.4xlarge": "1.610",
             "cc2.8xlarge": "2.700",
             "cr1.8xlarge": "3.750",
-            "m1.large": "0.260",
-            "m1.medium": "0.180",
             "m1.small": "0.070",
+            "m1.medium": "0.180",
+            "m1.large": "0.260",
             "m1.xlarge": "0.730",
+            "m2.xlarge": "0.460",
             "m2.2xlarge": "1.020",
             "m2.4xlarge": "2.040",
-            "m2.xlarge": "0.460",
-            "m3.2xlarge": "1.560",
             "m3.xlarge": "0.550",
-            "nv1.large": "5.490",
-            "nv1.medium": "5.310",
+            "m3.2xlarge": "1.560",
             "nv1.small": "5.220",
+            "nv1.medium": "5.310",
+            "nv1.large": "5.490",
             "nv1.xlarge": "5.860",
             "os1.8xlarge": "6.400",
             "t1.micro": "0.020"
         },
         "rackspace": {
+            "performance1-1": 0.04,
+            "performance1-2": 0.08,
+            "performance1-4": 0.16,
+            "performance1-8": 0.32,
+            "performance2-15": 0.68,
+            "performance2-30": 1.36,
+            "performance2-60": 2.72,
+            "performance2-90": 4.08,
+            "performance2-120": 5.44,
             "1": 0.015,
             "2": 0.03,
             "3": 0.06,
@@ -894,7 +906,9 @@
             "5": 0.24,
             "6": 0.48,
             "7": 0.96,
-            "8": 1.8,
+            "8": 1.8
+        },
+        "rackspacenovalon": {
             "performance1-1": 0.04,
             "performance1-2": 0.08,
             "performance1-4": 0.16,
@@ -903,16 +917,16 @@
             "performance2-30": 1.36,
             "performance2-60": 2.72,
             "performance2-90": 4.08,
-            "performance2-120": 5.44
-        },
-        "rackspacenovalon": {
+            "performance2-120": 5.44,
             "2": 0.032,
             "3": 0.064,
             "4": 0.129,
             "5": 0.258,
             "6": 0.516,
             "7": 0.967,
-            "8": 1.612,
+            "8": 1.612
+        },
+        "rackspacenovasyd": {
             "performance1-1": 0.04,
             "performance1-2": 0.08,
             "performance1-4": 0.16,
@@ -921,16 +935,16 @@
             "performance2-30": 1.36,
             "performance2-60": 2.72,
             "performance2-90": 4.08,
-            "performance2-120": 5.44
-        },
-        "rackspacenovasyd": {
+            "performance2-120": 5.44,
             "2": 0.026,
             "3": 0.072,
             "4": 0.144,
             "5": 0.288,
             "6": 0.576,
             "7": 1.08,
-            "8": 1.44,
+            "8": 1.44
+        },
+        "rackspacenovaus": {
             "performance1-1": 0.04,
             "performance1-2": 0.08,
             "performance1-4": 0.16,
@@ -939,41 +953,30 @@
             "performance2-30": 1.36,
             "performance2-60": 2.72,
             "performance2-90": 4.08,
-            "performance2-120": 5.44
-        },
-        "rackspacenovaus": {
+            "performance2-120": 5.44,
             "2": 0.022,
             "3": 0.06,
             "4": 0.12,
             "5": 0.24,
             "6": 0.48,
             "7": 0.96,
-            "8": 1.2,
-            "performance1-1": 0.04,
-            "performance1-2": 0.08,
-            "performance1-4": 0.16,
-            "performance1-8": 0.32,
-            "performance2-15": 0.68,
-            "performance2-30": 1.36,
-            "performance2-60": 2.72,
-            "performance2-90": 4.08,
-            "performance2-120": 5.44
+            "8": 1.2
         },
         "serverlove": {
+            "small": 0.161,
+            "medium": 0.404,
+            "large": 0.534,
             "extra-large": 0.615,
             "high-cpu-extra-large": 0.776,
-            "high-cpu-medium": 0.291,
-            "large": 0.534,
-            "medium": 0.404,
-            "small": 0.161
+            "high-cpu-medium": 0.291
         },
         "skalicloud": {
+            "small": 0.136,
+            "medium": 0.301,
+            "large": 0.505,
             "extra-large": 0.654,
             "high-cpu-extra-large": 0.936,
-            "high-cpu-medium": 0.249,
-            "large": 0.505,
-            "medium": 0.301,
-            "small": 0.136
+            "high-cpu-medium": 0.249
         },
         "softlayer": {
             "0": 0.023,
@@ -995,5 +998,5 @@
         }
     },
     "storage": {},
-    "updated": 1447082902
+    "updated": 1449047993
 }