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 2016/04/06 17:17:33 UTC

[01/15] libcloud git commit: Update old and deprecated per region classes for Rackspace DNS driver.

Repository: libcloud
Updated Branches:
  refs/heads/trunk f56db93d7 -> a3b9da4a9


Update old and deprecated per region classes for Rackspace DNS driver.


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

Branch: refs/heads/trunk
Commit: 94d1baa4ff3b09180d9cb7bb14ce972a80a93ed9
Parents: b6ff8db
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Wed Mar 16 17:34:50 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 18:32:19 2016 -0700

----------------------------------------------------------------------
 libcloud/dns/drivers/rackspace.py   | 33 +++++++-------------------------
 libcloud/dns/providers.py           | 12 +++++++++++-
 libcloud/dns/types.py               | 10 +++++++++-
 libcloud/test/dns/test_rackspace.py | 15 +++++++++------
 4 files changed, 36 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/94d1baa4/libcloud/dns/drivers/rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/dns/drivers/rackspace.py b/libcloud/dns/drivers/rackspace.py
index 4507fb1..4e0d705 100644
--- a/libcloud/dns/drivers/rackspace.py
+++ b/libcloud/dns/drivers/rackspace.py
@@ -12,16 +12,10 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-from libcloud.common.openstack import OpenStackDriverMixin
-
-__all__ = [
-    'RackspaceUSDNSDriver',
-    'RackspaceUKDNSDriver'
-]
-
-from libcloud.utils.py3 import httplib
 import copy
 
+from libcloud.utils.py3 import httplib
+from libcloud.common.openstack import OpenStackDriverMixin
 from libcloud.common.base import PollingConnection
 from libcloud.common.exceptions import BaseHTTPError
 from libcloud.common.types import LibcloudError
@@ -34,6 +28,11 @@ from libcloud.dns.types import Provider, RecordType
 from libcloud.dns.types import ZoneDoesNotExistError, RecordDoesNotExistError
 from libcloud.dns.base import DNSDriver, Zone, Record
 
+__all__ = [
+    'RackspaceDNSResponse',
+    'RackspaceDNSConnection'
+]
+
 VALID_ZONE_EXTRA_PARAMS = ['email', 'comment', 'ns1']
 VALID_RECORD_EXTRA_PARAMS = ['ttl', 'comment', 'priority', 'created',
                              'updated']
@@ -634,24 +633,6 @@ class RackspaceDNSDriver(DNSDriver, OpenStackDriverMixin):
         return kwargs
 
 
-class RackspaceUSDNSDriver(RackspaceDNSDriver):
-    name = 'Rackspace DNS (US)'
-    type = Provider.RACKSPACE_US
-
-    def __init__(self, *args, **kwargs):
-        kwargs['region'] = 'us'
-        super(RackspaceUSDNSDriver, self).__init__(*args, **kwargs)
-
-
-class RackspaceUKDNSDriver(RackspaceDNSDriver):
-    name = 'Rackspace DNS (UK)'
-    type = Provider.RACKSPACE_UK
-
-    def __init__(self, *args, **kwargs):
-        kwargs['region'] = 'uk'
-        super(RackspaceUKDNSDriver, self).__init__(*args, **kwargs)
-
-
 def _rackspace_result_has_more(response, result_length, limit):
     # If rackspace returns less than the limit, then we've reached the end of
     # the result set.

http://git-wip-us.apache.org/repos/asf/libcloud/blob/94d1baa4/libcloud/dns/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/dns/providers.py b/libcloud/dns/providers.py
index c7ad4e4..4f37a9e 100644
--- a/libcloud/dns/providers.py
+++ b/libcloud/dns/providers.py
@@ -14,9 +14,17 @@
 # limitations under the License.
 
 from libcloud.dns.types import Provider
+from libcloud.dns.types import OLD_CONSTANT_TO_NEW_MAPPING
 from libcloud.common.providers import get_driver as _get_provider_driver
 from libcloud.common.providers import set_driver as _set_provider_driver
 
+__all__ = [
+    'DRIVERS',
+
+    'get_driver',
+    'set_driver'
+]
+
 DRIVERS = {
     Provider.DUMMY:
     ('libcloud.dns.drivers.dummy', 'DummyDNSDriver'),
@@ -69,7 +77,9 @@ DRIVERS = {
 
 
 def get_driver(provider):
-    return _get_provider_driver(drivers=DRIVERS, provider=provider)
+    deprecated_constants = OLD_CONSTANT_TO_NEW_MAPPING
+    return _get_provider_driver(drivers=DRIVERS, provider=provider,
+                                deprecated_constants=deprecated_constants)
 
 
 def set_driver(provider, module, klass):

http://git-wip-us.apache.org/repos/asf/libcloud/blob/94d1baa4/libcloud/dns/types.py
----------------------------------------------------------------------
diff --git a/libcloud/dns/types.py b/libcloud/dns/types.py
index 4fba3b2..91111ed 100644
--- a/libcloud/dns/types.py
+++ b/libcloud/dns/types.py
@@ -23,7 +23,9 @@ __all__ = [
     'ZoneAlreadyExistsError',
     'RecordError',
     'RecordDoesNotExistError',
-    'RecordAlreadyExistsError'
+    'RecordAlreadyExistsError',
+
+    'OLD_CONSTANT_TO_NEW_MAPPING'
 ]
 
 
@@ -56,6 +58,12 @@ class Provider(object):
     RACKSPACE_UK = 'rackspace_uk'
 
 
+OLD_CONSTANT_TO_NEW_MAPPING = {
+    Provider.RACKSPACE_US: Provider.RACKSPACE,
+    Provider.RACKSPACE_UK: Provider.RACKSPACE,
+}
+
+
 class RecordType(object):
     """
     DNS record type.

http://git-wip-us.apache.org/repos/asf/libcloud/blob/94d1baa4/libcloud/test/dns/test_rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/test/dns/test_rackspace.py b/libcloud/test/dns/test_rackspace.py
index aa8ad10..0679f05 100644
--- a/libcloud/test/dns/test_rackspace.py
+++ b/libcloud/test/dns/test_rackspace.py
@@ -22,8 +22,7 @@ from libcloud.compute.base import Node
 from libcloud.dns.types import RecordType, ZoneDoesNotExistError
 from libcloud.dns.types import RecordDoesNotExistError
 from libcloud.dns.drivers.rackspace import RackspacePTRRecord
-from libcloud.dns.drivers.rackspace import RackspaceUSDNSDriver
-from libcloud.dns.drivers.rackspace import RackspaceUKDNSDriver
+from libcloud.dns.drivers.rackspace import RackspaceDNSDriver
 from libcloud.loadbalancer.base import LoadBalancer
 
 from libcloud.test import MockHttp
@@ -47,14 +46,17 @@ RDNS_LB = LoadBalancer('370b0ff8-3f57-4e10-ac84-e9145ce005841', 'server1',
 
 
 class RackspaceUSTests(unittest.TestCase):
-    klass = RackspaceUSDNSDriver
+    klass = RackspaceDNSDriver
     endpoint_url = 'https://dns.api.rackspacecloud.com/v1.0/11111'
+    region = 'us'
 
     def setUp(self):
         self.klass.connectionCls.conn_classes = (
             None, RackspaceMockHttp)
         RackspaceMockHttp.type = None
-        self.driver = self.klass(*DNS_PARAMS_RACKSPACE)
+
+        driver_kwargs = {'region': self.region}
+        self.driver = self.klass(*DNS_PARAMS_RACKSPACE, **driver_kwargs)
         self.driver.connection.poll_interval = 0.0
         # normally authentication happens lazily, but we force it here
         self.driver.connection._populate_hosts_and_request_paths()
@@ -85,7 +87,7 @@ class RackspaceUSTests(unittest.TestCase):
                          driver.connection._auth_version)
 
     def test_gets_auth_2_0_endpoint(self):
-        kwargs = {'ex_force_auth_version': '2.0_password'}
+        kwargs = {'ex_force_auth_version': '2.0_password', 'region': self.region}
         driver = self.klass(*DNS_PARAMS_RACKSPACE, **kwargs)
         driver.connection._populate_hosts_and_request_paths()
 
@@ -404,8 +406,9 @@ class RackspaceUSTests(unittest.TestCase):
 
 
 class RackspaceUKTests(RackspaceUSTests):
-    klass = RackspaceUKDNSDriver
+    klass = RackspaceDNSDriver
     endpoint_url = 'https://lon.dns.api.rackspacecloud.com/v1.0/11111'
+    region = 'uk'
 
 
 class RackspaceMockHttp(MockHttp):


[08/15] libcloud git commit: Update table generation script to include available regions.

Posted by to...@apache.org.
Update table generation script to include available regions.


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

Branch: refs/heads/trunk
Commit: 2b2a79ccedefaf584beb463ac371f3d07e3e1f97
Parents: fe6c8a4
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Thu Mar 31 19:15:57 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 19:15:57 2016 -0700

----------------------------------------------------------------------
 .../generate_provider_feature_matrix_table.py   | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b2a79cc/contrib/generate_provider_feature_matrix_table.py
----------------------------------------------------------------------
diff --git a/contrib/generate_provider_feature_matrix_table.py b/contrib/generate_provider_feature_matrix_table.py
index 5bdcf32..c0c5320 100755
--- a/contrib/generate_provider_feature_matrix_table.py
+++ b/contrib/generate_provider_feature_matrix_table.py
@@ -219,7 +219,6 @@ IGNORED_PROVIDERS = [
 
     # Deprecated constants
     'cloudsigma_us',
-
     'cloudfiles_swift'
 ]
 
@@ -275,8 +274,9 @@ def generate_providers_table(api):
 
         try:
             cls = get_driver_method(enum)
-        except:
+        except Exception as e:
             # Deprecated providers throw an exception
+            print('Ignoring deprecated constant "%s"' % (enum))
             continue
 
         # Hack for providers which expose multiple classes and support multiple
@@ -307,6 +307,7 @@ def generate_providers_table(api):
         result[name] = {'name': cls.name, 'website': cls.website,
                         'constant': name, 'module': drivers[enum][0],
                         'class': drivers[enum][1],
+                        'cls': cls,
                         'methods': {}}
 
         for method_name in base_api_methods:
@@ -389,8 +390,8 @@ def generate_supported_methods_table(api, provider_matrix):
 
 def generate_supported_providers_table(api, provider_matrix):
     data = []
-    header = ['Provider', 'Documentation', 'Provider constant', 'Module',
-              'Class Name']
+    header = ['Provider', 'Documentation', 'Provider Constant',
+              'Supported Regions', 'Module', 'Class Name']
 
     data.append(header)
     for provider, values in sorted(provider_matrix.items()):
@@ -408,7 +409,16 @@ def generate_supported_providers_table(api, provider_matrix):
         else:
             docs_link = ''
 
-        row = [name_str, docs_link, values['constant'], module_str, class_str]
+        cls = values['cls']
+        supported_regions = cls.list_regions()
+
+        if supported_regions:
+            supported_regions = ', '.join(supported_regions)
+        else:
+            supported_regions = 'single region driver'
+
+        row = [name_str, docs_link, values['constant'], supported_regions,
+               module_str, class_str]
         data.append(row)
 
     result = generate_rst_table(data)


[12/15] libcloud git commit: Fix lint.

Posted by to...@apache.org.
Fix lint.


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

Branch: refs/heads/trunk
Commit: eae0ee009f18063cb560237d99016eb621c5c4ca
Parents: 3cb03eb
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Thu Mar 31 19:38:16 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 19:38:16 2016 -0700

----------------------------------------------------------------------
 contrib/generate_provider_feature_matrix_table.py | 2 +-
 libcloud/loadbalancer/drivers/rackspace.py        | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/eae0ee00/contrib/generate_provider_feature_matrix_table.py
----------------------------------------------------------------------
diff --git a/contrib/generate_provider_feature_matrix_table.py b/contrib/generate_provider_feature_matrix_table.py
index c0c5320..07404cc 100755
--- a/contrib/generate_provider_feature_matrix_table.py
+++ b/contrib/generate_provider_feature_matrix_table.py
@@ -274,7 +274,7 @@ def generate_providers_table(api):
 
         try:
             cls = get_driver_method(enum)
-        except Exception as e:
+        except Exception:
             # Deprecated providers throw an exception
             print('Ignoring deprecated constant "%s"' % (enum))
             continue

http://git-wip-us.apache.org/repos/asf/libcloud/blob/eae0ee00/libcloud/loadbalancer/drivers/rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/drivers/rackspace.py b/libcloud/loadbalancer/drivers/rackspace.py
index a24e516..db30f85 100644
--- a/libcloud/loadbalancer/drivers/rackspace.py
+++ b/libcloud/loadbalancer/drivers/rackspace.py
@@ -324,6 +324,7 @@ class RackspaceLBDriver(Driver, OpenStackDriverMixin):
         super(RackspaceLBDriver, self).__init__(key=key, secret=secret,
                                                 secure=secure, host=host,
                                                 port=port, region=region)
+
     @classmethod
     def list_regions(cls):
         return ENDPOINT_ARGS_MAP.keys()


[10/15] libcloud git commit: Re-generate supported providers tables.

Posted by to...@apache.org.
http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/loadbalancer/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/loadbalancer/_supported_providers.rst b/docs/loadbalancer/_supported_providers.rst
index 87e5ee8..ae14312 100644
--- a/docs/loadbalancer/_supported_providers.rst
+++ b/docs/loadbalancer/_supported_providers.rst
@@ -1,21 +1,19 @@
 .. NOTE: This file has been generated automatically using generate_provider_feature_matrix_table.py script, don't manually edit it
 
-====================================== ================================================== ================= ================================================== ==============================
-Provider                               Documentation                                      Provider constant Module                                             Class Name                    
-====================================== ================================================== ================= ================================================== ==============================
-`Aliyun Server Load Balancer`_                                                            ALIYUN_SLB        :mod:`libcloud.loadbalancer.drivers.slb`           :class:`SLBDriver`            
-`Brightbox`_                                                                              BRIGHTBOX         :mod:`libcloud.loadbalancer.drivers.brightbox`     :class:`BrightboxLBDriver`    
-`CloudStack`_                                                                             CLOUDSTACK        :mod:`libcloud.loadbalancer.drivers.cloudstack`    :class:`CloudStackLBDriver`   
-`Dimension Data Load Balancer`_        :doc:`Click </loadbalancer/drivers/dimensiondata>` DIMENSIONDATA     :mod:`libcloud.loadbalancer.drivers.dimensiondata` :class:`DimensionDataLBDriver`
-`Amazon Elastic Load Balancing`_       :doc:`Click </loadbalancer/drivers/elb>`           ELB               :mod:`libcloud.loadbalancer.drivers.elb`           :class:`ElasticLBDriver`      
-`Google Compute Engine Load Balancer`_ :doc:`Click </loadbalancer/drivers/gce>`           GCE               :mod:`libcloud.loadbalancer.drivers.gce`           :class:`GCELBDriver`          
-`GoGrid LB`_                                                                              GOGRID            :mod:`libcloud.loadbalancer.drivers.gogrid`        :class:`GoGridLBDriver`       
-`Ninefold LB`_                                                                            NINEFOLD          :mod:`libcloud.loadbalancer.drivers.ninefold`      :class:`NinefoldLBDriver`     
-`Rackspace LB`_                                                                           RACKSPACE         :mod:`libcloud.loadbalancer.drivers.rackspace`     :class:`RackspaceLBDriver`    
-`Rackspace LB`_                                                                           RACKSPACE_UK      :mod:`libcloud.loadbalancer.drivers.rackspace`     :class:`RackspaceUKLBDriver`  
-`Rackspace LB`_                                                                           RACKSPACE_US      :mod:`libcloud.loadbalancer.drivers.rackspace`     :class:`RackspaceLBDriver`    
-`Softlayer Load Balancing`_                                                               SOFTLAYER         :mod:`libcloud.loadbalancer.drivers.softlayer`     :class:`SoftlayerLBDriver`    
-====================================== ================================================== ================= ================================================== ==============================
+====================================== ================================================== ================= ============================ ================================================== ==============================
+Provider                               Documentation                                      Provider Constant Supported Regions            Module                                             Class Name                    
+====================================== ================================================== ================= ============================ ================================================== ==============================
+`Aliyun Server Load Balancer`_                                                            ALIYUN_SLB        single region driver         :mod:`libcloud.loadbalancer.drivers.slb`           :class:`SLBDriver`            
+`Brightbox`_                                                                              BRIGHTBOX         single region driver         :mod:`libcloud.loadbalancer.drivers.brightbox`     :class:`BrightboxLBDriver`    
+`CloudStack`_                                                                             CLOUDSTACK        single region driver         :mod:`libcloud.loadbalancer.drivers.cloudstack`    :class:`CloudStackLBDriver`   
+`Dimension Data Load Balancer`_        :doc:`Click </loadbalancer/drivers/dimensiondata>` DIMENSIONDATA     single region driver         :mod:`libcloud.loadbalancer.drivers.dimensiondata` :class:`DimensionDataLBDriver`
+`Amazon Elastic Load Balancing`_       :doc:`Click </loadbalancer/drivers/elb>`           ELB               single region driver         :mod:`libcloud.loadbalancer.drivers.elb`           :class:`ElasticLBDriver`      
+`Google Compute Engine Load Balancer`_ :doc:`Click </loadbalancer/drivers/gce>`           GCE               single region driver         :mod:`libcloud.loadbalancer.drivers.gce`           :class:`GCELBDriver`          
+`GoGrid LB`_                                                                              GOGRID            single region driver         :mod:`libcloud.loadbalancer.drivers.gogrid`        :class:`GoGridLBDriver`       
+`Ninefold LB`_                                                                            NINEFOLD          single region driver         :mod:`libcloud.loadbalancer.drivers.ninefold`      :class:`NinefoldLBDriver`     
+`Rackspace LB`_                                                                           RACKSPACE         syd, iad, dfw, lon, ord, hkg :mod:`libcloud.loadbalancer.drivers.rackspace`     :class:`RackspaceLBDriver`    
+`Softlayer Load Balancing`_                                                               SOFTLAYER         single region driver         :mod:`libcloud.loadbalancer.drivers.softlayer`     :class:`SoftlayerLBDriver`    
+====================================== ================================================== ================= ============================ ================================================== ==============================
 
 .. _`Aliyun Server Load Balancer`: https://www.aliyun.com/product/slb
 .. _`Brightbox`: http://www.brightbox.co.uk/
@@ -26,6 +24,4 @@ Provider                               Documentation
 .. _`GoGrid LB`: http://www.gogrid.com/
 .. _`Ninefold LB`: http://ninefold.com/
 .. _`Rackspace LB`: http://www.rackspace.com/
-.. _`Rackspace LB`: http://www.rackspace.com/
-.. _`Rackspace LB`: http://www.rackspace.com/
 .. _`Softlayer Load Balancing`: http://www.softlayer.com/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/storage/_supported_methods_cdn.rst
----------------------------------------------------------------------
diff --git a/docs/storage/_supported_methods_cdn.rst b/docs/storage/_supported_methods_cdn.rst
index 10c4d29..ef991e1 100644
--- a/docs/storage/_supported_methods_cdn.rst
+++ b/docs/storage/_supported_methods_cdn.rst
@@ -8,8 +8,6 @@ Provider                      enable container cdn enable object cdn get contain
 `Microsoft Azure (blobs)`_    no                   no                no                    no                
 `Backblaze B2`_               no                   no                no                    no                
 `CloudFiles`_                 yes                  no                yes                   yes               
-`CloudFiles (UK)`_            yes                  no                yes                   yes               
-`CloudFiles (US)`_            yes                  no                yes                   yes               
 `Google Storage`_             no                   no                no                    no                
 `KTUCloud Storage`_           yes                  no                yes                   yes               
 `Nimbus.io`_                  no                   no                no                    no                
@@ -32,8 +30,6 @@ Provider                      enable container cdn enable object cdn get contain
 .. _`Microsoft Azure (blobs)`: http://windows.azure.com/
 .. _`Backblaze B2`: https://www.backblaze.com/b2/
 .. _`CloudFiles`: http://www.rackspace.com/
-.. _`CloudFiles (UK)`: http://www.rackspace.com/
-.. _`CloudFiles (US)`: http://www.rackspace.com/
 .. _`Google Storage`: http://cloud.google.com/
 .. _`KTUCloud Storage`: http://www.rackspace.com/
 .. _`Nimbus.io`: https://nimbus.io/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/storage/_supported_methods_main.rst
----------------------------------------------------------------------
diff --git a/docs/storage/_supported_methods_main.rst b/docs/storage/_supported_methods_main.rst
index 690c052..9f4899f 100644
--- a/docs/storage/_supported_methods_main.rst
+++ b/docs/storage/_supported_methods_main.rst
@@ -8,8 +8,6 @@ Provider                      list containers list objects create container dele
 `Microsoft Azure (blobs)`_    yes             yes          yes              yes              yes           yes                     yes             yes                       yes          
 `Backblaze B2`_               yes             yes          yes              yes              yes           yes                     yes             yes                       yes          
 `CloudFiles`_                 yes             yes          yes              yes              yes           yes                     yes             yes                       yes          
-`CloudFiles (UK)`_            yes             yes          yes              yes              yes           yes                     yes             yes                       yes          
-`CloudFiles (US)`_            yes             yes          yes              yes              yes           yes                     yes             yes                       yes          
 `Google Storage`_             yes             yes          yes              yes              yes           yes                     yes             yes                       yes          
 `KTUCloud Storage`_           yes             yes          yes              yes              yes           yes                     yes             yes                       yes          
 `Nimbus.io`_                  yes             no           yes              no               no            no                      no              no                        no           
@@ -32,8 +30,6 @@ Provider                      list containers list objects create container dele
 .. _`Microsoft Azure (blobs)`: http://windows.azure.com/
 .. _`Backblaze B2`: https://www.backblaze.com/b2/
 .. _`CloudFiles`: http://www.rackspace.com/
-.. _`CloudFiles (UK)`: http://www.rackspace.com/
-.. _`CloudFiles (US)`: http://www.rackspace.com/
 .. _`Google Storage`: http://cloud.google.com/
 .. _`KTUCloud Storage`: http://www.rackspace.com/
 .. _`Nimbus.io`: https://nimbus.io/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/storage/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/storage/_supported_providers.rst b/docs/storage/_supported_providers.rst
index f0bf1ff..9c9c498 100644
--- a/docs/storage/_supported_providers.rst
+++ b/docs/storage/_supported_providers.rst
@@ -1,39 +1,35 @@
 .. NOTE: This file has been generated automatically using generate_provider_feature_matrix_table.py script, don't manually edit it
 
-============================= =============================================== ================= ============================================== ====================================
-Provider                      Documentation                                   Provider constant Module                                         Class Name                          
-============================= =============================================== ================= ============================================== ====================================
-`Aliyun OSS`_                                                                 ALIYUN_OSS        :mod:`libcloud.storage.drivers.oss`            :class:`OSSStorageDriver`           
-`PCextreme AuroraObjects`_    :doc:`Click </storage/drivers/auroraobjects>`   AURORAOBJECTS     :mod:`libcloud.storage.drivers.auroraobjects`  :class:`AuroraObjectsStorageDriver` 
-`Microsoft Azure (blobs)`_    :doc:`Click </storage/drivers/azure_blobs>`     AZURE_BLOBS       :mod:`libcloud.storage.drivers.azure_blobs`    :class:`AzureBlobsStorageDriver`    
-`Backblaze B2`_               :doc:`Click </storage/drivers/backblaze_b2>`    BACKBLAZE_B2      :mod:`libcloud.storage.drivers.backblaze_b2`   :class:`BackblazeB2StorageDriver`   
-`CloudFiles`_                                                                 CLOUDFILES        :mod:`libcloud.storage.drivers.cloudfiles`     :class:`CloudFilesStorageDriver`    
-`CloudFiles (UK)`_                                                            CLOUDFILES_UK     :mod:`libcloud.storage.drivers.cloudfiles`     :class:`CloudFilesUKStorageDriver`  
-`CloudFiles (US)`_                                                            CLOUDFILES_US     :mod:`libcloud.storage.drivers.cloudfiles`     :class:`CloudFilesUSStorageDriver`  
-`Google Storage`_             :doc:`Click </storage/drivers/google_storage>`  GOOGLE_STORAGE    :mod:`libcloud.storage.drivers.google_storage` :class:`GoogleStorageDriver`        
-`KTUCloud Storage`_                                                           KTUCLOUD          :mod:`libcloud.storage.drivers.ktucloud`       :class:`KTUCloudStorageDriver`      
-`Nimbus.io`_                                                                  NIMBUS            :mod:`libcloud.storage.drivers.nimbus`         :class:`NimbusStorageDriver`        
-`Ninefold`_                                                                   NINEFOLD          :mod:`libcloud.storage.drivers.ninefold`       :class:`NinefoldStorageDriver`      
-`OpenStack Swift`_            :doc:`Click </storage/drivers/openstack_swift>` OPENSTACK_SWIFT   :mod:`libcloud.storage.drivers.cloudfiles`     :class:`OpenStackSwiftStorageDriver`
-`Amazon S3 (standard)`_       :doc:`Click </storage/drivers/s3>`              S3                :mod:`libcloud.storage.drivers.s3`             :class:`S3StorageDriver`            
-`Amazon S3 (ap-northeast-1)`_                                                 S3_AP_NORTHEAST   :mod:`libcloud.storage.drivers.s3`             :class:`S3APNE1StorageDriver`       
-`Amazon S3 (ap-northeast-1)`_                                                 S3_AP_NORTHEAST1  :mod:`libcloud.storage.drivers.s3`             :class:`S3APNE1StorageDriver`       
-`Amazon S3 (ap-northeast-2)`_                                                 S3_AP_NORTHEAST2  :mod:`libcloud.storage.drivers.s3`             :class:`S3APNE2StorageDriver`       
-`Amazon S3 (ap-southeast-1)`_                                                 S3_AP_SOUTHEAST   :mod:`libcloud.storage.drivers.s3`             :class:`S3APSEStorageDriver`        
-`Amazon S3 (eu-west-1)`_                                                      S3_EU_WEST        :mod:`libcloud.storage.drivers.s3`             :class:`S3EUWestStorageDriver`      
-`Amazon S3 (standard)`_                                                       S3_RGW_OUTSCALE   :mod:`libcloud.storage.drivers.s3`             :class:`S3RGWOutscaleStorageDriver` 
-`Amazon S3 (sa-east-1)`_                                                      S3_SA_EAST        :mod:`libcloud.storage.drivers.s3`             :class:`S3SAEastStorageDriver`      
-`Amazon S3 (us-west-1)`_                                                      S3_US_WEST        :mod:`libcloud.storage.drivers.s3`             :class:`S3USWestStorageDriver`      
-`Amazon S3 (us-west-2)`_                                                      S3_US_WEST_OREGON :mod:`libcloud.storage.drivers.s3`             :class:`S3USWestOregonStorageDriver`
-============================= =============================================== ================= ============================================== ====================================
+============================= =============================================== ================= ============================ ============================================== ====================================
+Provider                      Documentation                                   Provider Constant Supported Regions            Module                                         Class Name                          
+============================= =============================================== ================= ============================ ============================================== ====================================
+`Aliyun OSS`_                                                                 ALIYUN_OSS        single region driver         :mod:`libcloud.storage.drivers.oss`            :class:`OSSStorageDriver`           
+`PCextreme AuroraObjects`_    :doc:`Click </storage/drivers/auroraobjects>`   AURORAOBJECTS     single region driver         :mod:`libcloud.storage.drivers.auroraobjects`  :class:`AuroraObjectsStorageDriver` 
+`Microsoft Azure (blobs)`_    :doc:`Click </storage/drivers/azure_blobs>`     AZURE_BLOBS       single region driver         :mod:`libcloud.storage.drivers.azure_blobs`    :class:`AzureBlobsStorageDriver`    
+`Backblaze B2`_               :doc:`Click </storage/drivers/backblaze_b2>`    BACKBLAZE_B2      single region driver         :mod:`libcloud.storage.drivers.backblaze_b2`   :class:`BackblazeB2StorageDriver`   
+`CloudFiles`_                                                                 CLOUDFILES        ord, dfw, iad, lon, hkg, syd :mod:`libcloud.storage.drivers.cloudfiles`     :class:`CloudFilesStorageDriver`    
+`Google Storage`_             :doc:`Click </storage/drivers/google_storage>`  GOOGLE_STORAGE    single region driver         :mod:`libcloud.storage.drivers.google_storage` :class:`GoogleStorageDriver`        
+`KTUCloud Storage`_                                                           KTUCLOUD          ord, dfw, iad, lon, hkg, syd :mod:`libcloud.storage.drivers.ktucloud`       :class:`KTUCloudStorageDriver`      
+`Nimbus.io`_                                                                  NIMBUS            single region driver         :mod:`libcloud.storage.drivers.nimbus`         :class:`NimbusStorageDriver`        
+`Ninefold`_                                                                   NINEFOLD          single region driver         :mod:`libcloud.storage.drivers.ninefold`       :class:`NinefoldStorageDriver`      
+`OpenStack Swift`_            :doc:`Click </storage/drivers/openstack_swift>` OPENSTACK_SWIFT   ord, dfw, iad, lon, hkg, syd :mod:`libcloud.storage.drivers.cloudfiles`     :class:`OpenStackSwiftStorageDriver`
+`Amazon S3 (standard)`_       :doc:`Click </storage/drivers/s3>`              S3                single region driver         :mod:`libcloud.storage.drivers.s3`             :class:`S3StorageDriver`            
+`Amazon S3 (ap-northeast-1)`_                                                 S3_AP_NORTHEAST   single region driver         :mod:`libcloud.storage.drivers.s3`             :class:`S3APNE1StorageDriver`       
+`Amazon S3 (ap-northeast-1)`_                                                 S3_AP_NORTHEAST1  single region driver         :mod:`libcloud.storage.drivers.s3`             :class:`S3APNE1StorageDriver`       
+`Amazon S3 (ap-northeast-2)`_                                                 S3_AP_NORTHEAST2  single region driver         :mod:`libcloud.storage.drivers.s3`             :class:`S3APNE2StorageDriver`       
+`Amazon S3 (ap-southeast-1)`_                                                 S3_AP_SOUTHEAST   single region driver         :mod:`libcloud.storage.drivers.s3`             :class:`S3APSEStorageDriver`        
+`Amazon S3 (eu-west-1)`_                                                      S3_EU_WEST        single region driver         :mod:`libcloud.storage.drivers.s3`             :class:`S3EUWestStorageDriver`      
+`Amazon S3 (standard)`_                                                       S3_RGW_OUTSCALE   single region driver         :mod:`libcloud.storage.drivers.s3`             :class:`S3RGWOutscaleStorageDriver` 
+`Amazon S3 (sa-east-1)`_                                                      S3_SA_EAST        single region driver         :mod:`libcloud.storage.drivers.s3`             :class:`S3SAEastStorageDriver`      
+`Amazon S3 (us-west-1)`_                                                      S3_US_WEST        single region driver         :mod:`libcloud.storage.drivers.s3`             :class:`S3USWestStorageDriver`      
+`Amazon S3 (us-west-2)`_                                                      S3_US_WEST_OREGON single region driver         :mod:`libcloud.storage.drivers.s3`             :class:`S3USWestOregonStorageDriver`
+============================= =============================================== ================= ============================ ============================================== ====================================
 
 .. _`Aliyun OSS`: http://www.aliyun.com/product/oss
 .. _`PCextreme AuroraObjects`: https://www.pcextreme.com/aurora/objects
 .. _`Microsoft Azure (blobs)`: http://windows.azure.com/
 .. _`Backblaze B2`: https://www.backblaze.com/b2/
 .. _`CloudFiles`: http://www.rackspace.com/
-.. _`CloudFiles (UK)`: http://www.rackspace.com/
-.. _`CloudFiles (US)`: http://www.rackspace.com/
 .. _`Google Storage`: http://cloud.google.com/
 .. _`KTUCloud Storage`: http://www.rackspace.com/
 .. _`Nimbus.io`: https://nimbus.io/


[06/15] libcloud git commit: Introduce new "list_region" class method in the base Driver class.

Posted by to...@apache.org.
Introduce new "list_region" class method in the base Driver class.

This method is to be used with provider drivers which support multiple
regions and "region" constructor arguments. It allows users to enumerate
available regions.


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

Branch: refs/heads/trunk
Commit: 04dbe1891f7e3c90c5f5890f67d4f41c54f3a23b
Parents: 94d1baa
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Thu Mar 31 18:50:34 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 19:10:49 2016 -0700

----------------------------------------------------------------------
 CHANGES.rst                                | 20 +++++++++++++-------
 libcloud/common/base.py                    |  9 +++++++++
 libcloud/compute/drivers/ec2.py            |  7 ++++++-
 libcloud/dns/drivers/rackspace.py          |  7 ++++++-
 libcloud/loadbalancer/drivers/rackspace.py |  3 +++
 libcloud/storage/drivers/cloudfiles.py     |  4 ++++
 6 files changed, 41 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/04dbe189/CHANGES.rst
----------------------------------------------------------------------
diff --git a/CHANGES.rst b/CHANGES.rst
index 6b3048f..b8c2457 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -29,6 +29,19 @@ General
   (GITHUB-711, GITHUB-714, LIBCLOUD-803)
   [Tomaz Muraus, Scott Crunkleton]
 
+* Remove deprecated provider constants with the region in the name and related
+  driver classes (e.g. ``EC2_US_EAST``, etc.).
+
+  Those drivers have moved to single provider constant + ``region`` constructor
+  argument model.
+  [Tomaz Muraus]
+
+* Introduce new `list_regions`` class method on the base driver class. This
+  method is to be used with provider drivers which support multiple regions and
+  ``region`` constructor argument. It allows users to enumerate available /
+  supported regions.
+  [Tomaz Muraus]
+
 Compute
 ~~~~~~~
 
@@ -107,13 +120,6 @@ Compute
   (LIBCLOUD-802, GITHUB-712)
   [Sam Song]
 
-* Remove deprecated provider constants with the region in the name and related
-  driver classes (e.g. `EC2_US_EAST``, etc.).
-
-  Those drivers have moved to single provider constant + ``region`` constructor
-  argument model.
-  [Tomaz Muraus]
-
 Storage
 ~~~~~~~
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/04dbe189/libcloud/common/base.py
----------------------------------------------------------------------
diff --git a/libcloud/common/base.py b/libcloud/common/base.py
index 1f353ab..0cdb257 100644
--- a/libcloud/common/base.py
+++ b/libcloud/common/base.py
@@ -1162,6 +1162,15 @@ class BaseDriver(object):
         self.connection.driver = self
         self.connection.connect()
 
+    @classmethod
+    def list_regions(cls):
+        """
+        Method which returns a list of the available / supported regions.
+
+        :rtype: ``list`` of ``str``
+        """
+        return []
+
     def _ex_connection_class_kwargs(self):
         """
         Return extra connection keyword arguments which are passed to the

http://git-wip-us.apache.org/repos/asf/libcloud/blob/04dbe189/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index 9ac4793..f21b49e 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -6321,7 +6321,8 @@ class EC2NodeDriver(BaseEC2NodeDriver):
         if hasattr(self, '_region'):
             region = self._region
 
-        if region not in VALID_EC2_REGIONS:
+        valid_regions = self.list_regions()
+        if region not in valid_regions:
             raise ValueError('Invalid region: %s' % (region))
 
         details = REGION_DETAILS[region]
@@ -6337,6 +6338,10 @@ class EC2NodeDriver(BaseEC2NodeDriver):
                                             secure=secure, host=host,
                                             port=port, **kwargs)
 
+    @classmethod
+    def list_regions(cls):
+        return VALID_EC2_REGIONS
+
 
 class IdempotentParamError(LibcloudError):
     """

http://git-wip-us.apache.org/repos/asf/libcloud/blob/04dbe189/libcloud/dns/drivers/rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/dns/drivers/rackspace.py b/libcloud/dns/drivers/rackspace.py
index 4e0d705..6d231e0 100644
--- a/libcloud/dns/drivers/rackspace.py
+++ b/libcloud/dns/drivers/rackspace.py
@@ -162,7 +162,8 @@ class RackspaceDNSDriver(DNSDriver, OpenStackDriverMixin):
 
     def __init__(self, key, secret=None, secure=True, host=None, port=None,
                  region='us', **kwargs):
-        if region not in ['us', 'uk']:
+        valid_regions = self.list_regions()
+        if region not in valid_regions:
             raise ValueError('Invalid region: %s' % (region))
 
         OpenStackDriverMixin.__init__(self, **kwargs)
@@ -181,6 +182,10 @@ class RackspaceDNSDriver(DNSDriver, OpenStackDriverMixin):
         RecordType.TXT: 'TXT',
     }
 
+    @classmethod
+    def list_regions(cls):
+        return ['us', 'uk']
+
     def iterate_zones(self):
         offset = 0
         limit = 100

http://git-wip-us.apache.org/repos/asf/libcloud/blob/04dbe189/libcloud/loadbalancer/drivers/rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/drivers/rackspace.py b/libcloud/loadbalancer/drivers/rackspace.py
index 898c0bc..a24e516 100644
--- a/libcloud/loadbalancer/drivers/rackspace.py
+++ b/libcloud/loadbalancer/drivers/rackspace.py
@@ -324,6 +324,9 @@ class RackspaceLBDriver(Driver, OpenStackDriverMixin):
         super(RackspaceLBDriver, self).__init__(key=key, secret=secret,
                                                 secure=secure, host=host,
                                                 port=port, region=region)
+    @classmethod
+    def list_regions(cls):
+        return ENDPOINT_ARGS_MAP.keys()
 
     def _ex_connection_class_kwargs(self):
         endpoint_args = ENDPOINT_ARGS_MAP[self.region]

http://git-wip-us.apache.org/repos/asf/libcloud/blob/04dbe189/libcloud/storage/drivers/cloudfiles.py
----------------------------------------------------------------------
diff --git a/libcloud/storage/drivers/cloudfiles.py b/libcloud/storage/drivers/cloudfiles.py
index 16d6d16..2502d42 100644
--- a/libcloud/storage/drivers/cloudfiles.py
+++ b/libcloud/storage/drivers/cloudfiles.py
@@ -265,6 +265,10 @@ class CloudFilesStorageDriver(StorageDriver, OpenStackDriverMixin):
                                                       port=port, region=region,
                                                       **kwargs)
 
+    @classmethod
+    def list_regions(cls):
+        return ['ord', 'dfw', 'iad', 'lon', 'hkg', 'syd']
+
     def iterate_containers(self):
         response = self.connection.request('')
 


[04/15] libcloud git commit: Reduce code duplication by moving commonon functionality into new libcloud.common.providers module.

Posted by to...@apache.org.
Reduce code duplication by moving commonon functionality into new
libcloud.common.providers module.

Add an alias to the old locations in libcloud.utils.misc and update affected
code.


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

Branch: refs/heads/trunk
Commit: 2f73fdf4e9955509d99645ef786faf67ab783415
Parents: a7337fe
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Tue Mar 15 15:17:16 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 18:32:19 2016 -0700

----------------------------------------------------------------------
 libcloud/backup/providers.py            |   9 ++-
 libcloud/common/providers.py            | 107 +++++++++++++++++++++++++++
 libcloud/compute/providers.py           |  35 ++-------
 libcloud/container/providers.py         |   9 ++-
 libcloud/dns/providers.py               |   9 ++-
 libcloud/loadbalancer/providers.py      |   9 ++-
 libcloud/storage/providers.py           |   9 ++-
 libcloud/test/compute/test_rackspace.py |   1 +
 libcloud/utils/misc.py                  |  49 ++----------
 9 files changed, 146 insertions(+), 91 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/2f73fdf4/libcloud/backup/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/backup/providers.py b/libcloud/backup/providers.py
index dea0cf5..16cd610 100644
--- a/libcloud/backup/providers.py
+++ b/libcloud/backup/providers.py
@@ -13,9 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from libcloud.utils.misc import get_driver as get_provider_driver
-from libcloud.utils.misc import set_driver as set_provider_driver
 from libcloud.backup.types import Provider
+from libcloud.common.providers import get_driver as _get_provider_driver
+from libcloud.common.providers import set_driver as _set_provider_driver
 
 DRIVERS = {
     Provider.DUMMY:
@@ -30,8 +30,9 @@ DRIVERS = {
 
 
 def get_driver(provider):
-    return get_provider_driver(DRIVERS, provider)
+    return _get_provider_driver(drivers=DRIVERS, provider=provider)
 
 
 def set_driver(provider, module, klass):
-    return set_provider_driver(DRIVERS, provider, module, klass)
+    return _set_provider_driver(drivers=DRIVERS, provider=provider,
+                                module=module, klass=klass)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/2f73fdf4/libcloud/common/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/common/providers.py b/libcloud/common/providers.py
new file mode 100644
index 0000000..b8ad271
--- /dev/null
+++ b/libcloud/common/providers.py
@@ -0,0 +1,107 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""
+Common methods for obtaining a reference to the provider driver class.
+"""
+
+import sys
+
+__all__ = [
+    'get_driver',
+    'set_driver'
+]
+
+
+def get_driver(drivers, provider, deprecated_providers=None,
+               deprecated_constants=None):
+    """
+    Get a driver.
+
+    :param drivers: Dictionary containing valid providers.
+    :type drivers: ``dict``
+
+    :param provider: Id (constant) of provider to get the driver for.
+    :type provider: :class:`libcloud.types.Provider`
+
+    :param: deprecated_providers: Dictionary with information about the
+            deprecated drivers.
+    :type deprecated_providers: ``dict``
+
+    :param: deprecated_constants: Dictionary with information about the
+            deprecated provider constants.
+    :type deprecated_constants: ``dict``
+    """
+    # Those providers have been shut down or similar.
+    deprecated_providers = deprecated_providers or {}
+    if provider in deprecated_providers:
+        url = deprecated_providers[provider]['url']
+        reason = deprecated_providers[provider]['reason']
+        msg = ('Provider no longer supported: %s, please visit: %s' %
+               (url, reason))
+        raise Exception(msg)
+
+    # Those drivers have moved to "region" constructor argument model
+    deprecated_constants = deprecated_constants or {}
+    if provider in deprecated_constants:
+        old_name = provider.upper()
+        new_name = deprecated_constants[provider].upper()
+
+        url = 'https://s.apache.org/lc0140un'
+        msg = ('Provider constant "%s" has been removed. New constant '
+               'is now called "%s".\n'
+               'For more information on this change and how to modify your '
+               'code to work with it, please visit: %s' %
+               (old_name, new_name, url))
+        raise Exception(msg)
+
+    if provider in drivers:
+        mod_name, driver_name = drivers[provider]
+        _mod = __import__(mod_name, globals(), locals(), [driver_name])
+        return getattr(_mod, driver_name)
+
+    raise AttributeError('Provider %s does not exist' % (provider))
+
+
+def set_driver(drivers, provider, module, klass):
+    """
+    Sets a driver.
+
+    :param drivers: Dictionary to store providers.
+    :param provider: Id of provider to set driver for
+
+    :type provider: :class:`libcloud.types.Provider`
+    :param module: The module which contains the driver
+
+    :type module: L
+    :param klass: The driver class name
+
+    :type klass:
+    """
+
+    if provider in drivers:
+        raise AttributeError('Provider %s already registered' % (provider))
+
+    drivers[provider] = (module, klass)
+
+    # Check if this driver is valid
+    try:
+        driver = get_driver(drivers, provider)
+    except (ImportError, AttributeError):
+        exp = sys.exc_info()[1]
+        drivers.pop(provider)
+        raise exp
+
+    return driver

http://git-wip-us.apache.org/repos/asf/libcloud/blob/2f73fdf4/libcloud/compute/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/providers.py b/libcloud/compute/providers.py
index 687a653..b186757 100644
--- a/libcloud/compute/providers.py
+++ b/libcloud/compute/providers.py
@@ -16,9 +16,9 @@
 Provider related utilities
 """
 
-from libcloud.utils.misc import get_driver as _get_provider_driver
-from libcloud.utils.misc import set_driver as _set_provider_driver
 from libcloud.compute.types import Provider
+from libcloud.common.providers import get_driver as _get_provider_driver
+from libcloud.common.providers import set_driver as _set_provider_driver
 from libcloud.compute.types import OLD_CONSTANT_TO_NEW_MAPPING
 from libcloud.compute.deprecated import DEPRECATED_DRIVERS
 
@@ -143,34 +143,13 @@ DRIVERS = {
     ('libcloud.compute.drivers.ecs', 'ECSDriver'),
 }
 
-DEPRECTATED_PROVIDER_CONSTANTS = OLD_CONSTANT_TO_NEW_MAPPING.keys()
-
 
 def get_driver(provider):
-    # Those providers have been shut down or similar.
-    if provider in DEPRECATED_DRIVERS:
-        url = DEPRECATED_DRIVERS[provider]['url']
-        reason = DEPRECATED_DRIVERS[provider]['reason']
-        msg = ('Provider no longer supported: %s, please visit: %s' %
-               (url, reason))
-        raise Exception(msg)
-
-    # Those drivers have moved to "region" constructor argument model
-    if provider in DEPRECTATED_PROVIDER_CONSTANTS:
-        id_to_name_map = dict([(v, k) for k, v in Provider.__dict__.items()])
-        old_name = id_to_name_map[provider]
-        new_name = id_to_name_map[OLD_CONSTANT_TO_NEW_MAPPING[provider]]
-
-        url = 'http://s.apache.org/lc0140un'
-        msg = ('Provider constant %s has been removed. New constant '
-               'is now called %s.\n'
-               'For more information on this change and how to modify your '
-               'code to work with it, please visit: %s' %
-               (old_name, new_name, url))
-        raise Exception(msg)
-
-    return _get_provider_driver(DRIVERS, provider)
+    return _get_provider_driver(drivers=DRIVERS, provider=provider,
+                                deprecated_providers=DEPRECATED_DRIVERS,
+                                deprecated_constants=OLD_CONSTANT_TO_NEW_MAPPING)
 
 
 def set_driver(provider, module, klass):
-    return _set_provider_driver(DRIVERS, provider, module, klass)
+    return _set_provider_driver(drivers=DRIVERS, provider=provider,
+                                module=module, klass=klass)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/2f73fdf4/libcloud/container/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/container/providers.py b/libcloud/container/providers.py
index 47897ed..16ab58c 100644
--- a/libcloud/container/providers.py
+++ b/libcloud/container/providers.py
@@ -13,9 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from libcloud.utils.misc import get_driver as get_provider_driver
-from libcloud.utils.misc import set_driver as set_provider_driver
 from libcloud.container.types import Provider
+from libcloud.common.providers import get_driver as _get_provider_driver
+from libcloud.common.providers import set_driver as _set_provider_driver
 
 DRIVERS = {
     Provider.DUMMY:
@@ -32,8 +32,9 @@ DRIVERS = {
 
 
 def get_driver(provider):
-    return get_provider_driver(DRIVERS, provider)
+    return _get_provider_driver(drivers=DRIVERS, provider=provider)
 
 
 def set_driver(provider, module, klass):
-    return set_provider_driver(DRIVERS, provider, module, klass)
+    return _set_provider_driver(drivers=DRIVERS, provider=provider,
+                                module=module, klass=klass)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/2f73fdf4/libcloud/dns/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/dns/providers.py b/libcloud/dns/providers.py
index 5f2e56a..c7ad4e4 100644
--- a/libcloud/dns/providers.py
+++ b/libcloud/dns/providers.py
@@ -13,9 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from libcloud.utils.misc import get_driver as get_provider_driver
-from libcloud.utils.misc import set_driver as set_provider_driver
 from libcloud.dns.types import Provider
+from libcloud.common.providers import get_driver as _get_provider_driver
+from libcloud.common.providers import set_driver as _set_provider_driver
 
 DRIVERS = {
     Provider.DUMMY:
@@ -69,8 +69,9 @@ DRIVERS = {
 
 
 def get_driver(provider):
-    return get_provider_driver(DRIVERS, provider)
+    return _get_provider_driver(drivers=DRIVERS, provider=provider)
 
 
 def set_driver(provider, module, klass):
-    return set_provider_driver(DRIVERS, provider, module, klass)
+    return _set_provider_driver(drivers=DRIVERS, provider=provider,
+                                module=module, klass=klass)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/2f73fdf4/libcloud/loadbalancer/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/providers.py b/libcloud/loadbalancer/providers.py
index f60e6d3..ef0f26b 100644
--- a/libcloud/loadbalancer/providers.py
+++ b/libcloud/loadbalancer/providers.py
@@ -13,9 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from libcloud.utils.misc import get_driver as get_provider_driver
-from libcloud.utils.misc import set_driver as set_provider_driver
 from libcloud.loadbalancer.types import Provider
+from libcloud.common.providers import get_driver as _get_provider_driver
+from libcloud.common.providers import set_driver as _set_provider_driver
 
 __all__ = [
     "Provider",
@@ -54,8 +54,9 @@ DRIVERS = {
 
 
 def get_driver(provider):
-    return get_provider_driver(DRIVERS, provider)
+    return _get_provider_driver(drivers=DRIVERS, provider=provider)
 
 
 def set_driver(provider, module, klass):
-    return set_provider_driver(DRIVERS, provider, module, klass)
+    return _set_provider_driver(drivers=DRIVERS, provider=provider,
+                                module=module, klass=klass)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/2f73fdf4/libcloud/storage/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/storage/providers.py b/libcloud/storage/providers.py
index 1d38558..0eaaf8c 100644
--- a/libcloud/storage/providers.py
+++ b/libcloud/storage/providers.py
@@ -13,9 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from libcloud.utils.misc import get_driver as get_provider_driver
-from libcloud.utils.misc import set_driver as set_provider_driver
 from libcloud.storage.types import Provider
+from libcloud.common.providers import get_driver as _get_provider_driver
+from libcloud.common.providers import set_driver as _set_provider_driver
 
 DRIVERS = {
     Provider.DUMMY:
@@ -74,8 +74,9 @@ DRIVERS = {
 
 
 def get_driver(provider):
-    return get_provider_driver(DRIVERS, provider)
+    return _get_provider_driver(drivers=DRIVERS, provider=provider)
 
 
 def set_driver(provider, module, klass):
-    return set_provider_driver(DRIVERS, provider, module, klass)
+    return _set_provider_driver(drivers=DRIVERS, provider=provider,
+                                module=module, klass=klass)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/2f73fdf4/libcloud/test/compute/test_rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_rackspace.py b/libcloud/test/compute/test_rackspace.py
index d5e46cb..581b198 100644
--- a/libcloud/test/compute/test_rackspace.py
+++ b/libcloud/test/compute/test_rackspace.py
@@ -51,6 +51,7 @@ class RackspaceusFirstGenUsTests(OpenStack_1_0_Tests):
                 get_driver(provider)
             except Exception:
                 e = sys.exc_info()[1]
+                print str(e)
                 self.assertTrue(str(e).find('has been removed') != -1)
             else:
                 self.fail('Exception was not thrown')

http://git-wip-us.apache.org/repos/asf/libcloud/blob/2f73fdf4/libcloud/utils/misc.py
----------------------------------------------------------------------
diff --git a/libcloud/utils/misc.py b/libcloud/utils/misc.py
index 01acba1..c6d6f7b 100644
--- a/libcloud/utils/misc.py
+++ b/libcloud/utils/misc.py
@@ -24,6 +24,8 @@ from functools import wraps
 
 from libcloud.utils.py3 import httplib
 from libcloud.common.exceptions import RateLimitReachedError
+from libcloud.common.providers import get_driver as _get_driver
+from libcloud.common.providers import set_driver as _set_driver
 
 __all__ = [
     'find',
@@ -65,49 +67,10 @@ def find(l, predicate):
     return results[0] if len(results) > 0 else None
 
 
-def get_driver(drivers, provider):
-    """
-    Get a driver.
-
-    :param drivers: Dictionary containing valid providers.
-    :param provider: Id of provider to get driver
-    :type provider: :class:`libcloud.types.Provider`
-    """
-    if provider in drivers:
-        mod_name, driver_name = drivers[provider]
-        _mod = __import__(mod_name, globals(), locals(), [driver_name])
-        return getattr(_mod, driver_name)
-
-    raise AttributeError('Provider %s does not exist' % (provider))
-
-
-def set_driver(drivers, provider, module, klass):
-    """
-    Sets a driver.
-
-    :param drivers: Dictionary to store providers.
-    :param provider: Id of provider to set driver for
-    :type provider: :class:`libcloud.types.Provider`
-    :param module: The module which contains the driver
-    :type module: L
-    :param klass: The driver class name
-    :type klass:
-    """
-
-    if provider in drivers:
-        raise AttributeError('Provider %s already registered' % (provider))
-
-    drivers[provider] = (module, klass)
-
-    # Check if this driver is valid
-    try:
-        driver = get_driver(drivers, provider)
-    except (ImportError, AttributeError):
-        exp = sys.exc_info()[1]
-        drivers.pop(provider)
-        raise exp
-
-    return driver
+# Note: Those are aliases for backward-compatibility for functions which have
+# been moved to "libcloud.common.providers" module
+get_driver = _get_driver
+set_driver = _set_driver
 
 
 def merge_valid_keys(params, valid_keys, extra):


[07/15] libcloud git commit: Update EC2 provider constant value.

Posted by to...@apache.org.
Update EC2 provider constant value.


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

Branch: refs/heads/trunk
Commit: fe6c8a491f0c4b205b76069d1fef2c31e0e97897
Parents: 04dbe18
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Thu Mar 31 19:15:43 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 19:15:43 2016 -0700

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


http://git-wip-us.apache.org/repos/asf/libcloud/blob/fe6c8a49/libcloud/compute/types.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/types.py b/libcloud/compute/types.py
index 5b9b768..d1e72d5 100644
--- a/libcloud/compute/types.py
+++ b/libcloud/compute/types.py
@@ -104,7 +104,7 @@ class Provider(Type):
     """
     AZURE = 'azure'
     DUMMY = 'dummy'
-    EC2 = 'ec2_us_east'
+    EC2 = 'ec2'
     RACKSPACE = 'rackspace'
     GCE = 'gce'
     GOGRID = 'gogrid'


[03/15] libcloud git commit: Drop support for provider constants with region in the name.

Posted by to...@apache.org.
Drop support for provider constants with region in the name.

Also remove related and deprecated old class names.


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

Branch: refs/heads/trunk
Commit: a7337fedcd02f5ab68f017e245c2d60f5d6398e5
Parents: 705206a
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Tue Mar 15 14:44:52 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 18:32:19 2016 -0700

----------------------------------------------------------------------
 CHANGES.rst                             |  7 +++
 libcloud/compute/drivers/ec2.py         | 67 ----------------------------
 libcloud/compute/providers.py           | 49 ++++----------------
 libcloud/compute/types.py               | 43 +++++++++++++-----
 libcloud/storage/drivers/cloudfiles.py  | 26 -----------
 libcloud/test/compute/test_ec2.py       | 48 --------------------
 libcloud/test/compute/test_rackspace.py |  8 +++-
 7 files changed, 55 insertions(+), 193 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/a7337fed/CHANGES.rst
----------------------------------------------------------------------
diff --git a/CHANGES.rst b/CHANGES.rst
index 0414d88..6b3048f 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -107,6 +107,13 @@ Compute
   (LIBCLOUD-802, GITHUB-712)
   [Sam Song]
 
+* Remove deprecated provider constants with the region in the name and related
+  driver classes (e.g. `EC2_US_EAST``, etc.).
+
+  Those drivers have moved to single provider constant + ``region`` constructor
+  argument model.
+  [Tomaz Muraus]
+
 Storage
 ~~~~~~~
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/a7337fed/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index 07637c8..9ac4793 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -6348,73 +6348,6 @@ class IdempotentParamError(LibcloudError):
         return repr(self.value)
 
 
-class EC2EUNodeDriver(EC2NodeDriver):
-    """
-    Driver class for EC2 in the Western Europe Region.
-    """
-    name = 'Amazon EC2 (eu-west-1)'
-    _region = 'eu-west-1'
-
-
-class EC2USWestNodeDriver(EC2NodeDriver):
-    """
-    Driver class for EC2 in the Western US Region
-    """
-    name = 'Amazon EC2 (us-west-1)'
-    _region = 'us-west-1'
-
-
-class EC2USWestOregonNodeDriver(EC2NodeDriver):
-    """
-    Driver class for EC2 in the US West Oregon region.
-    """
-    name = 'Amazon EC2 (us-west-2)'
-    _region = 'us-west-2'
-
-
-class EC2APSENodeDriver(EC2NodeDriver):
-    """
-    Driver class for EC2 in the Southeast Asia Pacific Region.
-    """
-    name = 'Amazon EC2 (ap-southeast-1)'
-    _region = 'ap-southeast-1'
-
-
-class EC2APNE1NodeDriver(EC2NodeDriver):
-    """
-    Driver class for EC2 in the Northeast Asia Pacific 1(Tokyo) Region.
-    """
-    name = 'Amazon EC2 (ap-northeast-1)'
-    _region = 'ap-northeast-1'
-
-
-EC2APNENodeDriver = EC2APNE1NodeDriver  # fallback
-
-
-class EC2APNE2NodeDriver(EC2NodeDriver):
-    """
-    Driver class for EC2 in the Northeast Asia Pacific 2(Seoul) Region.
-    """
-    name = 'Amazon EC2 (ap-northeast-2)'
-    _region = 'ap-northeast-2'
-
-
-class EC2SAEastNodeDriver(EC2NodeDriver):
-    """
-    Driver class for EC2 in the South America (Sao Paulo) Region.
-    """
-    name = 'Amazon EC2 (sa-east-1)'
-    _region = 'sa-east-1'
-
-
-class EC2APSESydneyNodeDriver(EC2NodeDriver):
-    """
-    Driver class for EC2 in the Southeast Asia Pacific (Sydney) Region.
-    """
-    name = 'Amazon EC2 (ap-southeast-2)'
-    _region = 'ap-southeast-2'
-
-
 class EucConnection(EC2Connection):
     """
     Connection class for Eucalyptus

http://git-wip-us.apache.org/repos/asf/libcloud/blob/a7337fed/libcloud/compute/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/providers.py b/libcloud/compute/providers.py
index dfe7e5d..687a653 100644
--- a/libcloud/compute/providers.py
+++ b/libcloud/compute/providers.py
@@ -18,7 +18,7 @@ Provider related utilities
 
 from libcloud.utils.misc import get_driver as _get_provider_driver
 from libcloud.utils.misc import set_driver as _set_provider_driver
-from libcloud.compute.types import Provider, DEPRECATED_RACKSPACE_PROVIDERS
+from libcloud.compute.types import Provider
 from libcloud.compute.types import OLD_CONSTANT_TO_NEW_MAPPING
 from libcloud.compute.deprecated import DEPRECATED_DRIVERS
 
@@ -32,46 +32,12 @@ DRIVERS = {
     ('libcloud.compute.drivers.azure', 'AzureNodeDriver'),
     Provider.DUMMY:
     ('libcloud.compute.drivers.dummy', 'DummyNodeDriver'),
-    Provider.EC2_US_EAST:
+    Provider.EC2:
     ('libcloud.compute.drivers.ec2', 'EC2NodeDriver'),
-    Provider.EC2_EU_WEST:
-    ('libcloud.compute.drivers.ec2', 'EC2EUNodeDriver'),
-    Provider.EC2_US_WEST:
-    ('libcloud.compute.drivers.ec2', 'EC2USWestNodeDriver'),
-    Provider.EC2_US_WEST_OREGON:
-    ('libcloud.compute.drivers.ec2', 'EC2USWestOregonNodeDriver'),
-    Provider.EC2_AP_SOUTHEAST:
-    ('libcloud.compute.drivers.ec2', 'EC2APSENodeDriver'),
-    Provider.EC2_AP_NORTHEAST:
-    ('libcloud.compute.drivers.ec2', 'EC2APNENodeDriver'),
-    Provider.EC2_AP_NORTHEAST1:
-    ('libcloud.compute.drivers.ec2', 'EC2APNE1NodeDriver'),
-    Provider.EC2_AP_NORTHEAST2:
-    ('libcloud.compute.drivers.ec2', 'EC2APNE2NodeDriver'),
-    Provider.EC2_SA_EAST:
-    ('libcloud.compute.drivers.ec2', 'EC2SAEastNodeDriver'),
-    Provider.EC2_AP_SOUTHEAST2:
-    ('libcloud.compute.drivers.ec2', 'EC2APSESydneyNodeDriver'),
     Provider.ECP:
     ('libcloud.compute.drivers.ecp', 'ECPNodeDriver'),
     Provider.ELASTICHOSTS:
     ('libcloud.compute.drivers.elastichosts', 'ElasticHostsNodeDriver'),
-    Provider.ELASTICHOSTS_UK1:
-    ('libcloud.compute.drivers.elastichosts', 'ElasticHostsUK1NodeDriver'),
-    Provider.ELASTICHOSTS_UK2:
-    ('libcloud.compute.drivers.elastichosts', 'ElasticHostsUK2NodeDriver'),
-    Provider.ELASTICHOSTS_US1:
-    ('libcloud.compute.drivers.elastichosts', 'ElasticHostsUS1NodeDriver'),
-    Provider.ELASTICHOSTS_US2:
-    ('libcloud.compute.drivers.elastichosts', 'ElasticHostsUS2NodeDriver'),
-    Provider.ELASTICHOSTS_US3:
-    ('libcloud.compute.drivers.elastichosts', 'ElasticHostsUS3NodeDriver'),
-    Provider.ELASTICHOSTS_CA1:
-    ('libcloud.compute.drivers.elastichosts', 'ElasticHostsCA1NodeDriver'),
-    Provider.ELASTICHOSTS_AU1:
-    ('libcloud.compute.drivers.elastichosts', 'ElasticHostsAU1NodeDriver'),
-    Provider.ELASTICHOSTS_CN1:
-    ('libcloud.compute.drivers.elastichosts', 'ElasticHostsCN1NodeDriver'),
     Provider.SKALICLOUD:
     ('libcloud.compute.drivers.skalicloud', 'SkaliCloudNodeDriver'),
     Provider.SERVERLOVE:
@@ -175,21 +141,22 @@ DRIVERS = {
     ('libcloud.compute.drivers.ntta', 'NTTAmericaNodeDriver'),
     Provider.ALIYUN_ECS:
     ('libcloud.compute.drivers.ecs', 'ECSDriver'),
-
-    # Deprecated
-    Provider.CLOUDSIGMA_US:
-    ('libcloud.compute.drivers.cloudsigma', 'CloudSigmaLvsNodeDriver'),
 }
 
+DEPRECTATED_PROVIDER_CONSTANTS = OLD_CONSTANT_TO_NEW_MAPPING.keys()
+
 
 def get_driver(provider):
+    # Those providers have been shut down or similar.
     if provider in DEPRECATED_DRIVERS:
         url = DEPRECATED_DRIVERS[provider]['url']
         reason = DEPRECATED_DRIVERS[provider]['reason']
         msg = ('Provider no longer supported: %s, please visit: %s' %
                (url, reason))
         raise Exception(msg)
-    if provider in DEPRECATED_RACKSPACE_PROVIDERS:
+
+    # Those drivers have moved to "region" constructor argument model
+    if provider in DEPRECTATED_PROVIDER_CONSTANTS:
         id_to_name_map = dict([(v, k) for k, v in Provider.__dict__.items()])
         old_name = id_to_name_map[provider]
         new_name = id_to_name_map[OLD_CONSTANT_TO_NEW_MAPPING[provider]]

http://git-wip-us.apache.org/repos/asf/libcloud/blob/a7337fed/libcloud/compute/types.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/types.py b/libcloud/compute/types.py
index eb19bf8..17f9ef5 100644
--- a/libcloud/compute/types.py
+++ b/libcloud/compute/types.py
@@ -30,7 +30,6 @@ __all__ = [
     "MalformedResponseError",
     "InvalidCredsError",
     "InvalidCredsException",
-    "DEPRECATED_RACKSPACE_PROVIDERS",
     "OLD_CONSTANT_TO_NEW_MAPPING"
 ]
 
@@ -168,7 +167,13 @@ class Provider(Type):
     KILI = 'kili'
     ONAPP = 'onapp'
 
-    # Deprecated constants which are still supported
+    # Deprecated constants which aren't supported anymore
+    RACKSPACE_UK = 'rackspace_uk'
+    RACKSPACE_NOVA_BETA = 'rackspace_nova_beta'
+    RACKSPACE_NOVA_DFW = 'rackspace_nova_dfw'
+    RACKSPACE_NOVA_LON = 'rackspace_nova_lon'
+    RACKSPACE_NOVA_ORD = 'rackspace_nova_ord'
+
     EC2_US_EAST = 'ec2_us_east'
     EC2_EU = 'ec2_eu_west'  # deprecated name
     EC2_EU_WEST = 'ec2_eu_west'
@@ -192,13 +197,6 @@ class Provider(Type):
 
     CLOUDSIGMA_US = 'cloudsigma_us'
 
-    # Deprecated constants which aren't supported anymore
-    RACKSPACE_UK = 'rackspace_uk'
-    RACKSPACE_NOVA_BETA = 'rackspace_nova_beta'
-    RACKSPACE_NOVA_DFW = 'rackspace_nova_dfw'
-    RACKSPACE_NOVA_LON = 'rackspace_nova_lon'
-    RACKSPACE_NOVA_ORD = 'rackspace_nova_ord'
-
     # Removed
     # SLICEHOST = 'slicehost'
 
@@ -209,13 +207,38 @@ DEPRECATED_RACKSPACE_PROVIDERS = [Provider.RACKSPACE_UK,
                                   Provider.RACKSPACE_NOVA_LON,
                                   Provider.RACKSPACE_NOVA_ORD]
 OLD_CONSTANT_TO_NEW_MAPPING = {
+    # Rackspace
     Provider.RACKSPACE: Provider.RACKSPACE_FIRST_GEN,
     Provider.RACKSPACE_UK: Provider.RACKSPACE_FIRST_GEN,
 
     Provider.RACKSPACE_NOVA_BETA: Provider.RACKSPACE,
     Provider.RACKSPACE_NOVA_DFW: Provider.RACKSPACE,
     Provider.RACKSPACE_NOVA_LON: Provider.RACKSPACE,
-    Provider.RACKSPACE_NOVA_ORD: Provider.RACKSPACE
+    Provider.RACKSPACE_NOVA_ORD: Provider.RACKSPACE,
+
+    # AWS
+    Provider.EC2_US_EAST: Provider.EC2,
+    Provider.EC2_EU: Provider.EC2,
+    Provider.EC2_EU_WEST: Provider.EC2,
+    Provider.EC2_US_WEST: Provider.EC2,
+    Provider.EC2_AP_SOUTHEAST: Provider.EC2,
+    Provider.EC2_AP_SOUTHEAST2: Provider.EC2,
+    Provider.EC2_AP_NORTHEAST: Provider.EC2,
+    Provider.EC2_AP_NORTHEAST1: Provider.EC2,
+    Provider.EC2_AP_NORTHEAST2: Provider.EC2,
+    Provider.EC2_US_WEST_OREGON: Provider.EC2,
+    Provider.EC2_SA_EAST: Provider.EC2,
+    Provider.EC2_AP_SOUTHEAST: Provider.EC2,
+
+    # ElasticHosts
+    Provider.ELASTICHOSTS_UK1: Provider.ELASTICHOSTS,
+    Provider.ELASTICHOSTS_UK2: Provider.ELASTICHOSTS,
+    Provider.ELASTICHOSTS_US1: Provider.ELASTICHOSTS,
+    Provider.ELASTICHOSTS_US2: Provider.ELASTICHOSTS,
+    Provider.ELASTICHOSTS_US3: Provider.ELASTICHOSTS,
+    Provider.ELASTICHOSTS_CA1: Provider.ELASTICHOSTS,
+    Provider.ELASTICHOSTS_AU1: Provider.ELASTICHOSTS,
+    Provider.ELASTICHOSTS_CN1: Provider.ELASTICHOSTS,
 }
 
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/a7337fed/libcloud/storage/drivers/cloudfiles.py
----------------------------------------------------------------------
diff --git a/libcloud/storage/drivers/cloudfiles.py b/libcloud/storage/drivers/cloudfiles.py
index ef854fc..16d6d16 100644
--- a/libcloud/storage/drivers/cloudfiles.py
+++ b/libcloud/storage/drivers/cloudfiles.py
@@ -885,19 +885,6 @@ class CloudFilesStorageDriver(StorageDriver, OpenStackDriverMixin):
         return kwargs
 
 
-class CloudFilesUSStorageDriver(CloudFilesStorageDriver):
-    """
-    Cloudfiles storage driver for the US endpoint.
-    """
-
-    type = Provider.CLOUDFILES_US
-    name = 'CloudFiles (US)'
-
-    def __init__(self, *args, **kwargs):
-        kwargs['region'] = 'ord'
-        super(CloudFilesUSStorageDriver, self).__init__(*args, **kwargs)
-
-
 class OpenStackSwiftStorageDriver(CloudFilesStorageDriver):
     """
     Storage driver for the OpenStack Swift.
@@ -919,19 +906,6 @@ class OpenStackSwiftStorageDriver(CloudFilesStorageDriver):
                                                           **kwargs)
 
 
-class CloudFilesUKStorageDriver(CloudFilesStorageDriver):
-    """
-    Cloudfiles storage driver for the UK endpoint.
-    """
-
-    type = Provider.CLOUDFILES_UK
-    name = 'CloudFiles (UK)'
-
-    def __init__(self, *args, **kwargs):
-        kwargs['region'] = 'lon'
-        super(CloudFilesUKStorageDriver, self).__init__(*args, **kwargs)
-
-
 class FileChunkReader(object):
     def __init__(self, file_path, chunk_size):
         self.file_path = file_path

http://git-wip-us.apache.org/repos/asf/libcloud/blob/a7337fed/libcloud/test/compute/test_ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_ec2.py b/libcloud/test/compute/test_ec2.py
index 2356230..adc8e3d 100644
--- a/libcloud/test/compute/test_ec2.py
+++ b/libcloud/test/compute/test_ec2.py
@@ -23,13 +23,6 @@ from libcloud.utils.iso8601 import UTC
 from libcloud.utils.py3 import httplib
 
 from libcloud.compute.drivers.ec2 import EC2NodeDriver
-from libcloud.compute.drivers.ec2 import EC2USWestNodeDriver
-from libcloud.compute.drivers.ec2 import EC2USWestOregonNodeDriver
-from libcloud.compute.drivers.ec2 import EC2EUNodeDriver
-from libcloud.compute.drivers.ec2 import EC2APSENodeDriver
-from libcloud.compute.drivers.ec2 import EC2APNENodeDriver
-from libcloud.compute.drivers.ec2 import EC2APSESydneyNodeDriver
-from libcloud.compute.drivers.ec2 import EC2SAEastNodeDriver
 from libcloud.compute.drivers.ec2 import EC2PlacementGroup
 from libcloud.compute.drivers.ec2 import NimbusNodeDriver, EucNodeDriver
 from libcloud.compute.drivers.ec2 import OutscaleSASNodeDriver
@@ -1189,47 +1182,6 @@ class EC2SAEastTests(EC2Tests):
     region = 'sa-east-1'
 
 
-# Tests for the old, deprecated way of instantiating a driver.
-class EC2OldStyleModelTests(EC2Tests):
-    driver_klass = EC2USWestNodeDriver
-
-    def setUp(self):
-        EC2MockHttp.test = self
-        EC2NodeDriver.connectionCls.conn_classes = (None, EC2MockHttp)
-        EC2MockHttp.use_param = 'Action'
-        EC2MockHttp.type = None
-
-        self.driver = self.driver_klass(*EC2_PARAMS)
-
-
-class EC2USWest1OldStyleModelTests(EC2OldStyleModelTests):
-    driver_klass = EC2USWestNodeDriver
-
-
-class EC2USWest2OldStyleModelTests(EC2OldStyleModelTests):
-    driver_klass = EC2USWestOregonNodeDriver
-
-
-class EC2EUWestOldStyleModelTests(EC2OldStyleModelTests):
-    driver_klass = EC2EUNodeDriver
-
-
-class EC2APSE1OldStyleModelTests(EC2OldStyleModelTests):
-    driver_klass = EC2APSENodeDriver
-
-
-class EC2APNEOldStyleModelTests(EC2OldStyleModelTests):
-    driver_klass = EC2APNENodeDriver
-
-
-class EC2APSE2OldStyleModelTests(EC2OldStyleModelTests):
-    driver_klass = EC2APSESydneyNodeDriver
-
-
-class EC2SAEastOldStyleModelTests(EC2OldStyleModelTests):
-    driver_klass = EC2SAEastNodeDriver
-
-
 class EC2MockHttp(MockHttpTestCase):
     fixtures = ComputeFileFixtures('ec2')
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/a7337fed/libcloud/test/compute/test_rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_rackspace.py b/libcloud/test/compute/test_rackspace.py
index e24b873..d5e46cb 100644
--- a/libcloud/test/compute/test_rackspace.py
+++ b/libcloud/test/compute/test_rackspace.py
@@ -17,7 +17,7 @@ import unittest
 
 from libcloud.utils.py3 import method_type
 from libcloud.utils.py3 import httplib
-from libcloud.compute.providers import DEPRECATED_RACKSPACE_PROVIDERS
+from libcloud.compute.types import Provider
 from libcloud.compute.providers import get_driver
 from libcloud.compute.drivers.rackspace import RackspaceFirstGenNodeDriver
 from libcloud.compute.drivers.rackspace import RackspaceNodeDriver
@@ -29,6 +29,12 @@ from libcloud.pricing import clear_pricing_data
 from libcloud.test.secrets import RACKSPACE_NOVA_PARAMS
 from libcloud.test.secrets import RACKSPACE_PARAMS
 
+DEPRECATED_RACKSPACE_PROVIDERS = [Provider.RACKSPACE_UK,
+                                  Provider.RACKSPACE_NOVA_BETA,
+                                  Provider.RACKSPACE_NOVA_DFW,
+                                  Provider.RACKSPACE_NOVA_LON,
+                                  Provider.RACKSPACE_NOVA_ORD]
+
 
 class RackspaceusFirstGenUsTests(OpenStack_1_0_Tests):
     should_list_locations = True


[15/15] libcloud git commit: Re-generate supported providers tables.

Posted by to...@apache.org.
Re-generate supported providers tables.


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

Branch: refs/heads/trunk
Commit: a3b9da4a93536176c02238254369e14fff48e269
Parents: 01e3571
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Wed Apr 6 17:12:44 2016 +0200
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Apr 6 17:12:44 2016 +0200

----------------------------------------------------------------------
 docs/dns/_supported_providers.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/a3b9da4a/docs/dns/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/dns/_supported_providers.rst b/docs/dns/_supported_providers.rst
index e191787..b9ba6ee 100644
--- a/docs/dns/_supported_providers.rst
+++ b/docs/dns/_supported_providers.rst
@@ -14,7 +14,7 @@ Provider            Documentation                             Provider Constant
 `Host Virtual DNS`_ :doc:`Click </dns/drivers/hostvirtual>`   HOSTVIRTUAL       single region driver :mod:`libcloud.dns.drivers.hostvirtual`  :class:`HostVirtualDNSDriver` 
 `Linode DNS`_                                                 LINODE            single region driver :mod:`libcloud.dns.drivers.linode`       :class:`LinodeDNSDriver`      
 `Liquidweb DNS`_    :doc:`Click </dns/drivers/liquidweb>`     LIQUIDWEB         single region driver :mod:`libcloud.dns.drivers.liquidweb`    :class:`LiquidWebDNSDriver`   
-`NFSN DNS`_                                                   NFSN              single region driver :mod:`libcloud.dns.drivers.nfsn`         :class:`NFSNDNSDriver`        
+`NFSN DNS`_         :doc:`Click </dns/drivers/nfsn>`          NFSN              single region driver :mod:`libcloud.dns.drivers.nfsn`         :class:`NFSNDNSDriver`        
 `Point DNS`_        :doc:`Click </dns/drivers/pointdns>`      POINTDNS          single region driver :mod:`libcloud.dns.drivers.pointdns`     :class:`PointDNSDriver`       
 `Rackspace DNS`_                                              RACKSPACE         us, uk               :mod:`libcloud.dns.drivers.rackspace`    :class:`RackspaceDNSDriver`   
 `Route53 DNS`_                                                ROUTE53           single region driver :mod:`libcloud.dns.drivers.route53`      :class:`Route53DNSDriver`     


[13/15] libcloud git commit: Update upgrade notes.

Posted by to...@apache.org.
Update upgrade notes.


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

Branch: refs/heads/trunk
Commit: b86a8460f0392521774ca5c1e88eb6b71b81e278
Parents: eae0ee0
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Thu Mar 31 22:20:10 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 22:20:10 2016 -0700

----------------------------------------------------------------------
 docs/upgrade_notes.rst | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/b86a8460/docs/upgrade_notes.rst
----------------------------------------------------------------------
diff --git a/docs/upgrade_notes.rst b/docs/upgrade_notes.rst
index f4ff79b..58cb78e 100644
--- a/docs/upgrade_notes.rst
+++ b/docs/upgrade_notes.rst
@@ -5,6 +5,15 @@ This page describes how to upgrade from a previous version to a new version
 which contains backward incompatible or semi-incompatible changes and how to
 preserve the old behavior when this is possible.
 
+Libcloud in development
+-----------------------
+
+* Per-region provider constants and related driver classes which have been
+  deprecated in Libcloud 0.14.0 have now been fully removed.
+
+  Those provider drivers have moved to the single provider constant +
+  ``region`` constructor argument in Libcloud 0.14.0.
+
 Libcloud 0.20.0
 ---------------
 


[09/15] libcloud git commit: Provider.RACKSPACE constant is not deprecated.

Posted by to...@apache.org.
Provider.RACKSPACE constant is not deprecated.


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

Branch: refs/heads/trunk
Commit: 11ea03f3b443fc97700d9c07274e21e784621739
Parents: 2b2a79c
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Thu Mar 31 19:21:22 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 19:21:22 2016 -0700

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


http://git-wip-us.apache.org/repos/asf/libcloud/blob/11ea03f3/libcloud/compute/types.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/types.py b/libcloud/compute/types.py
index d1e72d5..f2abf96 100644
--- a/libcloud/compute/types.py
+++ b/libcloud/compute/types.py
@@ -209,7 +209,6 @@ DEPRECATED_RACKSPACE_PROVIDERS = [Provider.RACKSPACE_UK,
                                   Provider.RACKSPACE_NOVA_ORD]
 OLD_CONSTANT_TO_NEW_MAPPING = {
     # Rackspace
-    Provider.RACKSPACE: Provider.RACKSPACE_FIRST_GEN,
     Provider.RACKSPACE_UK: Provider.RACKSPACE_FIRST_GEN,
 
     Provider.RACKSPACE_NOVA_BETA: Provider.RACKSPACE,


[14/15] libcloud git commit: Merge branch 'trunk' into remove_constants_with_region_name

Posted by to...@apache.org.
Merge branch 'trunk' into remove_constants_with_region_name


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

Branch: refs/heads/trunk
Commit: 01e3571e915f2b1fd8fc7b22da68c1ac9b08589f
Parents: b86a846 f56db93
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Wed Apr 6 17:11:58 2016 +0200
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Apr 6 17:11:58 2016 +0200

----------------------------------------------------------------------
 docs/dns/drivers/nfsn.net | 25 -------------------------
 docs/dns/drivers/nfsn.rst | 25 +++++++++++++++++++++++++
 2 files changed, 25 insertions(+), 25 deletions(-)
----------------------------------------------------------------------



[05/15] libcloud git commit: Remove deprecated, per region classes for Rackspace loadbalancer driver.

Posted by to...@apache.org.
Remove deprecated, per region classes for Rackspace loadbalancer driver.


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

Branch: refs/heads/trunk
Commit: b6ff8db874f9ee8d0b97de155d5d0cad60b10bde
Parents: 41b9caa
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Wed Mar 16 16:50:11 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 18:32:19 2016 -0700

----------------------------------------------------------------------
 libcloud/loadbalancer/drivers/rackspace.py   |  6 ------
 libcloud/loadbalancer/providers.py           | 11 ++++-------
 libcloud/loadbalancer/types.py               |  8 ++++++++
 libcloud/test/loadbalancer/test_rackspace.py |  3 +--
 4 files changed, 13 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/b6ff8db8/libcloud/loadbalancer/drivers/rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/drivers/rackspace.py b/libcloud/loadbalancer/drivers/rackspace.py
index ed112e2..898c0bc 100644
--- a/libcloud/loadbalancer/drivers/rackspace.py
+++ b/libcloud/loadbalancer/drivers/rackspace.py
@@ -1525,9 +1525,3 @@ class RackspaceLBDriver(Driver, OpenStackDriverMixin):
                 break
 
         return date
-
-
-class RackspaceUKLBDriver(RackspaceLBDriver):
-    def __init__(self, *args, **kwargs):
-        kwargs['region'] = 'lon'
-        super(RackspaceUKLBDriver, self).__init__(*args, **kwargs)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b6ff8db8/libcloud/loadbalancer/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/providers.py b/libcloud/loadbalancer/providers.py
index ef0f26b..49a0f3a 100644
--- a/libcloud/loadbalancer/providers.py
+++ b/libcloud/loadbalancer/providers.py
@@ -14,6 +14,7 @@
 # limitations under the License.
 
 from libcloud.loadbalancer.types import Provider
+from libcloud.loadbalancer.types import OLD_CONSTANT_TO_NEW_MAPPING
 from libcloud.common.providers import get_driver as _get_provider_driver
 from libcloud.common.providers import set_driver as _set_provider_driver
 
@@ -44,17 +45,13 @@ DRIVERS = {
     ('libcloud.loadbalancer.drivers.dimensiondata', 'DimensionDataLBDriver'),
     Provider.ALIYUN_SLB:
     ('libcloud.loadbalancer.drivers.slb', 'SLBDriver'),
-
-    # Deprecated
-    Provider.RACKSPACE_US:
-    ('libcloud.loadbalancer.drivers.rackspace', 'RackspaceLBDriver'),
-    Provider.RACKSPACE_UK:
-    ('libcloud.loadbalancer.drivers.rackspace', 'RackspaceUKLBDriver'),
 }
 
 
 def get_driver(provider):
-    return _get_provider_driver(drivers=DRIVERS, provider=provider)
+    deprecated_constants = OLD_CONSTANT_TO_NEW_MAPPING
+    return _get_provider_driver(drivers=DRIVERS, provider=provider,
+                                deprecated_constants=deprecated_constants)
 
 
 def set_driver(provider, module, klass):

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b6ff8db8/libcloud/loadbalancer/types.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/types.py b/libcloud/loadbalancer/types.py
index cfb010b..b0fba05 100644
--- a/libcloud/loadbalancer/types.py
+++ b/libcloud/loadbalancer/types.py
@@ -18,6 +18,8 @@ __all__ = [
     "State",
     "LibcloudLBError",
     "LibcloudLBImmutableError",
+
+    "OLD_CONSTANT_TO_NEW_MAPPING"
 ]
 
 from libcloud.common.types import LibcloudError
@@ -51,6 +53,12 @@ class Provider(object):
     RACKSPACE_UK = 'rackspace_uk'
 
 
+OLD_CONSTANT_TO_NEW_MAPPING = {
+    Provider.RACKSPACE_US: Provider.RACKSPACE,
+    Provider.RACKSPACE_UK: Provider.RACKSPACE,
+}
+
+
 class State(object):
     """
     Standard states for a loadbalancer

http://git-wip-us.apache.org/repos/asf/libcloud/blob/b6ff8db8/libcloud/test/loadbalancer/test_rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/test_rackspace.py b/libcloud/test/loadbalancer/test_rackspace.py
index 9b78395..15ba54c 100644
--- a/libcloud/test/loadbalancer/test_rackspace.py
+++ b/libcloud/test/loadbalancer/test_rackspace.py
@@ -29,7 +29,6 @@ from libcloud.loadbalancer.types import MemberCondition
 from libcloud.loadbalancer.drivers.rackspace import RackspaceLBDriver, \
     RackspaceHealthMonitor, RackspaceHTTPHealthMonitor, \
     RackspaceConnectionThrottle, RackspaceAccessRule
-from libcloud.loadbalancer.drivers.rackspace import RackspaceUKLBDriver
 from libcloud.loadbalancer.drivers.rackspace import RackspaceAccessRuleType
 from libcloud.common.types import LibcloudError
 
@@ -922,7 +921,7 @@ class RackspaceUKLBTests(RackspaceLBTests):
         RackspaceLBDriver.connectionCls.conn_classes = (None,
                                                         RackspaceLBMockHttp)
         RackspaceLBMockHttp.type = None
-        self.driver = RackspaceUKLBDriver('user', 'key')
+        self.driver = RackspaceLBDriver('user', 'key', region='lon')
         # normally authentication happens lazily, but we force it here
         self.driver.connection._populate_hosts_and_request_paths()
 


[11/15] libcloud git commit: Re-generate supported providers tables.

Posted by to...@apache.org.
Re-generate supported providers tables.


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

Branch: refs/heads/trunk
Commit: 3cb03ebb0d65854924b4866debed858f2b493e40
Parents: 11ea03f
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Thu Mar 31 19:22:13 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 19:22:13 2016 -0700

----------------------------------------------------------------------
 docs/backup/_supported_providers.rst            |  14 +-
 .../_supported_methods_block_storage.rst        |  38 -----
 .../_supported_methods_image_management.rst     |  38 -----
 .../_supported_methods_key_pair_management.rst  |  38 -----
 docs/compute/_supported_methods_main.rst        |  38 -----
 docs/compute/_supported_providers.rst           | 156 +++++++------------
 docs/container/_supported_providers.rst         |  16 +-
 docs/dns/_supported_methods.rst                 |  52 +++----
 docs/dns/_supported_providers.rst               |  52 +++----
 docs/loadbalancer/_supported_methods.rst        |   4 -
 docs/loadbalancer/_supported_providers.rst      |  32 ++--
 docs/storage/_supported_methods_cdn.rst         |   4 -
 docs/storage/_supported_methods_main.rst        |   4 -
 docs/storage/_supported_providers.rst           |  52 +++----
 14 files changed, 160 insertions(+), 378 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/backup/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/backup/_supported_providers.rst b/docs/backup/_supported_providers.rst
index b7bcd6a..c7ee635 100644
--- a/docs/backup/_supported_providers.rst
+++ b/docs/backup/_supported_providers.rst
@@ -1,12 +1,12 @@
 .. NOTE: This file has been generated automatically using generate_provider_feature_matrix_table.py script, don't manually edit it
 
-====================================== ============================================ ================= ============================================ ==================================
-Provider                               Documentation                                Provider constant Module                                       Class Name                        
-====================================== ============================================ ================= ============================================ ==================================
-`Dimension Data Backup`_               :doc:`Click </backup/drivers/dimensiondata>` DIMENSIONDATA     :mod:`libcloud.backup.drivers.dimensiondata` :class:`DimensionDataBackupDriver`
-`Amazon EBS Backup Driver`_                                                         EBS               :mod:`libcloud.backup.drivers.ebs`           :class:`EBSBackupDriver`          
-`Google Compute Engine Backup Driver`_                                              GCE               :mod:`libcloud.backup.drivers.gce`           :class:`GCEBackupDriver`          
-====================================== ============================================ ================= ============================================ ==================================
+====================================== ============================================ ================= ==================== ============================================ ==================================
+Provider                               Documentation                                Provider Constant Supported Regions    Module                                       Class Name                        
+====================================== ============================================ ================= ==================== ============================================ ==================================
+`Dimension Data Backup`_               :doc:`Click </backup/drivers/dimensiondata>` DIMENSIONDATA     single region driver :mod:`libcloud.backup.drivers.dimensiondata` :class:`DimensionDataBackupDriver`
+`Amazon EBS Backup Driver`_                                                         EBS               single region driver :mod:`libcloud.backup.drivers.ebs`           :class:`EBSBackupDriver`          
+`Google Compute Engine Backup Driver`_                                              GCE               single region driver :mod:`libcloud.backup.drivers.gce`           :class:`GCEBackupDriver`          
+====================================== ============================================ ================= ==================== ============================================ ==================================
 
 .. _`Dimension Data Backup`: https://cloud.dimensiondata.com/
 .. _`Amazon EBS Backup Driver`: http://aws.amazon.com/ebs/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/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 dc1649b..d184c85 100644
--- a/docs/compute/_supported_methods_block_storage.rst
+++ b/docs/compute/_supported_methods_block_storage.rst
@@ -17,27 +17,8 @@ Provider                              list volumes create volume destroy volume
 `DigitalOcean`_                       no           no            no             no            no            no             no             
 `DimensionData`_                      no           no            no             no            no            no             no             
 `Amazon EC2`_                         yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2 (ap-northeast-1)`_        yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2 (ap-northeast-1)`_        yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2 (ap-northeast-2)`_        yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2 (ap-southeast-1)`_        yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2 (ap-southeast-2)`_        yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2 (eu-west-1)`_             yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2 (eu-west-1)`_             yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2 (sa-east-1)`_             yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2`_                         yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2 (us-west-1)`_             yes          yes           yes            yes           yes           yes            yes            
-`Amazon EC2 (us-west-2)`_             yes          yes           yes            yes           yes           yes            yes            
 `Enomaly Elastic Computing Platform`_ no           no            no             no            no            no             no             
 `ElasticHosts`_                       no           no            no             no            no            no             no             
-`ElasticHosts (syd-y)`_               no           no            no             no            no            no             no             
-`ElasticHosts (tor-p)`_               no           no            no             no            no            no             no             
-`ElasticHosts (cn-1)`_                no           no            no             no            no            no             no             
-`ElasticHosts (lon-p)`_               no           no            no             no            no            no             no             
-`ElasticHosts (lon-b)`_               no           no            no             no            no            no             no             
-`ElasticHosts (sat-p)`_               no           no            no             no            no            no             no             
-`ElasticHosts (lax-p)`_               no           no            no             no            no            no             no             
-`ElasticHosts (sjc-c)`_               no           no            no             no            no            no             no             
 `Eucalyptus`_                         yes          yes           yes            yes           yes           yes            yes            
 `Exoscale`_                           yes          yes           yes            yes           yes           no             yes            
 `Gandi`_                              yes          yes           yes            yes           yes           no             no             
@@ -93,27 +74,8 @@ Provider                              list volumes create volume destroy volume
 .. _`DigitalOcean`: https://www.digitalocean.com
 .. _`DimensionData`: http://www.dimensiondata.com/
 .. _`Amazon EC2`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-2)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-southeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-southeast-2)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (eu-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (eu-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (sa-east-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (us-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (us-west-2)`: http://aws.amazon.com/ec2/
 .. _`Enomaly Elastic Computing Platform`: http://www.enomaly.com/
 .. _`ElasticHosts`: http://www.elastichosts.com/
-.. _`ElasticHosts (syd-y)`: http://www.elastichosts.com/
-.. _`ElasticHosts (tor-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (cn-1)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lon-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lon-b)`: http://www.elastichosts.com/
-.. _`ElasticHosts (sat-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lax-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (sjc-c)`: http://www.elastichosts.com/
 .. _`Eucalyptus`: http://www.eucalyptus.com/
 .. _`Exoscale`: https://www.exoscale.ch/
 .. _`Gandi`: http://www.gandi.net/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/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 c55752e..4595889 100644
--- a/docs/compute/_supported_methods_image_management.rst
+++ b/docs/compute/_supported_methods_image_management.rst
@@ -17,27 +17,8 @@ Provider                              list images get image create image delete
 `DigitalOcean`_                       yes         yes       yes          yes          no        
 `DimensionData`_                      yes         no        no           no           no        
 `Amazon EC2`_                         yes         yes       yes          yes          yes       
-`Amazon EC2 (ap-northeast-1)`_        yes         yes       yes          yes          yes       
-`Amazon EC2 (ap-northeast-1)`_        yes         yes       yes          yes          yes       
-`Amazon EC2 (ap-northeast-2)`_        yes         yes       yes          yes          yes       
-`Amazon EC2 (ap-southeast-1)`_        yes         yes       yes          yes          yes       
-`Amazon EC2 (ap-southeast-2)`_        yes         yes       yes          yes          yes       
-`Amazon EC2 (eu-west-1)`_             yes         yes       yes          yes          yes       
-`Amazon EC2 (eu-west-1)`_             yes         yes       yes          yes          yes       
-`Amazon EC2 (sa-east-1)`_             yes         yes       yes          yes          yes       
-`Amazon EC2`_                         yes         yes       yes          yes          yes       
-`Amazon EC2 (us-west-1)`_             yes         yes       yes          yes          yes       
-`Amazon EC2 (us-west-2)`_             yes         yes       yes          yes          yes       
 `Enomaly Elastic Computing Platform`_ yes         no        no           no           no        
 `ElasticHosts`_                       yes         no        no           no           no        
-`ElasticHosts (syd-y)`_               yes         no        no           no           no        
-`ElasticHosts (tor-p)`_               yes         no        no           no           no        
-`ElasticHosts (cn-1)`_                yes         no        no           no           no        
-`ElasticHosts (lon-p)`_               yes         no        no           no           no        
-`ElasticHosts (lon-b)`_               yes         no        no           no           no        
-`ElasticHosts (sat-p)`_               yes         no        no           no           no        
-`ElasticHosts (lax-p)`_               yes         no        no           no           no        
-`ElasticHosts (sjc-c)`_               yes         no        no           no           no        
 `Eucalyptus`_                         yes         yes       yes          yes          yes       
 `Exoscale`_                           yes         no        no           no           no        
 `Gandi`_                              yes         no        no           no           no        
@@ -93,27 +74,8 @@ Provider                              list images get image create image delete
 .. _`DigitalOcean`: https://www.digitalocean.com
 .. _`DimensionData`: http://www.dimensiondata.com/
 .. _`Amazon EC2`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-2)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-southeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-southeast-2)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (eu-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (eu-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (sa-east-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (us-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (us-west-2)`: http://aws.amazon.com/ec2/
 .. _`Enomaly Elastic Computing Platform`: http://www.enomaly.com/
 .. _`ElasticHosts`: http://www.elastichosts.com/
-.. _`ElasticHosts (syd-y)`: http://www.elastichosts.com/
-.. _`ElasticHosts (tor-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (cn-1)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lon-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lon-b)`: http://www.elastichosts.com/
-.. _`ElasticHosts (sat-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lax-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (sjc-c)`: http://www.elastichosts.com/
 .. _`Eucalyptus`: http://www.eucalyptus.com/
 .. _`Exoscale`: https://www.exoscale.ch/
 .. _`Gandi`: http://www.gandi.net/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/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 f702eb8..ba280d8 100644
--- a/docs/compute/_supported_methods_key_pair_management.rst
+++ b/docs/compute/_supported_methods_key_pair_management.rst
@@ -17,27 +17,8 @@ Provider                              list key pairs get key pair create key pai
 `DigitalOcean`_                       yes            yes          yes             no                            no                          yes            
 `DimensionData`_                      no             no           no              no                            no                          no             
 `Amazon EC2`_                         yes            yes          yes             yes                           no                          yes            
-`Amazon EC2 (ap-northeast-1)`_        yes            yes          yes             yes                           no                          yes            
-`Amazon EC2 (ap-northeast-1)`_        yes            yes          yes             yes                           no                          yes            
-`Amazon EC2 (ap-northeast-2)`_        yes            yes          yes             yes                           no                          yes            
-`Amazon EC2 (ap-southeast-1)`_        yes            yes          yes             yes                           no                          yes            
-`Amazon EC2 (ap-southeast-2)`_        yes            yes          yes             yes                           no                          yes            
-`Amazon EC2 (eu-west-1)`_             yes            yes          yes             yes                           no                          yes            
-`Amazon EC2 (eu-west-1)`_             yes            yes          yes             yes                           no                          yes            
-`Amazon EC2 (sa-east-1)`_             yes            yes          yes             yes                           no                          yes            
-`Amazon EC2`_                         yes            yes          yes             yes                           no                          yes            
-`Amazon EC2 (us-west-1)`_             yes            yes          yes             yes                           no                          yes            
-`Amazon EC2 (us-west-2)`_             yes            yes          yes             yes                           no                          yes            
 `Enomaly Elastic Computing Platform`_ no             no           no              no                            no                          no             
 `ElasticHosts`_                       no             no           no              no                            no                          no             
-`ElasticHosts (syd-y)`_               no             no           no              no                            no                          no             
-`ElasticHosts (tor-p)`_               no             no           no              no                            no                          no             
-`ElasticHosts (cn-1)`_                no             no           no              no                            no                          no             
-`ElasticHosts (lon-p)`_               no             no           no              no                            no                          no             
-`ElasticHosts (lon-b)`_               no             no           no              no                            no                          no             
-`ElasticHosts (sat-p)`_               no             no           no              no                            no                          no             
-`ElasticHosts (lax-p)`_               no             no           no              no                            no                          no             
-`ElasticHosts (sjc-c)`_               no             no           no              no                            no                          no             
 `Eucalyptus`_                         yes            yes          yes             yes                           no                          yes            
 `Exoscale`_                           yes            yes          yes             yes                           no                          yes            
 `Gandi`_                              yes            yes          no              yes                           no                          yes            
@@ -93,27 +74,8 @@ Provider                              list key pairs get key pair create key pai
 .. _`DigitalOcean`: https://www.digitalocean.com
 .. _`DimensionData`: http://www.dimensiondata.com/
 .. _`Amazon EC2`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-2)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-southeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-southeast-2)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (eu-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (eu-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (sa-east-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (us-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (us-west-2)`: http://aws.amazon.com/ec2/
 .. _`Enomaly Elastic Computing Platform`: http://www.enomaly.com/
 .. _`ElasticHosts`: http://www.elastichosts.com/
-.. _`ElasticHosts (syd-y)`: http://www.elastichosts.com/
-.. _`ElasticHosts (tor-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (cn-1)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lon-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lon-b)`: http://www.elastichosts.com/
-.. _`ElasticHosts (sat-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lax-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (sjc-c)`: http://www.elastichosts.com/
 .. _`Eucalyptus`: http://www.eucalyptus.com/
 .. _`Exoscale`: https://www.exoscale.ch/
 .. _`Gandi`: http://www.gandi.net/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/compute/_supported_methods_main.rst
----------------------------------------------------------------------
diff --git a/docs/compute/_supported_methods_main.rst b/docs/compute/_supported_methods_main.rst
index 818d87a..7f60f43 100644
--- a/docs/compute/_supported_methods_main.rst
+++ b/docs/compute/_supported_methods_main.rst
@@ -17,27 +17,8 @@ Provider                              list nodes create node reboot node destroy
 `DigitalOcean`_                       yes        yes         yes         yes          yes         yes        no         
 `DimensionData`_                      yes        yes         yes         yes          yes         yes        yes        
 `Amazon EC2`_                         yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2 (ap-northeast-1)`_        yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2 (ap-northeast-1)`_        yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2 (ap-northeast-2)`_        yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2 (ap-southeast-1)`_        yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2 (ap-southeast-2)`_        yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2 (eu-west-1)`_             yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2 (eu-west-1)`_             yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2 (sa-east-1)`_             yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2`_                         yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2 (us-west-1)`_             yes        yes         yes         yes          yes         yes        yes        
-`Amazon EC2 (us-west-2)`_             yes        yes         yes         yes          yes         yes        yes        
 `Enomaly Elastic Computing Platform`_ yes        yes         yes         yes          yes         yes        no         
 `ElasticHosts`_                       yes        yes         yes         yes          yes         yes        yes        
-`ElasticHosts (syd-y)`_               yes        yes         yes         yes          yes         yes        yes        
-`ElasticHosts (tor-p)`_               yes        yes         yes         yes          yes         yes        yes        
-`ElasticHosts (cn-1)`_                yes        yes         yes         yes          yes         yes        yes        
-`ElasticHosts (lon-p)`_               yes        yes         yes         yes          yes         yes        yes        
-`ElasticHosts (lon-b)`_               yes        yes         yes         yes          yes         yes        yes        
-`ElasticHosts (sat-p)`_               yes        yes         yes         yes          yes         yes        yes        
-`ElasticHosts (lax-p)`_               yes        yes         yes         yes          yes         yes        yes        
-`ElasticHosts (sjc-c)`_               yes        yes         yes         yes          yes         yes        yes        
 `Eucalyptus`_                         yes        yes         yes         yes          yes         yes        yes        
 `Exoscale`_                           yes        yes         yes         yes          yes         yes        yes        
 `Gandi`_                              yes        yes         yes         yes          yes         yes        no         
@@ -93,27 +74,8 @@ Provider                              list nodes create node reboot node destroy
 .. _`DigitalOcean`: https://www.digitalocean.com
 .. _`DimensionData`: http://www.dimensiondata.com/
 .. _`Amazon EC2`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-2)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-southeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-southeast-2)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (eu-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (eu-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (sa-east-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (us-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (us-west-2)`: http://aws.amazon.com/ec2/
 .. _`Enomaly Elastic Computing Platform`: http://www.enomaly.com/
 .. _`ElasticHosts`: http://www.elastichosts.com/
-.. _`ElasticHosts (syd-y)`: http://www.elastichosts.com/
-.. _`ElasticHosts (tor-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (cn-1)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lon-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lon-b)`: http://www.elastichosts.com/
-.. _`ElasticHosts (sat-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lax-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (sjc-c)`: http://www.elastichosts.com/
 .. _`Eucalyptus`: http://www.eucalyptus.com/
 .. _`Exoscale`: https://www.exoscale.ch/
 .. _`Gandi`: http://www.gandi.net/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/compute/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/compute/_supported_providers.rst b/docs/compute/_supported_providers.rst
index 452a8ec..a080aab 100644
--- a/docs/compute/_supported_providers.rst
+++ b/docs/compute/_supported_providers.rst
@@ -1,83 +1,64 @@
 .. NOTE: This file has been generated automatically using generate_provider_feature_matrix_table.py script, don't manually edit it
 
-===================================== ================================================= =================== ================================================= ====================================
-Provider                              Documentation                                     Provider constant   Module                                            Class Name                          
-===================================== ================================================= =================== ================================================= ====================================
-`Abiquo`_                                                                               ABIQUO              :mod:`libcloud.compute.drivers.abiquo`            :class:`AbiquoNodeDriver`           
-`Aliyun ECS`_                         :doc:`Click </compute/drivers/aliyun_ecs>`        ALIYUN_ECS          :mod:`libcloud.compute.drivers.ecs`               :class:`ECSDriver`                  
-`PCextreme AuroraCompute`_            :doc:`Click </compute/drivers/auroracompute>`     AURORACOMPUTE       :mod:`libcloud.compute.drivers.auroracompute`     :class:`AuroraComputeNodeDriver`    
-`Azure Virtual machines`_             :doc:`Click </compute/drivers/azure>`             AZURE               :mod:`libcloud.compute.drivers.azure`             :class:`AzureNodeDriver`            
-`Bluebox Blocks`_                                                                       BLUEBOX             :mod:`libcloud.compute.drivers.bluebox`           :class:`BlueboxNodeDriver`          
-`Brightbox`_                                                                            BRIGHTBOX           :mod:`libcloud.compute.drivers.brightbox`         :class:`BrightboxNodeDriver`        
-`BSNL`_                               :doc:`Click </compute/drivers/bsnl>`              BSNL                :mod:`libcloud.compute.drivers.bsnl`              :class:`BSNLNodeDriver`             
-`CiscoCCS`_                                                                             CISCOCCS            :mod:`libcloud.compute.drivers.ciscoccs`          :class:`CiscoCCSNodeDriver`         
-`CloudSigma (API v2.0)`_              :doc:`Click </compute/drivers/cloudsigma>`        CLOUDSIGMA          :mod:`libcloud.compute.drivers.cloudsigma`        :class:`CloudSigmaNodeDriver`       
-`CloudStack`_                         :doc:`Click </compute/drivers/cloudstack>`        CLOUDSTACK          :mod:`libcloud.compute.drivers.cloudstack`        :class:`CloudStackNodeDriver`       
-`Cloudwatt`_                          :doc:`Click </compute/drivers/cloudwatt>`         CLOUDWATT           :mod:`libcloud.compute.drivers.cloudwatt`         :class:`CloudwattNodeDriver`        
-`DigitalOcean`_                       :doc:`Click </compute/drivers/digital_ocean>`     DIGITAL_OCEAN       :mod:`libcloud.compute.drivers.digitalocean`      :class:`DigitalOceanNodeDriver`     
-`DimensionData`_                      :doc:`Click </compute/drivers/dimensiondata>`     DIMENSIONDATA       :mod:`libcloud.compute.drivers.dimensiondata`     :class:`DimensionDataNodeDriver`    
-`Amazon EC2`_                         :doc:`Click </compute/drivers/ec2>`               EC2                 :mod:`libcloud.compute.drivers.ec2`               :class:`EC2NodeDriver`              
-`Amazon EC2 (ap-northeast-1)`_                                                          EC2_AP_NORTHEAST    :mod:`libcloud.compute.drivers.ec2`               :class:`EC2APNENodeDriver`          
-`Amazon EC2 (ap-northeast-1)`_                                                          EC2_AP_NORTHEAST1   :mod:`libcloud.compute.drivers.ec2`               :class:`EC2APNE1NodeDriver`         
-`Amazon EC2 (ap-northeast-2)`_                                                          EC2_AP_NORTHEAST2   :mod:`libcloud.compute.drivers.ec2`               :class:`EC2APNE2NodeDriver`         
-`Amazon EC2 (ap-southeast-1)`_                                                          EC2_AP_SOUTHEAST    :mod:`libcloud.compute.drivers.ec2`               :class:`EC2APSENodeDriver`          
-`Amazon EC2 (ap-southeast-2)`_                                                          EC2_AP_SOUTHEAST2   :mod:`libcloud.compute.drivers.ec2`               :class:`EC2APSESydneyNodeDriver`    
-`Amazon EC2 (eu-west-1)`_                                                               EC2_EU              :mod:`libcloud.compute.drivers.ec2`               :class:`EC2EUNodeDriver`            
-`Amazon EC2 (eu-west-1)`_                                                               EC2_EU_WEST         :mod:`libcloud.compute.drivers.ec2`               :class:`EC2EUNodeDriver`            
-`Amazon EC2 (sa-east-1)`_                                                               EC2_SA_EAST         :mod:`libcloud.compute.drivers.ec2`               :class:`EC2SAEastNodeDriver`        
-`Amazon EC2`_                                                                           EC2_US_EAST         :mod:`libcloud.compute.drivers.ec2`               :class:`EC2NodeDriver`              
-`Amazon EC2 (us-west-1)`_                                                               EC2_US_WEST         :mod:`libcloud.compute.drivers.ec2`               :class:`EC2USWestNodeDriver`        
-`Amazon EC2 (us-west-2)`_                                                               EC2_US_WEST_OREGON  :mod:`libcloud.compute.drivers.ec2`               :class:`EC2USWestOregonNodeDriver`  
-`Enomaly Elastic Computing Platform`_                                                   ECP                 :mod:`libcloud.compute.drivers.ecp`               :class:`ECPNodeDriver`              
-`ElasticHosts`_                                                                         ELASTICHOSTS        :mod:`libcloud.compute.drivers.elastichosts`      :class:`ElasticHostsNodeDriver`     
-`ElasticHosts (syd-y)`_                                                                 ELASTICHOSTS_AU1    :mod:`libcloud.compute.drivers.elastichosts`      :class:`ElasticHostsAU1NodeDriver`  
-`ElasticHosts (tor-p)`_                                                                 ELASTICHOSTS_CA1    :mod:`libcloud.compute.drivers.elastichosts`      :class:`ElasticHostsCA1NodeDriver`  
-`ElasticHosts (cn-1)`_                                                                  ELASTICHOSTS_CN1    :mod:`libcloud.compute.drivers.elastichosts`      :class:`ElasticHostsCN1NodeDriver`  
-`ElasticHosts (lon-p)`_                                                                 ELASTICHOSTS_UK1    :mod:`libcloud.compute.drivers.elastichosts`      :class:`ElasticHostsUK1NodeDriver`  
-`ElasticHosts (lon-b)`_                                                                 ELASTICHOSTS_UK2    :mod:`libcloud.compute.drivers.elastichosts`      :class:`ElasticHostsUK2NodeDriver`  
-`ElasticHosts (sat-p)`_                                                                 ELASTICHOSTS_US1    :mod:`libcloud.compute.drivers.elastichosts`      :class:`ElasticHostsUS1NodeDriver`  
-`ElasticHosts (lax-p)`_                                                                 ELASTICHOSTS_US2    :mod:`libcloud.compute.drivers.elastichosts`      :class:`ElasticHostsUS2NodeDriver`  
-`ElasticHosts (sjc-c)`_                                                                 ELASTICHOSTS_US3    :mod:`libcloud.compute.drivers.elastichosts`      :class:`ElasticHostsUS3NodeDriver`  
-`Eucalyptus`_                                                                           EUCALYPTUS          :mod:`libcloud.compute.drivers.ec2`               :class:`EucNodeDriver`              
-`Exoscale`_                           :doc:`Click </compute/drivers/exoscale>`          EXOSCALE            :mod:`libcloud.compute.drivers.exoscale`          :class:`ExoscaleNodeDriver`         
-`Gandi`_                              :doc:`Click </compute/drivers/gandi>`             GANDI               :mod:`libcloud.compute.drivers.gandi`             :class:`GandiNodeDriver`            
-`Google Compute Engine`_              :doc:`Click </compute/drivers/gce>`               GCE                 :mod:`libcloud.compute.drivers.gce`               :class:`GCENodeDriver`              
-`GoGrid`_                                                                               GOGRID              :mod:`libcloud.compute.drivers.gogrid`            :class:`GoGridNodeDriver`           
-`HostVirtual`_                                                                          HOSTVIRTUAL         :mod:`libcloud.compute.drivers.hostvirtual`       :class:`HostVirtualNodeDriver`      
-`Ikoula`_                             :doc:`Click </compute/drivers/ikoula>`            IKOULA              :mod:`libcloud.compute.drivers.ikoula`            :class:`IkoulaNodeDriver`           
-`Indosat`_                            :doc:`Click </compute/drivers/indosat>`           INDOSAT             :mod:`libcloud.compute.drivers.indosat`           :class:`IndosatNodeDriver`          
-`InternetSolutions`_                  :doc:`Click </compute/drivers/internetsolutions>` INTERNETSOLUTIONS   :mod:`libcloud.compute.drivers.internetsolutions` :class:`InternetSolutionsNodeDriver`
-`Joyent`_                                                                               JOYENT              :mod:`libcloud.compute.drivers.joyent`            :class:`JoyentNodeDriver`           
-`Kili Public Cloud`_                  :doc:`Click </compute/drivers/kili>`              KILI                :mod:`libcloud.compute.drivers.kili`              :class:`KiliCloudNodeDriver`        
-`KTUCloud`_                                                                             KTUCLOUD            :mod:`libcloud.compute.drivers.ktucloud`          :class:`KTUCloudNodeDriver`         
-`Libvirt`_                            :doc:`Click </compute/drivers/libvirt>`           LIBVIRT             :mod:`libcloud.compute.drivers.libvirt_driver`    :class:`LibvirtNodeDriver`          
-`Linode`_                                                                               LINODE              :mod:`libcloud.compute.drivers.linode`            :class:`LinodeNodeDriver`           
-`MedOne`_                             :doc:`Click </compute/drivers/medone>`            MEDONE              :mod:`libcloud.compute.drivers.medone`            :class:`MedOneNodeDriver`           
-`NephoScale`_                                                                           NEPHOSCALE          :mod:`libcloud.compute.drivers.nephoscale`        :class:`NephoscaleNodeDriver`       
-`Nimbus`_                             :doc:`Click </compute/drivers/nimbus>`            NIMBUS              :mod:`libcloud.compute.drivers.ec2`               :class:`NimbusNodeDriver`           
-`NTTAmerica`_                         :doc:`Click </compute/drivers/ntta>`              NTTA                :mod:`libcloud.compute.drivers.ntta`              :class:`NTTAmericaNodeDriver`       
-`OnApp`_                              :doc:`Click </compute/drivers/onapp>`             ONAPP               :mod:`libcloud.compute.drivers.onapp`             :class:`OnAppNodeDriver`            
-`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`        
-`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`      
-`Packet`_                             :doc:`Click </compute/drivers/packet>`            PACKET              :mod:`libcloud.compute.drivers.packet`            :class:`PacketNodeDriver`           
-`ProfitBricks`_                                                                         PROFIT_BRICKS       :mod:`libcloud.compute.drivers.profitbricks`      :class:`ProfitBricksNodeDriver`     
-`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`
-`RimuHosting`_                                                                          RIMUHOSTING         :mod:`libcloud.compute.drivers.rimuhosting`       :class:`RimuHostingNodeDriver`      
-`RunAbove`_                           :doc:`Click </compute/drivers/runabove>`          RUNABOVE            :mod:`libcloud.compute.drivers.runabove`          :class:`RunAboveNodeDriver`         
-`ServerLove`_                                                                           SERVERLOVE          :mod:`libcloud.compute.drivers.serverlove`        :class:`ServerLoveNodeDriver`       
-`skalicloud`_                                                                           SKALICLOUD          :mod:`libcloud.compute.drivers.skalicloud`        :class:`SkaliCloudNodeDriver`       
-`SoftLayer`_                                                                            SOFTLAYER           :mod:`libcloud.compute.drivers.softlayer`         :class:`SoftLayerNodeDriver`        
-`vCloud`_                                                                               TERREMARK           :mod:`libcloud.compute.drivers.vcloud`            :class:`TerremarkDriver`            
-`VCL`_                                                                                  VCL                 :mod:`libcloud.compute.drivers.vcl`               :class:`VCLNodeDriver`              
-`vCloud`_                             :doc:`Click </compute/drivers/vcloud>`            VCLOUD              :mod:`libcloud.compute.drivers.vcloud`            :class:`VCloudNodeDriver`           
-`Voxel VoxCLOUD`_                                                                       VOXEL               :mod:`libcloud.compute.drivers.voxel`             :class:`VoxelNodeDriver`            
-`vps.net`_                                                                              VPSNET              :mod:`libcloud.compute.drivers.vpsnet`            :class:`VPSNetNodeDriver`           
-`VMware vSphere`_                     :doc:`Click </compute/drivers/vsphere>`           VSPHERE             :mod:`libcloud.compute.drivers.vsphere`           :class:`VSphereNodeDriver`          
-`Vultr`_                              :doc:`Click </compute/drivers/vultr>`             VULTR               :mod:`libcloud.compute.drivers.vultr`             :class:`VultrNodeDriver`            
-===================================== ================================================= =================== ================================================= ====================================
+===================================== ================================================= =================== ================================================================================================================================================== ================================================= ====================================
+Provider                              Documentation                                     Provider Constant   Supported Regions                                                                                                                                  Module                                            Class Name                          
+===================================== ================================================= =================== ================================================================================================================================================== ================================================= ====================================
+`Abiquo`_                                                                               ABIQUO              single region driver                                                                                                                               :mod:`libcloud.compute.drivers.abiquo`            :class:`AbiquoNodeDriver`           
+`Aliyun ECS`_                         :doc:`Click </compute/drivers/aliyun_ecs>`        ALIYUN_ECS          single region driver                                                                                                                               :mod:`libcloud.compute.drivers.ecs`               :class:`ECSDriver`                  
+`PCextreme AuroraCompute`_            :doc:`Click </compute/drivers/auroracompute>`     AURORACOMPUTE       single region driver                                                                                                                               :mod:`libcloud.compute.drivers.auroracompute`     :class:`AuroraComputeNodeDriver`    
+`Azure Virtual machines`_             :doc:`Click </compute/drivers/azure>`             AZURE               single region driver                                                                                                                               :mod:`libcloud.compute.drivers.azure`             :class:`AzureNodeDriver`            
+`Bluebox Blocks`_                                                                       BLUEBOX             single region driver                                                                                                                               :mod:`libcloud.compute.drivers.bluebox`           :class:`BlueboxNodeDriver`          
+`Brightbox`_                                                                            BRIGHTBOX           single region driver                                                                                                                               :mod:`libcloud.compute.drivers.brightbox`         :class:`BrightboxNodeDriver`        
+`BSNL`_                               :doc:`Click </compute/drivers/bsnl>`              BSNL                single region driver                                                                                                                               :mod:`libcloud.compute.drivers.bsnl`              :class:`BSNLNodeDriver`             
+`CiscoCCS`_                                                                             CISCOCCS            single region driver                                                                                                                               :mod:`libcloud.compute.drivers.ciscoccs`          :class:`CiscoCCSNodeDriver`         
+`CloudSigma (API v2.0)`_              :doc:`Click </compute/drivers/cloudsigma>`        CLOUDSIGMA          single region driver                                                                                                                               :mod:`libcloud.compute.drivers.cloudsigma`        :class:`CloudSigmaNodeDriver`       
+`CloudStack`_                         :doc:`Click </compute/drivers/cloudstack>`        CLOUDSTACK          single region driver                                                                                                                               :mod:`libcloud.compute.drivers.cloudstack`        :class:`CloudStackNodeDriver`       
+`Cloudwatt`_                          :doc:`Click </compute/drivers/cloudwatt>`         CLOUDWATT           single region driver                                                                                                                               :mod:`libcloud.compute.drivers.cloudwatt`         :class:`CloudwattNodeDriver`        
+`DigitalOcean`_                       :doc:`Click </compute/drivers/digital_ocean>`     DIGITAL_OCEAN       single region driver                                                                                                                               :mod:`libcloud.compute.drivers.digitalocean`      :class:`DigitalOceanNodeDriver`     
+`DimensionData`_                      :doc:`Click </compute/drivers/dimensiondata>`     DIMENSIONDATA       single region driver                                                                                                                               :mod:`libcloud.compute.drivers.dimensiondata`     :class:`DimensionDataNodeDriver`    
+`Amazon EC2`_                         :doc:`Click </compute/drivers/ec2>`               EC2                 ap-northeast-2, ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, us-east-1, us-west-2, us-gov-west-1, us-west-1, eu-central-1, sa-east-1 :mod:`libcloud.compute.drivers.ec2`               :class:`EC2NodeDriver`              
+`Enomaly Elastic Computing Platform`_                                                   ECP                 single region driver                                                                                                                               :mod:`libcloud.compute.drivers.ecp`               :class:`ECPNodeDriver`              
+`ElasticHosts`_                                                                         ELASTICHOSTS        single region driver                                                                                                                               :mod:`libcloud.compute.drivers.elastichosts`      :class:`ElasticHostsNodeDriver`     
+`Eucalyptus`_                                                                           EUCALYPTUS          single region driver                                                                                                                               :mod:`libcloud.compute.drivers.ec2`               :class:`EucNodeDriver`              
+`Exoscale`_                           :doc:`Click </compute/drivers/exoscale>`          EXOSCALE            single region driver                                                                                                                               :mod:`libcloud.compute.drivers.exoscale`          :class:`ExoscaleNodeDriver`         
+`Gandi`_                              :doc:`Click </compute/drivers/gandi>`             GANDI               single region driver                                                                                                                               :mod:`libcloud.compute.drivers.gandi`             :class:`GandiNodeDriver`            
+`Google Compute Engine`_              :doc:`Click </compute/drivers/gce>`               GCE                 single region driver                                                                                                                               :mod:`libcloud.compute.drivers.gce`               :class:`GCENodeDriver`              
+`GoGrid`_                                                                               GOGRID              single region driver                                                                                                                               :mod:`libcloud.compute.drivers.gogrid`            :class:`GoGridNodeDriver`           
+`HostVirtual`_                                                                          HOSTVIRTUAL         single region driver                                                                                                                               :mod:`libcloud.compute.drivers.hostvirtual`       :class:`HostVirtualNodeDriver`      
+`Ikoula`_                             :doc:`Click </compute/drivers/ikoula>`            IKOULA              single region driver                                                                                                                               :mod:`libcloud.compute.drivers.ikoula`            :class:`IkoulaNodeDriver`           
+`Indosat`_                            :doc:`Click </compute/drivers/indosat>`           INDOSAT             single region driver                                                                                                                               :mod:`libcloud.compute.drivers.indosat`           :class:`IndosatNodeDriver`          
+`InternetSolutions`_                  :doc:`Click </compute/drivers/internetsolutions>` INTERNETSOLUTIONS   single region driver                                                                                                                               :mod:`libcloud.compute.drivers.internetsolutions` :class:`InternetSolutionsNodeDriver`
+`Joyent`_                                                                               JOYENT              single region driver                                                                                                                               :mod:`libcloud.compute.drivers.joyent`            :class:`JoyentNodeDriver`           
+`Kili Public Cloud`_                  :doc:`Click </compute/drivers/kili>`              KILI                single region driver                                                                                                                               :mod:`libcloud.compute.drivers.kili`              :class:`KiliCloudNodeDriver`        
+`KTUCloud`_                                                                             KTUCLOUD            single region driver                                                                                                                               :mod:`libcloud.compute.drivers.ktucloud`          :class:`KTUCloudNodeDriver`         
+`Libvirt`_                            :doc:`Click </compute/drivers/libvirt>`           LIBVIRT             single region driver                                                                                                                               :mod:`libcloud.compute.drivers.libvirt_driver`    :class:`LibvirtNodeDriver`          
+`Linode`_                                                                               LINODE              single region driver                                                                                                                               :mod:`libcloud.compute.drivers.linode`            :class:`LinodeNodeDriver`           
+`MedOne`_                             :doc:`Click </compute/drivers/medone>`            MEDONE              single region driver                                                                                                                               :mod:`libcloud.compute.drivers.medone`            :class:`MedOneNodeDriver`           
+`NephoScale`_                                                                           NEPHOSCALE          single region driver                                                                                                                               :mod:`libcloud.compute.drivers.nephoscale`        :class:`NephoscaleNodeDriver`       
+`Nimbus`_                             :doc:`Click </compute/drivers/nimbus>`            NIMBUS              single region driver                                                                                                                               :mod:`libcloud.compute.drivers.ec2`               :class:`NimbusNodeDriver`           
+`NTTAmerica`_                         :doc:`Click </compute/drivers/ntta>`              NTTA                single region driver                                                                                                                               :mod:`libcloud.compute.drivers.ntta`              :class:`NTTAmericaNodeDriver`       
+`OnApp`_                              :doc:`Click </compute/drivers/onapp>`             ONAPP               single region driver                                                                                                                               :mod:`libcloud.compute.drivers.onapp`             :class:`OnAppNodeDriver`            
+`OpenNebula (v3.8)`_                                                                    OPENNEBULA          single region driver                                                                                                                               :mod:`libcloud.compute.drivers.opennebula`        :class:`OpenNebulaNodeDriver`       
+`OpenStack`_                          :doc:`Click </compute/drivers/openstack>`         OPENSTACK           single region driver                                                                                                                               :mod:`libcloud.compute.drivers.openstack`         :class:`OpenStackNodeDriver`        
+`Outscale INC`_                       :doc:`Click </compute/drivers/outscale_inc>`      OUTSCALE_INC        single region driver                                                                                                                               :mod:`libcloud.compute.drivers.ec2`               :class:`OutscaleINCNodeDriver`      
+`Outscale SAS`_                       :doc:`Click </compute/drivers/outscale_sas>`      OUTSCALE_SAS        single region driver                                                                                                                               :mod:`libcloud.compute.drivers.ec2`               :class:`OutscaleSASNodeDriver`      
+`Packet`_                             :doc:`Click </compute/drivers/packet>`            PACKET              single region driver                                                                                                                               :mod:`libcloud.compute.drivers.packet`            :class:`PacketNodeDriver`           
+`ProfitBricks`_                                                                         PROFIT_BRICKS       single region driver                                                                                                                               :mod:`libcloud.compute.drivers.profitbricks`      :class:`ProfitBricksNodeDriver`     
+`Rackspace Cloud (Next Gen)`_         :doc:`Click </compute/drivers/rackspace>`         RACKSPACE           single region driver                                                                                                                               :mod:`libcloud.compute.drivers.rackspace`         :class:`RackspaceNodeDriver`        
+`Rackspace Cloud (First Gen)`_                                                          RACKSPACE_FIRST_GEN single region driver                                                                                                                               :mod:`libcloud.compute.drivers.rackspace`         :class:`RackspaceFirstGenNodeDriver`
+`RimuHosting`_                                                                          RIMUHOSTING         single region driver                                                                                                                               :mod:`libcloud.compute.drivers.rimuhosting`       :class:`RimuHostingNodeDriver`      
+`RunAbove`_                           :doc:`Click </compute/drivers/runabove>`          RUNABOVE            single region driver                                                                                                                               :mod:`libcloud.compute.drivers.runabove`          :class:`RunAboveNodeDriver`         
+`ServerLove`_                                                                           SERVERLOVE          single region driver                                                                                                                               :mod:`libcloud.compute.drivers.serverlove`        :class:`ServerLoveNodeDriver`       
+`skalicloud`_                                                                           SKALICLOUD          single region driver                                                                                                                               :mod:`libcloud.compute.drivers.skalicloud`        :class:`SkaliCloudNodeDriver`       
+`SoftLayer`_                                                                            SOFTLAYER           single region driver                                                                                                                               :mod:`libcloud.compute.drivers.softlayer`         :class:`SoftLayerNodeDriver`        
+`vCloud`_                                                                               TERREMARK           single region driver                                                                                                                               :mod:`libcloud.compute.drivers.vcloud`            :class:`TerremarkDriver`            
+`VCL`_                                                                                  VCL                 single region driver                                                                                                                               :mod:`libcloud.compute.drivers.vcl`               :class:`VCLNodeDriver`              
+`vCloud`_                             :doc:`Click </compute/drivers/vcloud>`            VCLOUD              single region driver                                                                                                                               :mod:`libcloud.compute.drivers.vcloud`            :class:`VCloudNodeDriver`           
+`Voxel VoxCLOUD`_                                                                       VOXEL               single region driver                                                                                                                               :mod:`libcloud.compute.drivers.voxel`             :class:`VoxelNodeDriver`            
+`vps.net`_                                                                              VPSNET              single region driver                                                                                                                               :mod:`libcloud.compute.drivers.vpsnet`            :class:`VPSNetNodeDriver`           
+`VMware vSphere`_                     :doc:`Click </compute/drivers/vsphere>`           VSPHERE             single region driver                                                                                                                               :mod:`libcloud.compute.drivers.vsphere`           :class:`VSphereNodeDriver`          
+`Vultr`_                              :doc:`Click </compute/drivers/vultr>`             VULTR               single region driver                                                                                                                               :mod:`libcloud.compute.drivers.vultr`             :class:`VultrNodeDriver`            
+===================================== ================================================= =================== ================================================================================================================================================== ================================================= ====================================
 
 .. _`Abiquo`: http://www.abiquo.com/
 .. _`Aliyun ECS`: https://www.aliyun.com/product/ecs
@@ -93,27 +74,8 @@ Provider                              Documentation
 .. _`DigitalOcean`: https://www.digitalocean.com
 .. _`DimensionData`: http://www.dimensiondata.com/
 .. _`Amazon EC2`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-northeast-2)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-southeast-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (ap-southeast-2)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (eu-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (eu-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (sa-east-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (us-west-1)`: http://aws.amazon.com/ec2/
-.. _`Amazon EC2 (us-west-2)`: http://aws.amazon.com/ec2/
 .. _`Enomaly Elastic Computing Platform`: http://www.enomaly.com/
 .. _`ElasticHosts`: http://www.elastichosts.com/
-.. _`ElasticHosts (syd-y)`: http://www.elastichosts.com/
-.. _`ElasticHosts (tor-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (cn-1)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lon-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lon-b)`: http://www.elastichosts.com/
-.. _`ElasticHosts (sat-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (lax-p)`: http://www.elastichosts.com/
-.. _`ElasticHosts (sjc-c)`: http://www.elastichosts.com/
 .. _`Eucalyptus`: http://www.eucalyptus.com/
 .. _`Exoscale`: https://www.exoscale.ch/
 .. _`Gandi`: http://www.gandi.net/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/container/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/container/_supported_providers.rst b/docs/container/_supported_providers.rst
index 3c400c6..4c88fbe 100644
--- a/docs/container/_supported_providers.rst
+++ b/docs/container/_supported_providers.rst
@@ -1,13 +1,13 @@
 .. NOTE: This file has been generated automatically using generate_provider_feature_matrix_table.py script, don't manually edit it
 
-=================================== ============================================ ================= ============================================ ==================================
-Provider                            Documentation                                Provider constant Module                                       Class Name                        
-=================================== ============================================ ================= ============================================ ==================================
-`Docker`_                           :doc:`Click </container/drivers/docker>`     DOCKER            :mod:`libcloud.container.drivers.docker`     :class:`DockerContainerDriver`    
-`Amazon Elastic Container Service`_ :doc:`Click </container/drivers/ecs>`        ECS               :mod:`libcloud.container.drivers.ecs`        :class:`ElasticContainerDriver`   
-`Joyent Triton`_                    :doc:`Click </container/drivers/joyent>`     JOYENT            :mod:`libcloud.container.drivers.joyent`     :class:`JoyentContainerDriver`    
-`Kubernetes`_                       :doc:`Click </container/drivers/kubernetes>` KUBERNETES        :mod:`libcloud.container.drivers.kubernetes` :class:`KubernetesContainerDriver`
-=================================== ============================================ ================= ============================================ ==================================
+=================================== ============================================ ================= ==================== ============================================ ==================================
+Provider                            Documentation                                Provider Constant Supported Regions    Module                                       Class Name                        
+=================================== ============================================ ================= ==================== ============================================ ==================================
+`Docker`_                           :doc:`Click </container/drivers/docker>`     DOCKER            single region driver :mod:`libcloud.container.drivers.docker`     :class:`DockerContainerDriver`    
+`Amazon Elastic Container Service`_ :doc:`Click </container/drivers/ecs>`        ECS               single region driver :mod:`libcloud.container.drivers.ecs`        :class:`ElasticContainerDriver`   
+`Joyent Triton`_                    :doc:`Click </container/drivers/joyent>`     JOYENT            single region driver :mod:`libcloud.container.drivers.joyent`     :class:`JoyentContainerDriver`    
+`Kubernetes`_                       :doc:`Click </container/drivers/kubernetes>` KUBERNETES        single region driver :mod:`libcloud.container.drivers.kubernetes` :class:`KubernetesContainerDriver`
+=================================== ============================================ ================= ==================== ============================================ ==================================
 
 .. _`Docker`: http://docker.io
 .. _`Amazon Elastic Container Service`: https://aws.amazon.com/ecs/details/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/dns/_supported_methods.rst
----------------------------------------------------------------------
diff --git a/docs/dns/_supported_methods.rst b/docs/dns/_supported_methods.rst
index 34809fe..28dff00 100644
--- a/docs/dns/_supported_methods.rst
+++ b/docs/dns/_supported_methods.rst
@@ -1,31 +1,29 @@
 .. NOTE: This file has been generated automatically using generate_provider_feature_matrix_table.py script, don't manually edit it
 
-===================== ========== ============ =========== =========== ============= ============= =========== =============
-Provider              list zones list records create zone update zone create record update record delete zone delete record
-===================== ========== ============ =========== =========== ============= ============= =========== =============
-`AuroraDNS`_          yes        yes          yes         no          yes           yes           yes         yes          
-`CloudFlare DNS`_     yes        yes          no          no          yes           yes           no          yes          
-`DigitalOcean`_       yes        yes          yes         no          yes           yes           yes         yes          
-`DNSimple`_           yes        yes          yes         no          yes           yes           yes         yes          
-`DurableDNS`_         yes        yes          yes         yes         yes           yes           yes         yes          
-`Gandi DNS`_          yes        yes          yes         yes         yes           yes           yes         yes          
-`GoDaddy DNS`_        yes        yes          no          no          yes           yes           yes         no           
-`Google DNS`_         yes        yes          yes         no          yes           no            yes         yes          
-`Host Virtual DNS`_   yes        yes          yes         yes         yes           yes           yes         yes          
-`Linode DNS`_         yes        yes          yes         yes         yes           yes           yes         yes          
-`Liquidweb DNS`_      yes        yes          yes         no          yes           yes           yes         yes          
-`NFSN DNS`_           no         yes          no          no          yes           no            no          yes          
-`Point DNS`_          yes        yes          yes         yes         yes           yes           yes         yes          
-`Rackspace DNS`_      yes        yes          yes         yes         yes           yes           yes         yes          
-`Rackspace DNS (UK)`_ yes        yes          yes         yes         yes           yes           yes         yes          
-`Rackspace DNS (US)`_ yes        yes          yes         yes         yes           yes           yes         yes          
-`Route53 DNS`_        yes        yes          yes         no          yes           yes           yes         yes          
-`Softlayer DNS`_      yes        yes          yes         no          yes           yes           yes         yes          
-`Vultr DNS`_          yes        yes          yes         no          yes           no            yes         yes          
-`World Wide DNS`_     yes        yes          yes         yes         yes           yes           yes         yes          
-`Zerigo DNS`_         yes        yes          yes         yes         yes           yes           yes         yes          
-`Zonomi DNS`_         yes        yes          yes         no          yes           no            yes         yes          
-===================== ========== ============ =========== =========== ============= ============= =========== =============
+=================== ========== ============ =========== =========== ============= ============= =========== =============
+Provider            list zones list records create zone update zone create record update record delete zone delete record
+=================== ========== ============ =========== =========== ============= ============= =========== =============
+`AuroraDNS`_        yes        yes          yes         no          yes           yes           yes         yes          
+`CloudFlare DNS`_   yes        yes          no          no          yes           yes           no          yes          
+`DigitalOcean`_     yes        yes          yes         no          yes           yes           yes         yes          
+`DNSimple`_         yes        yes          yes         no          yes           yes           yes         yes          
+`DurableDNS`_       yes        yes          yes         yes         yes           yes           yes         yes          
+`Gandi DNS`_        yes        yes          yes         yes         yes           yes           yes         yes          
+`GoDaddy DNS`_      yes        yes          no          no          yes           yes           yes         no           
+`Google DNS`_       yes        yes          yes         no          yes           no            yes         yes          
+`Host Virtual DNS`_ yes        yes          yes         yes         yes           yes           yes         yes          
+`Linode DNS`_       yes        yes          yes         yes         yes           yes           yes         yes          
+`Liquidweb DNS`_    yes        yes          yes         no          yes           yes           yes         yes          
+`NFSN DNS`_         no         yes          no          no          yes           no            no          yes          
+`Point DNS`_        yes        yes          yes         yes         yes           yes           yes         yes          
+`Rackspace DNS`_    yes        yes          yes         yes         yes           yes           yes         yes          
+`Route53 DNS`_      yes        yes          yes         no          yes           yes           yes         yes          
+`Softlayer DNS`_    yes        yes          yes         no          yes           yes           yes         yes          
+`Vultr DNS`_        yes        yes          yes         no          yes           no            yes         yes          
+`World Wide DNS`_   yes        yes          yes         yes         yes           yes           yes         yes          
+`Zerigo DNS`_       yes        yes          yes         yes         yes           yes           yes         yes          
+`Zonomi DNS`_       yes        yes          yes         no          yes           no            yes         yes          
+=================== ========== ============ =========== =========== ============= ============= =========== =============
 
 .. _`AuroraDNS`: https://www.pcextreme.nl/en/aurora/dns
 .. _`CloudFlare DNS`: https://www.cloudflare.com
@@ -41,8 +39,6 @@ Provider              list zones list records create zone update zone create rec
 .. _`NFSN DNS`: https://www.nearlyfreespeech.net
 .. _`Point DNS`: https://pointhq.com/
 .. _`Rackspace DNS`: http://www.rackspace.com/
-.. _`Rackspace DNS (UK)`: http://www.rackspace.com/
-.. _`Rackspace DNS (US)`: http://www.rackspace.com/
 .. _`Route53 DNS`: http://aws.amazon.com/route53/
 .. _`Softlayer DNS`: https://www.softlayer.com
 .. _`Vultr DNS`: http://www.vultr.com/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/dns/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/dns/_supported_providers.rst b/docs/dns/_supported_providers.rst
index 89015b1..e191787 100644
--- a/docs/dns/_supported_providers.rst
+++ b/docs/dns/_supported_providers.rst
@@ -1,31 +1,29 @@
 .. NOTE: This file has been generated automatically using generate_provider_feature_matrix_table.py script, don't manually edit it
 
-===================== ========================================= ================= ======================================== ==============================
-Provider              Documentation                             Provider constant Module                                   Class Name                    
-===================== ========================================= ================= ======================================== ==============================
-`AuroraDNS`_          :doc:`Click </dns/drivers/auroradns>`     AURORADNS         :mod:`libcloud.dns.drivers.auroradns`    :class:`AuroraDNSDriver`      
-`CloudFlare DNS`_     :doc:`Click </dns/drivers/cloudflare>`    CLOUDFLARE        :mod:`libcloud.dns.drivers.cloudflare`   :class:`CloudFlareDNSDriver`  
-`DigitalOcean`_       :doc:`Click </dns/drivers/digital_ocean>` DIGITAL_OCEAN     :mod:`libcloud.dns.drivers.digitalocean` :class:`DigitalOceanDNSDriver`
-`DNSimple`_           :doc:`Click </dns/drivers/dnsimple>`      DNSIMPLE          :mod:`libcloud.dns.drivers.dnsimple`     :class:`DNSimpleDNSDriver`    
-`DurableDNS`_         :doc:`Click </dns/drivers/durabledns>`    DURABLEDNS        :mod:`libcloud.dns.drivers.durabledns`   :class:`DurableDNSDriver`     
-`Gandi DNS`_                                                    GANDI             :mod:`libcloud.dns.drivers.gandi`        :class:`GandiDNSDriver`       
-`GoDaddy DNS`_        :doc:`Click </dns/drivers/godaddy>`       GODADDY           :mod:`libcloud.dns.drivers.godaddy`      :class:`GoDaddyDNSDriver`     
-`Google DNS`_                                                   GOOGLE            :mod:`libcloud.dns.drivers.google`       :class:`GoogleDNSDriver`      
-`Host Virtual DNS`_   :doc:`Click </dns/drivers/hostvirtual>`   HOSTVIRTUAL       :mod:`libcloud.dns.drivers.hostvirtual`  :class:`HostVirtualDNSDriver` 
-`Linode DNS`_                                                   LINODE            :mod:`libcloud.dns.drivers.linode`       :class:`LinodeDNSDriver`      
-`Liquidweb DNS`_      :doc:`Click </dns/drivers/liquidweb>`     LIQUIDWEB         :mod:`libcloud.dns.drivers.liquidweb`    :class:`LiquidWebDNSDriver`   
-`NFSN DNS`_                                                     NFSN              :mod:`libcloud.dns.drivers.nfsn`         :class:`NFSNDNSDriver`        
-`Point DNS`_          :doc:`Click </dns/drivers/pointdns>`      POINTDNS          :mod:`libcloud.dns.drivers.pointdns`     :class:`PointDNSDriver`       
-`Rackspace DNS`_                                                RACKSPACE         :mod:`libcloud.dns.drivers.rackspace`    :class:`RackspaceDNSDriver`   
-`Rackspace DNS (UK)`_                                           RACKSPACE_UK      :mod:`libcloud.dns.drivers.rackspace`    :class:`RackspaceUKDNSDriver` 
-`Rackspace DNS (US)`_                                           RACKSPACE_US      :mod:`libcloud.dns.drivers.rackspace`    :class:`RackspaceUSDNSDriver` 
-`Route53 DNS`_                                                  ROUTE53           :mod:`libcloud.dns.drivers.route53`      :class:`Route53DNSDriver`     
-`Softlayer DNS`_                                                SOFTLAYER         :mod:`libcloud.dns.drivers.softlayer`    :class:`SoftLayerDNSDriver`   
-`Vultr DNS`_          :doc:`Click </dns/drivers/vultr>`         VULTR             :mod:`libcloud.dns.drivers.vultr`        :class:`VultrDNSDriver`       
-`World Wide DNS`_     :doc:`Click </dns/drivers/worldwidedns>`  WORLDWIDEDNS      :mod:`libcloud.dns.drivers.worldwidedns` :class:`WorldWideDNSDriver`   
-`Zerigo DNS`_                                                   ZERIGO            :mod:`libcloud.dns.drivers.zerigo`       :class:`ZerigoDNSDriver`      
-`Zonomi DNS`_         :doc:`Click </dns/drivers/zonomi>`        ZONOMI            :mod:`libcloud.dns.drivers.zonomi`       :class:`ZonomiDNSDriver`      
-===================== ========================================= ================= ======================================== ==============================
+=================== ========================================= ================= ==================== ======================================== ==============================
+Provider            Documentation                             Provider Constant Supported Regions    Module                                   Class Name                    
+=================== ========================================= ================= ==================== ======================================== ==============================
+`AuroraDNS`_        :doc:`Click </dns/drivers/auroradns>`     AURORADNS         single region driver :mod:`libcloud.dns.drivers.auroradns`    :class:`AuroraDNSDriver`      
+`CloudFlare DNS`_   :doc:`Click </dns/drivers/cloudflare>`    CLOUDFLARE        single region driver :mod:`libcloud.dns.drivers.cloudflare`   :class:`CloudFlareDNSDriver`  
+`DigitalOcean`_     :doc:`Click </dns/drivers/digital_ocean>` DIGITAL_OCEAN     single region driver :mod:`libcloud.dns.drivers.digitalocean` :class:`DigitalOceanDNSDriver`
+`DNSimple`_         :doc:`Click </dns/drivers/dnsimple>`      DNSIMPLE          single region driver :mod:`libcloud.dns.drivers.dnsimple`     :class:`DNSimpleDNSDriver`    
+`DurableDNS`_       :doc:`Click </dns/drivers/durabledns>`    DURABLEDNS        single region driver :mod:`libcloud.dns.drivers.durabledns`   :class:`DurableDNSDriver`     
+`Gandi DNS`_                                                  GANDI             single region driver :mod:`libcloud.dns.drivers.gandi`        :class:`GandiDNSDriver`       
+`GoDaddy DNS`_      :doc:`Click </dns/drivers/godaddy>`       GODADDY           single region driver :mod:`libcloud.dns.drivers.godaddy`      :class:`GoDaddyDNSDriver`     
+`Google DNS`_                                                 GOOGLE            single region driver :mod:`libcloud.dns.drivers.google`       :class:`GoogleDNSDriver`      
+`Host Virtual DNS`_ :doc:`Click </dns/drivers/hostvirtual>`   HOSTVIRTUAL       single region driver :mod:`libcloud.dns.drivers.hostvirtual`  :class:`HostVirtualDNSDriver` 
+`Linode DNS`_                                                 LINODE            single region driver :mod:`libcloud.dns.drivers.linode`       :class:`LinodeDNSDriver`      
+`Liquidweb DNS`_    :doc:`Click </dns/drivers/liquidweb>`     LIQUIDWEB         single region driver :mod:`libcloud.dns.drivers.liquidweb`    :class:`LiquidWebDNSDriver`   
+`NFSN DNS`_                                                   NFSN              single region driver :mod:`libcloud.dns.drivers.nfsn`         :class:`NFSNDNSDriver`        
+`Point DNS`_        :doc:`Click </dns/drivers/pointdns>`      POINTDNS          single region driver :mod:`libcloud.dns.drivers.pointdns`     :class:`PointDNSDriver`       
+`Rackspace DNS`_                                              RACKSPACE         us, uk               :mod:`libcloud.dns.drivers.rackspace`    :class:`RackspaceDNSDriver`   
+`Route53 DNS`_                                                ROUTE53           single region driver :mod:`libcloud.dns.drivers.route53`      :class:`Route53DNSDriver`     
+`Softlayer DNS`_                                              SOFTLAYER         single region driver :mod:`libcloud.dns.drivers.softlayer`    :class:`SoftLayerDNSDriver`   
+`Vultr DNS`_        :doc:`Click </dns/drivers/vultr>`         VULTR             single region driver :mod:`libcloud.dns.drivers.vultr`        :class:`VultrDNSDriver`       
+`World Wide DNS`_   :doc:`Click </dns/drivers/worldwidedns>`  WORLDWIDEDNS      single region driver :mod:`libcloud.dns.drivers.worldwidedns` :class:`WorldWideDNSDriver`   
+`Zerigo DNS`_                                                 ZERIGO            single region driver :mod:`libcloud.dns.drivers.zerigo`       :class:`ZerigoDNSDriver`      
+`Zonomi DNS`_       :doc:`Click </dns/drivers/zonomi>`        ZONOMI            single region driver :mod:`libcloud.dns.drivers.zonomi`       :class:`ZonomiDNSDriver`      
+=================== ========================================= ================= ==================== ======================================== ==============================
 
 .. _`AuroraDNS`: https://www.pcextreme.nl/en/aurora/dns
 .. _`CloudFlare DNS`: https://www.cloudflare.com
@@ -41,8 +39,6 @@ Provider              Documentation                             Provider constan
 .. _`NFSN DNS`: https://www.nearlyfreespeech.net
 .. _`Point DNS`: https://pointhq.com/
 .. _`Rackspace DNS`: http://www.rackspace.com/
-.. _`Rackspace DNS (UK)`: http://www.rackspace.com/
-.. _`Rackspace DNS (US)`: http://www.rackspace.com/
 .. _`Route53 DNS`: http://aws.amazon.com/route53/
 .. _`Softlayer DNS`: https://www.softlayer.com
 .. _`Vultr DNS`: http://www.vultr.com/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3cb03ebb/docs/loadbalancer/_supported_methods.rst
----------------------------------------------------------------------
diff --git a/docs/loadbalancer/_supported_methods.rst b/docs/loadbalancer/_supported_methods.rst
index ac65782..ddecad5 100644
--- a/docs/loadbalancer/_supported_methods.rst
+++ b/docs/loadbalancer/_supported_methods.rst
@@ -12,8 +12,6 @@ Provider                               create balancer list balancers list membe
 `GoGrid LB`_                           yes             yes            yes          yes           yes           no                 
 `Ninefold LB`_                         yes             yes            yes          yes           yes           no                 
 `Rackspace LB`_                        yes             yes            yes          yes           yes           no                 
-`Rackspace LB`_                        yes             yes            yes          yes           yes           no                 
-`Rackspace LB`_                        yes             yes            yes          yes           yes           no                 
 `Softlayer Load Balancing`_            no              yes            yes          yes           yes           no                 
 ====================================== =============== ============== ============ ============= ============= ===================
 
@@ -26,6 +24,4 @@ Provider                               create balancer list balancers list membe
 .. _`GoGrid LB`: http://www.gogrid.com/
 .. _`Ninefold LB`: http://ninefold.com/
 .. _`Rackspace LB`: http://www.rackspace.com/
-.. _`Rackspace LB`: http://www.rackspace.com/
-.. _`Rackspace LB`: http://www.rackspace.com/
 .. _`Softlayer Load Balancing`: http://www.softlayer.com/


[02/15] libcloud git commit: Also handle deprecated constant mapping for storage drivers and update affected CloudFiles drivers.

Posted by to...@apache.org.
Also handle deprecated constant mapping for storage drivers and update affected
CloudFiles drivers.


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

Branch: refs/heads/trunk
Commit: 41b9caa64d7ee6500235c6d4c2bf2b6187f766fa
Parents: 2f73fdf
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Wed Mar 16 16:18:13 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Thu Mar 31 18:32:19 2016 -0700

----------------------------------------------------------------------
 libcloud/compute/providers.py            |  3 ++-
 libcloud/compute/types.py                |  1 +
 libcloud/storage/providers.py            | 13 ++++--------
 libcloud/storage/types.py                | 30 +++++++++++++++++++--------
 libcloud/test/compute/test_rackspace.py  |  1 -
 libcloud/test/storage/test_cloudfiles.py | 11 +++++-----
 6 files changed, 34 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/41b9caa6/libcloud/compute/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/providers.py b/libcloud/compute/providers.py
index b186757..568c886 100644
--- a/libcloud/compute/providers.py
+++ b/libcloud/compute/providers.py
@@ -145,9 +145,10 @@ DRIVERS = {
 
 
 def get_driver(provider):
+    deprecated_constants = OLD_CONSTANT_TO_NEW_MAPPING
     return _get_provider_driver(drivers=DRIVERS, provider=provider,
                                 deprecated_providers=DEPRECATED_DRIVERS,
-                                deprecated_constants=OLD_CONSTANT_TO_NEW_MAPPING)
+                                deprecated_constants=deprecated_constants)
 
 
 def set_driver(provider, module, klass):

http://git-wip-us.apache.org/repos/asf/libcloud/blob/41b9caa6/libcloud/compute/types.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/types.py b/libcloud/compute/types.py
index 17f9ef5..5b9b768 100644
--- a/libcloud/compute/types.py
+++ b/libcloud/compute/types.py
@@ -30,6 +30,7 @@ __all__ = [
     "MalformedResponseError",
     "InvalidCredsError",
     "InvalidCredsException",
+
     "OLD_CONSTANT_TO_NEW_MAPPING"
 ]
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/41b9caa6/libcloud/storage/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/storage/providers.py b/libcloud/storage/providers.py
index 0eaaf8c..eddd470 100644
--- a/libcloud/storage/providers.py
+++ b/libcloud/storage/providers.py
@@ -14,6 +14,7 @@
 # limitations under the License.
 
 from libcloud.storage.types import Provider
+from libcloud.storage.types import OLD_CONSTANT_TO_NEW_MAPPING
 from libcloud.common.providers import get_driver as _get_provider_driver
 from libcloud.common.providers import set_driver as _set_provider_driver
 
@@ -62,19 +63,13 @@ DRIVERS = {
     ('libcloud.storage.drivers.backblaze_b2', 'BackblazeB2StorageDriver'),
     Provider.ALIYUN_OSS:
     ('libcloud.storage.drivers.oss', 'OSSStorageDriver'),
-
-    # Deprecated
-    Provider.CLOUDFILES_US:
-    ('libcloud.storage.drivers.cloudfiles', 'CloudFilesUSStorageDriver'),
-    Provider.CLOUDFILES_UK:
-    ('libcloud.storage.drivers.cloudfiles', 'CloudFilesUKStorageDriver'),
-    Provider.CLOUDFILES_SWIFT:
-    ('libcloud.storage.drivers.cloudfiles', 'OpenStackSwiftStorageDriver')
 }
 
 
 def get_driver(provider):
-    return _get_provider_driver(drivers=DRIVERS, provider=provider)
+    deprecated_constants = OLD_CONSTANT_TO_NEW_MAPPING
+    return _get_provider_driver(drivers=DRIVERS, provider=provider,
+                                deprecated_constants=deprecated_constants)
 
 
 def set_driver(provider, module, klass):

http://git-wip-us.apache.org/repos/asf/libcloud/blob/41b9caa6/libcloud/storage/types.py
----------------------------------------------------------------------
diff --git a/libcloud/storage/types.py b/libcloud/storage/types.py
index 131d4f6..ea8f645 100644
--- a/libcloud/storage/types.py
+++ b/libcloud/storage/types.py
@@ -15,15 +15,19 @@
 
 from libcloud.common.types import LibcloudError
 
-__all__ = ['Provider',
-           'ContainerError',
-           'ObjectError',
-           'ContainerAlreadyExistsError',
-           'ContainerDoesNotExistError',
-           'ContainerIsNotEmptyError',
-           'ObjectDoesNotExistError',
-           'ObjectHashMismatchError',
-           'InvalidContainerNameError']
+__all__ = [
+    'Provider',
+    'ContainerError',
+    'ObjectError',
+    'ContainerAlreadyExistsError',
+    'ContainerDoesNotExistError',
+    'ContainerIsNotEmptyError',
+    'ObjectDoesNotExistError',
+    'ObjectHashMismatchError',
+    'InvalidContainerNameError',
+
+    'OLD_CONSTANT_TO_NEW_MAPPING'
+]
 
 
 class Provider(object):
@@ -75,6 +79,14 @@ class Provider(object):
     CLOUDFILES_SWIFT = 'cloudfiles_swift'
 
 
+OLD_CONSTANT_TO_NEW_MAPPING = {
+    # CloudFiles
+    Provider.CLOUDFILES_US: Provider.CLOUDFILES,
+    Provider.CLOUDFILES_UK: Provider.CLOUDFILES_UK,
+    Provider.CLOUDFILES_SWIFT: Provider.OPENSTACK_SWIFT
+}
+
+
 class ContainerError(LibcloudError):
     error_type = 'ContainerError'
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/41b9caa6/libcloud/test/compute/test_rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_rackspace.py b/libcloud/test/compute/test_rackspace.py
index 581b198..d5e46cb 100644
--- a/libcloud/test/compute/test_rackspace.py
+++ b/libcloud/test/compute/test_rackspace.py
@@ -51,7 +51,6 @@ class RackspaceusFirstGenUsTests(OpenStack_1_0_Tests):
                 get_driver(provider)
             except Exception:
                 e = sys.exc_info()[1]
-                print str(e)
                 self.assertTrue(str(e).find('has been removed') != -1)
             else:
                 self.fail('Exception was not thrown')

http://git-wip-us.apache.org/repos/asf/libcloud/blob/41b9caa6/libcloud/test/storage/test_cloudfiles.py
----------------------------------------------------------------------
diff --git a/libcloud/test/storage/test_cloudfiles.py b/libcloud/test/storage/test_cloudfiles.py
index 3e911da..58e1e18 100644
--- a/libcloud/test/storage/test_cloudfiles.py
+++ b/libcloud/test/storage/test_cloudfiles.py
@@ -38,8 +38,6 @@ from libcloud.storage.types import ObjectDoesNotExistError
 from libcloud.storage.types import ObjectHashMismatchError
 from libcloud.storage.types import InvalidContainerNameError
 from libcloud.storage.drivers.cloudfiles import CloudFilesStorageDriver
-from libcloud.storage.drivers.cloudfiles import CloudFilesUSStorageDriver
-from libcloud.storage.drivers.cloudfiles import CloudFilesUKStorageDriver
 from libcloud.storage.drivers.dummy import DummyIterator
 
 from libcloud.test import StorageMockHttp, MockRawResponse  # pylint: disable-msg=E0611
@@ -61,8 +59,11 @@ class CloudFilesTests(unittest.TestCase):
             CloudFilesMockRawResponse
         CloudFilesMockHttp.type = None
         CloudFilesMockRawResponse.type = None
+
+        driver_kwargs = self.driver_kwargs.copy()
+        driver_kwargs['region'] = self.region
         self.driver = self.driver_klass(*self.driver_args,
-                                        **self.driver_kwargs)
+                                        **driver_kwargs)
 
         # normally authentication happens lazily, but we force it here
         self.driver.connection._populate_hosts_and_request_paths()
@@ -866,12 +867,12 @@ class CloudFilesTests(unittest.TestCase):
 
 
 class CloudFilesDeprecatedUSTests(CloudFilesTests):
-    driver_klass = CloudFilesUSStorageDriver
+    driver_klass = CloudFilesStorageDriver
     region = 'ord'
 
 
 class CloudFilesDeprecatedUKTests(CloudFilesTests):
-    driver_klass = CloudFilesUKStorageDriver
+    driver_klass = CloudFilesStorageDriver
     region = 'lon'