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'