You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2014/05/16 23:46:24 UTC

git commit: LIBCLOUD-553: Add support for the Outscale INC cloud.

Repository: libcloud
Updated Branches:
  refs/heads/trunk 771c8fb0d -> ca6ad2ad0


LIBCLOUD-553: Add support for the Outscale INC cloud.

This commits add the support for Outscale INC a parent company of Outscale SAS
working under the American laws.

Closes #293

Signed-off-by: Tomaz Muraus <to...@apache.org>


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

Branch: refs/heads/trunk
Commit: ca6ad2ad08c1db37acc98e4a62a401336771c3b5
Parents: 771c8fb
Author: Tomaz Muraus <to...@apache.org>
Authored: Fri May 16 23:35:24 2014 +0200
Committer: Tomaz Muraus <to...@apache.org>
Committed: Fri May 16 23:38:43 2014 +0200

----------------------------------------------------------------------
 CHANGES.rst                                     |   5 +-
 .../_supported_methods_block_storage.rst        |   2 +
 .../_supported_methods_image_management.rst     |   2 +
 .../_supported_methods_key_pair_management.rst  |   2 +
 docs/compute/_supported_methods_main.rst        |   2 +
 docs/compute/_supported_providers.rst           |   2 +
 docs/compute/drivers/outscale_inc.rst           |  31 ++++
 docs/compute/drivers/outscale_sas.rst           |   6 +-
 libcloud/compute/drivers/ec2.py                 | 177 +++++++++++++++----
 libcloud/compute/providers.py                   |   2 +
 libcloud/compute/types.py                       |   2 +
 libcloud/data/pricing.json                      |  69 ++++++++
 12 files changed, 265 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/CHANGES.rst
----------------------------------------------------------------------
diff --git a/CHANGES.rst b/CHANGES.rst
index 6027815..73bf6b6 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -130,8 +130,9 @@ Compute
   (GITHUB-287)
   [earthgecko]
 
-- Add a new driver for Outscale cloud (http://www.outscale.com).
-  (GITHUB-285)
+- Add a new driver for Outscale SAS and Outscale INC cloud
+  (http://www.outscale.com).
+  (GITHUB-285, GITHUB-293, LIBCLOUD-536, LIBCLOUD-553)
   [Benoit Canet]
 
 - Add new driver for HP Public Cloud (Helion) available via Provider.HPCLOUD

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/docs/compute/_supported_methods_block_storage.rst
----------------------------------------------------------------------
diff --git a/docs/compute/_supported_methods_block_storage.rst b/docs/compute/_supported_methods_block_storage.rst
index ffbd0bc..b371fde 100644
--- a/docs/compute/_supported_methods_block_storage.rst
+++ b/docs/compute/_supported_methods_block_storage.rst
@@ -47,6 +47,7 @@ Provider                              list volumes create volume destroy volume
 `OpenNebula (v3.8)`_                  yes          yes           yes            yes           yes           no             no             
 `OpenStack`_                          yes          yes           yes            yes           yes           no             no             
 `Opsource`_                           no           no            no             no            no            no             no             
+`Outscale INC`_                       yes          yes           yes            yes           yes           yes            yes            
 `Outscale SAS`_                       yes          yes           yes            yes           yes           yes            yes            
 `Rackspace Cloud (Next Gen)`_         yes          yes           yes            yes           yes           no             no             
 `Rackspace Cloud (First Gen)`_        yes          yes           yes            yes           yes           no             no             
@@ -107,6 +108,7 @@ Provider                              list volumes create volume destroy volume
 .. _`OpenNebula (v3.8)`: http://opennebula.org/
 .. _`OpenStack`: http://openstack.org/
 .. _`Opsource`: http://www.opsource.net/
+.. _`Outscale INC`: http://www.outscale.com
 .. _`Outscale SAS`: http://www.outscale.com
 .. _`Rackspace Cloud (Next Gen)`: http://www.rackspace.com
 .. _`Rackspace Cloud (First Gen)`: http://www.rackspace.com

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/docs/compute/_supported_methods_image_management.rst
----------------------------------------------------------------------
diff --git a/docs/compute/_supported_methods_image_management.rst b/docs/compute/_supported_methods_image_management.rst
index 9dcb206..b1ec17b 100644
--- a/docs/compute/_supported_methods_image_management.rst
+++ b/docs/compute/_supported_methods_image_management.rst
@@ -47,6 +47,7 @@ Provider                              list images get image create image delete
 `OpenNebula (v3.8)`_                  yes         no        no           no           no        
 `OpenStack`_                          yes         yes       no           no           no        
 `Opsource`_                           yes         no        no           no           no        
+`Outscale INC`_                       yes         yes       yes          yes          yes       
 `Outscale SAS`_                       yes         yes       yes          yes          yes       
 `Rackspace Cloud (Next Gen)`_         yes         yes       yes          yes          no        
 `Rackspace Cloud (First Gen)`_        yes         yes       yes          yes          no        
@@ -107,6 +108,7 @@ Provider                              list images get image create image delete
 .. _`OpenNebula (v3.8)`: http://opennebula.org/
 .. _`OpenStack`: http://openstack.org/
 .. _`Opsource`: http://www.opsource.net/
+.. _`Outscale INC`: http://www.outscale.com
 .. _`Outscale SAS`: http://www.outscale.com
 .. _`Rackspace Cloud (Next Gen)`: http://www.rackspace.com
 .. _`Rackspace Cloud (First Gen)`: http://www.rackspace.com

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/docs/compute/_supported_methods_key_pair_management.rst
----------------------------------------------------------------------
diff --git a/docs/compute/_supported_methods_key_pair_management.rst b/docs/compute/_supported_methods_key_pair_management.rst
index d37d987..7467c50 100644
--- a/docs/compute/_supported_methods_key_pair_management.rst
+++ b/docs/compute/_supported_methods_key_pair_management.rst
@@ -47,6 +47,7 @@ Provider                              list key pairs get key pair create key pai
 `OpenNebula (v3.8)`_                  no             no           no              no                            no                          no             
 `OpenStack`_                          no             no           no              no                            no                          no             
 `Opsource`_                           no             no           no              no                            no                          no             
+`Outscale INC`_                       yes            yes          yes             yes                           no                          yes            
 `Outscale SAS`_                       yes            yes          yes             yes                           no                          yes            
 `Rackspace Cloud (Next Gen)`_         yes            yes          yes             yes                           no                          yes            
 `Rackspace Cloud (First Gen)`_        no             no           no              no                            no                          no             
@@ -107,6 +108,7 @@ Provider                              list key pairs get key pair create key pai
 .. _`OpenNebula (v3.8)`: http://opennebula.org/
 .. _`OpenStack`: http://openstack.org/
 .. _`Opsource`: http://www.opsource.net/
+.. _`Outscale INC`: http://www.outscale.com
 .. _`Outscale SAS`: http://www.outscale.com
 .. _`Rackspace Cloud (Next Gen)`: http://www.rackspace.com
 .. _`Rackspace Cloud (First Gen)`: http://www.rackspace.com

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/docs/compute/_supported_methods_main.rst
----------------------------------------------------------------------
diff --git a/docs/compute/_supported_methods_main.rst b/docs/compute/_supported_methods_main.rst
index c2f728e..5c3bd08 100644
--- a/docs/compute/_supported_methods_main.rst
+++ b/docs/compute/_supported_methods_main.rst
@@ -47,6 +47,7 @@ Provider                              list nodes create node reboot node destroy
 `OpenNebula (v3.8)`_                  yes        yes         yes         yes          yes         yes        no         
 `OpenStack`_                          yes        no          yes         yes          yes         yes        no         
 `Opsource`_                           yes        yes         yes         yes          yes         yes        yes        
+`Outscale INC`_                       yes        yes         yes         yes          yes         yes        yes        
 `Outscale SAS`_                       yes        yes         yes         yes          yes         yes        yes        
 `Rackspace Cloud (Next Gen)`_         yes        yes         yes         yes          yes         yes        yes        
 `Rackspace Cloud (First Gen)`_        yes        yes         yes         yes          yes         yes        yes        
@@ -107,6 +108,7 @@ Provider                              list nodes create node reboot node destroy
 .. _`OpenNebula (v3.8)`: http://opennebula.org/
 .. _`OpenStack`: http://openstack.org/
 .. _`Opsource`: http://www.opsource.net/
+.. _`Outscale INC`: http://www.outscale.com
 .. _`Outscale SAS`: http://www.outscale.com
 .. _`Rackspace Cloud (Next Gen)`: http://www.rackspace.com
 .. _`Rackspace Cloud (First Gen)`: http://www.rackspace.com

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/docs/compute/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/compute/_supported_providers.rst b/docs/compute/_supported_providers.rst
index 5960b8c..5ca1534 100644
--- a/docs/compute/_supported_providers.rst
+++ b/docs/compute/_supported_providers.rst
@@ -47,6 +47,7 @@ Provider                              Documentation
 `OpenNebula (v3.8)`_                                                               OPENNEBULA          :mod:`libcloud.compute.drivers.opennebula`     :class:`OpenNebulaNodeDriver`       
 `OpenStack`_                          :doc:`Click </compute/drivers/openstack>`    OPENSTACK           :mod:`libcloud.compute.drivers.openstack`      :class:`OpenStackNodeDriver`        
 `Opsource`_                                                                        OPSOURCE            :mod:`libcloud.compute.drivers.opsource`       :class:`OpsourceNodeDriver`         
+`Outscale INC`_                       :doc:`Click </compute/drivers/outscale_inc>` OUTSCALE_INC        :mod:`libcloud.compute.drivers.ec2`            :class:`OutscaleINCNodeDriver`      
 `Outscale SAS`_                       :doc:`Click </compute/drivers/outscale_sas>` OUTSCALE_SAS        :mod:`libcloud.compute.drivers.ec2`            :class:`OutscaleSASNodeDriver`      
 `Rackspace Cloud (Next Gen)`_         :doc:`Click </compute/drivers/rackspace>`    RACKSPACE           :mod:`libcloud.compute.drivers.rackspace`      :class:`RackspaceNodeDriver`        
 `Rackspace Cloud (First Gen)`_                                                     RACKSPACE_FIRST_GEN :mod:`libcloud.compute.drivers.rackspace`      :class:`RackspaceFirstGenNodeDriver`
@@ -107,6 +108,7 @@ Provider                              Documentation
 .. _`OpenNebula (v3.8)`: http://opennebula.org/
 .. _`OpenStack`: http://openstack.org/
 .. _`Opsource`: http://www.opsource.net/
+.. _`Outscale INC`: http://www.outscale.com
 .. _`Outscale SAS`: http://www.outscale.com
 .. _`Rackspace Cloud (Next Gen)`: http://www.rackspace.com
 .. _`Rackspace Cloud (First Gen)`: http://www.rackspace.com

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/docs/compute/drivers/outscale_inc.rst
----------------------------------------------------------------------
diff --git a/docs/compute/drivers/outscale_inc.rst b/docs/compute/drivers/outscale_inc.rst
new file mode 100644
index 0000000..b765ad2
--- /dev/null
+++ b/docs/compute/drivers/outscale_inc.rst
@@ -0,0 +1,31 @@
+Outscale INC Driver Documentation
+=================================
+
+`Outscale INC`_ provides an IaaS platform allowing
+developers to benefit from all the flexibility of the Cloud.
+This IaaS platform relies on TINA OS, its Cloud manager which purpose is to
+provide great performances on the Cloud.
+TINA OS is an own developed software with APIs compatible with AWS EC2 (TM).
+
+.. figure:: /_static/images/provider_logos/outscale.png
+    :align: center
+    :width: 300
+    :target: https://www.outscale.com/
+
+Outscale users can start virtual machines in the following regions:
+
+* EU West (Paris France) Region
+* US East (Boston US) Region
+* (Soon) US East (New Jersey) Region
+* (Soon) Asia (Hong Kong) Region
+
+Outscale INC is an american company: prices are in $.
+
+API Docs
+--------
+
+.. autoclass:: libcloud.compute.drivers.ec2.OutscaleINCNodeDriver
+    :members:
+    :inherited-members:
+
+.. _`Outscale INC`: https://www.outscale.com/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/docs/compute/drivers/outscale_sas.rst
----------------------------------------------------------------------
diff --git a/docs/compute/drivers/outscale_sas.rst b/docs/compute/drivers/outscale_sas.rst
index 03e7d4e..80a1fcd 100644
--- a/docs/compute/drivers/outscale_sas.rst
+++ b/docs/compute/drivers/outscale_sas.rst
@@ -1,5 +1,5 @@
-Outscale Driver Documentation
-=============================
+Outscale SAS Driver Documentation
+=================================
 
 `Outscale SAS`_ provides an IaaS platform allowing
 developers to benefit from all the flexibility of the Cloud.
@@ -24,7 +24,7 @@ Outscale SAS is an european company: prices are in €.
 API Docs
 --------
 
-.. autoclass:: libcloud.compute.drivers.ec2.OutscaleNodeDriver
+.. autoclass:: libcloud.compute.drivers.ec2.OutscaleSASNodeDriver
     :members:
     :inherited-members:
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index f39deea..9962b2d 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -49,6 +49,7 @@ __all__ = [
     'INSTANCE_TYPES',
     'OUTSCALE_INSTANCE_TYPES',
     'OUTSCALE_SAS_REGION_DETAILS',
+    'OUTSCALE_INC_REGION_DETAILS',
     'DEFAULT_EUCA_API_VERSION',
     'EUCA_NAMESPACE',
 
@@ -59,6 +60,7 @@ __all__ = [
     'EucNodeDriver',
 
     'OutscaleSASNodeDriver',
+    'OutscaleINCNodeDriver',
 
     'EC2NodeLocation',
     'EC2ReservedNode',
@@ -877,7 +879,7 @@ OUTSCALE_INSTANCE_TYPES = {
 """
 The function manipulating Outscale cloud regions will be overriden because
 Outscale instances types are in a separate dict so also declare Outscale cloud
-regions in another constant.
+regions in some other constants.
 """
 OUTSCALE_SAS_REGION_DETAILS = {
     'eu-west-3': {
@@ -964,6 +966,91 @@ OUTSCALE_SAS_REGION_DETAILS = {
 }
 
 
+OUTSCALE_INC_REGION_DETAILS = {
+    'eu-west-1': {
+        'endpoint': 'api.eu-west-1.outscale.com',
+        'api_name': 'osc_inc_eu_west_1',
+        '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',
+        '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_inc_us_east_1',
+        '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'
+        ]
+    }
+}
+
+
 """
 Define the extra dictionary for specific resources
 """
@@ -4633,6 +4720,32 @@ class OutscaleNodeDriver(BaseEC2NodeDriver):
         'stopped': NodeState.STOPPED
     }
 
+    def __init__(self, key, secret=None, secure=True, host=None, port=None,
+                 region='us-east-1', region_details=None, **kwargs):
+        if hasattr(self, '_region'):
+            region = self._region
+
+        if region_details is None:
+            raise ValueError('Invalid region_details argument')
+
+        if region not in region_details.keys():
+            raise ValueError('Invalid region: %s' % (region))
+
+        self.region_name = region
+        self.region_details = region_details
+        details = self.region_details[region]
+        self.api_name = details['api_name']
+        self.country = details['country']
+
+        self.connectionCls.host = details['endpoint']
+
+        self._not_implemented_msg =\
+            'This method is not supported in the Outscale driver'
+
+        super(BaseEC2NodeDriver, self).__init__(key=key, secret=secret,
+                                                secure=secure, host=host,
+                                                port=port, **kwargs)
+
     def create_node(self, **kwargs):
         """
         Create a new Outscale node. The ex_iamprofile keyword is not supported.
@@ -4810,36 +4923,6 @@ class OutscaleNodeDriver(BaseEC2NodeDriver):
         """
         raise NotImplementedError(self._not_implemented_msg)
 
-
-class OutscaleSASNodeDriver(OutscaleNodeDriver):
-    """
-    Outscale SAS node driver
-    """
-    name = 'Outscale SAS'
-    type = Provider.OUTSCALE_SAS
-
-    def __init__(self, key, secret=None, secure=True, host=None, port=None,
-                 region='us-east-1', **kwargs):
-        if hasattr(self, '_region'):
-            region = self._region
-
-        if region not in OUTSCALE_SAS_REGION_DETAILS.keys():
-            raise ValueError('Invalid region: %s' % (region))
-
-        details = OUTSCALE_SAS_REGION_DETAILS[region]
-        self.region_name = region
-        self.api_name = details['api_name']
-        self.country = details['country']
-
-        self.connectionCls.host = details['endpoint']
-
-        self._not_implemented_msg =\
-            'This method is not supported in the Outscale driver'
-
-        super(OutscaleNodeDriver, self).__init__(key=key, secret=secret,
-                                                 secure=secure, host=host,
-                                                 port=port, **kwargs)
-
     def list_sizes(self, location=None):
         """
         List available instance flavors/sizes
@@ -4849,7 +4932,7 @@ class OutscaleSASNodeDriver(OutscaleNodeDriver):
         :rtype: ``list`` of :class:`NodeSize`
         """
         available_types =\
-            OUTSCALE_SAS_REGION_DETAILS[self.region_name]['instance_types']
+            self.region_details[self.region_name]['instance_types']
         sizes = []
 
         for instance_type in available_types:
@@ -4859,3 +4942,33 @@ class OutscaleSASNodeDriver(OutscaleNodeDriver):
             attributes.update({'price': price})
             sizes.append(NodeSize(driver=self, **attributes))
         return sizes
+
+
+class OutscaleSASNodeDriver(OutscaleNodeDriver):
+    """
+    Outscale SAS node driver
+    """
+    name = 'Outscale SAS'
+    type = Provider.OUTSCALE_SAS
+
+    def __init__(self, key, secret=None, secure=True, host=None, port=None,
+                 region='us-east-1', region_details=None, **kwargs):
+        super(OutscaleSASNodeDriver, self).__init__(
+            key=key, secret=secret, secure=secure, host=host, port=port,
+            region=region, region_details=OUTSCALE_SAS_REGION_DETAILS,
+            **kwargs)
+
+
+class OutscaleINCNodeDriver(OutscaleNodeDriver):
+    """
+    Outscale INC node driver
+    """
+    name = 'Outscale INC'
+    type = Provider.OUTSCALE_INC
+
+    def __init__(self, key, secret=None, secure=True, host=None, port=None,
+                 region='us-east-1', region_details=None, **kwargs):
+        super(OutscaleINCNodeDriver, self).__init__(
+            key=key, secret=secret, secure=secure, host=host, port=port,
+            region=region, region_details=OUTSCALE_INC_REGION_DETAILS,
+            **kwargs)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/libcloud/compute/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/providers.py b/libcloud/compute/providers.py
index 2fc280b..3de579c 100644
--- a/libcloud/compute/providers.py
+++ b/libcloud/compute/providers.py
@@ -143,6 +143,8 @@ DRIVERS = {
     ('libcloud.compute.drivers.ikoula', 'IkoulaNodeDriver'),
     Provider.OUTSCALE_SAS:
     ('libcloud.compute.drivers.ec2', 'OutscaleSASNodeDriver'),
+    Provider.OUTSCALE_INC:
+    ('libcloud.compute.drivers.ec2', 'OutscaleINCNodeDriver'),
 
     # Deprecated
     Provider.CLOUDSIGMA_US:

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/libcloud/compute/types.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/types.py b/libcloud/compute/types.py
index 290f38e..b2edf2d 100644
--- a/libcloud/compute/types.py
+++ b/libcloud/compute/types.py
@@ -75,6 +75,7 @@ class Provider(object):
     :cvar EXOSCALE: Exoscale driver.
     :cvar IKOULA: Ikoula driver.
     :cvar OUTSCALE_SAS: Outscale SAS driver.
+    :cvar OUTSCALE_INC: Outscale INC driver.
     """
     DUMMY = 'dummy'
     EC2 = 'ec2_us_east'
@@ -119,6 +120,7 @@ class Provider(object):
     EXOSCALE = 'exoscale'
     IKOULA = 'ikoula'
     OUTSCALE_SAS = 'outscale_sas'
+    OUTSCALE_INC = 'outscale_inc'
 
     # OpenStack based providers
     HPCLOUD = 'hpcloud'

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ca6ad2ad/libcloud/data/pricing.json
----------------------------------------------------------------------
diff --git a/libcloud/data/pricing.json b/libcloud/data/pricing.json
index 6034ec4..e8aa7bf 100644
--- a/libcloud/data/pricing.json
+++ b/libcloud/data/pricing.json
@@ -490,6 +490,75 @@
             "cr1.8xlarge": "3.750",
             "os1.8xlarge": "6.400",
             "os1.8xlarge": "6.400"
+        },
+        "osc_inc_eu_west_1": {
+            "t1.micro": "0.040",
+            "m1.small": "0.090",
+            "m1.medium": "0.120",
+            "m1.large": "0.360",
+            "m1.xlarge": "0.730",
+            "c1.medium": "0.230",
+            "c1.xlarge": "0.900",
+            "m2.xlarge": "0.410",
+            "m2.2xlarge": "0.820",
+            "m2.4xlarge": "1.640",
+            "nv1.small": "5.220",
+            "nv1.medium": "5.250",
+            "nv1.large": "5.490",
+            "nv1.xlarge": "5.610",
+            "cc1.4xlarge": "1.300",
+            "cc2.8xlarge": "2.400",
+            "m3.xlarge": "0.780",
+            "m3.2xlarge": "1.560",
+            "cr1.8xlarge": "3.500",
+            "os1.8xlarge": "4.310",
+            "os1.8xlarge": "4.310"
+        },
+        "osc_inc_eu_west_3": {
+            "t1.micro": "0.040",
+            "m1.small": "0.090",
+            "m1.medium": "0.120",
+            "m1.large": "0.360",
+            "m1.xlarge": "0.730",
+            "c1.medium": "0.230",
+            "c1.xlarge": "0.900",
+            "m2.xlarge": "0.410",
+            "m2.2xlarge": "0.820",
+            "m2.4xlarge": "1.640",
+            "nv1.small": "5.220",
+            "nv1.medium": "5.250",
+            "nv1.large": "5.490",
+            "nv1.xlarge": "5.610",
+            "cc1.4xlarge": "1.300",
+            "cc2.8xlarge": "2.400",
+            "m3.xlarge": "0.780",
+            "m3.2xlarge": "1.560",
+            "cr1.8xlarge": "3.500",
+            "os1.8xlarge": "4.310",
+            "os1.8xlarge": "4.310"
+        },
+        "osc_inc_us_east_1": {
+            "t1.micro": "0.020",
+            "m1.small": "0.060",
+            "m1.medium": "0.180",
+            "m1.large": "0.240",
+            "m1.xlarge": "0.730",
+            "c1.medium": "0.150",
+            "c1.xlarge": "0.580",
+            "m2.xlarge": "0.410",
+            "m2.2xlarge": "1.020",
+            "m2.4xlarge": "2.040",
+            "nv1.small": "5.190",
+            "nv1.medium": "5.250",
+            "nv1.large": "5.490",
+            "nv1.xlarge": "5.610",
+            "cc1.4xlarge": "1.610",
+            "cc2.8xlarge": "2.400",
+            "m3.xlarge": "0.500",
+            "m3.2xlarge": "1.560",
+            "cr1.8xlarge": "3.500",
+            "os1.8xlarge": "6.400",
+            "os1.8xlarge": "6.400"
         }
     },
     "storage": {},