libcloud-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From anthonys...@apache.org
Subject [2/5] libcloud git commit: Added full list of Dimension Data regions and partners. Added drivers for BSNL, Med-1, Indosat, Cisco CCS, NTT America, Internet Solutions and documentation to boot
Date Fri, 12 Feb 2016 00:18:58 GMT
http://git-wip-us.apache.org/repos/asf/libcloud/blob/7118a02c/libcloud/common/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/common/dimensiondata.py b/libcloud/common/dimensiondata.py
index f3ec27b..448c99d 100644
--- a/libcloud/common/dimensiondata.py
+++ b/libcloud/common/dimensiondata.py
@@ -57,9 +57,14 @@ API_ENDPOINTS = {
         'host': 'api-au.dimensiondata.com',
         'vendor': 'DimensionData'
     },
+    'dd-au-gov': {
+        'name': 'Australia Canberra ACT (AU)',
+        'host': 'api-canberra.dimensiondata.com',
+        'vendor': 'DimensionData'
+    },
     'dd-af': {
         'name': 'Africa (AF)',
-        'host': 'api-af.dimensiondata.com',
+        'host': 'api-mea.dimensiondata.com',
         'vendor': 'DimensionData'
     },
     'dd-ap': {
@@ -76,7 +81,192 @@ API_ENDPOINTS = {
         'name': 'Canada (CA)',
         'host': 'api-canada.dimensiondata.com',
         'vendor': 'DimensionData'
-    }
+    },
+    'is-na': {
+        'name': 'North America (NA)',
+        'host': 'usapi.cloud.is.co.za',
+        'vendor': 'InternetSolutions'
+    },
+    'is-eu': {
+        'name': 'Europe (EU)',
+        'host': 'euapi.cloud.is.co.za',
+        'vendor': 'InternetSolutions'
+    },
+    'is-au': {
+        'name': 'Australia (AU)',
+        'host': 'auapi.cloud.is.co.za',
+        'vendor': 'InternetSolutions'
+    },
+    'is-af': {
+        'name': 'Africa (AF)',
+        'host': 'meaapi.cloud.is.co.za',
+        'vendor': 'InternetSolutions'
+    },
+    'is-ap': {
+        'name': 'Asia Pacific (AP)',
+        'host': 'apapi.cloud.is.co.za',
+        'vendor': 'InternetSolutions'
+    },
+    'is-latam': {
+        'name': 'South America (LATAM)',
+        'host': 'latamapi.cloud.is.co.za',
+        'vendor': 'InternetSolutions'
+    },
+    'is-canada': {
+        'name': 'Canada (CA)',
+        'host': 'canadaapi.cloud.is.co.za',
+        'vendor': 'InternetSolutions'
+    },
+    'ntta-na': {
+        'name': 'North America (NA)',
+        'host': 'cloudapi.nttamerica.com',
+        'vendor': 'NTTNorthAmerica'
+    },
+    'ntta-eu': {
+        'name': 'Europe (EU)',
+        'host': 'eucloudapi.nttamerica.com',
+        'vendor': 'NTTNorthAmerica'
+    },
+    'ntta-au': {
+        'name': 'Australia (AU)',
+        'host': 'aucloudapi.nttamerica.com',
+        'vendor': 'NTTNorthAmerica'
+    },
+    'ntta-af': {
+        'name': 'Africa (AF)',
+        'host': 'sacloudapi.nttamerica.com',
+        'vendor': 'NTTNorthAmerica'
+    },
+    'ntta-ap': {
+        'name': 'Asia Pacific (AP)',
+        'host': 'hkcloudapi.nttamerica.com',
+        'vendor': 'NTTNorthAmerica'
+    },
+    'cisco-na': {
+        'name': 'North America (NA)',
+        'host': 'iaas-api-na.cisco-ccs.com',
+        'vendor': 'Cisco'
+    },
+    'cisco-eu': {
+        'name': 'Europe (EU)',
+        'host': 'iaas-api-eu.cisco-ccs.com',
+        'vendor': 'Cisco'
+    },
+    'cisco-au': {
+        'name': 'Australia (AU)',
+        'host': 'iaas-api-au.cisco-ccs.com',
+        'vendor': 'Cisco'
+    },
+    'cisco-af': {
+        'name': 'Africa (AF)',
+        'host': 'iaas-api-mea.cisco-ccs.com',
+        'vendor': 'Cisco'
+    },
+    'cisco-ap': {
+        'name': 'Asia Pacific (AP)',
+        'host': 'iaas-api-ap.cisco-ccs.com',
+        'vendor': 'Cisco'
+    },
+    'cisco-latam': {
+        'name': 'South America (LATAM)',
+        'host': 'iaas-api-sa.cisco-ccs.com',
+        'vendor': 'Cisco'
+    },
+    'cisco-canada': {
+        'name': 'Canada (CA)',
+        'host': 'iaas-api-ca.cisco-ccs.com',
+        'vendor': 'Cisco'
+    },
+    'med1-il': {
+        'name': 'Israel (IL)',
+        'host': 'api.cloud.med-1.com',
+        'vendor': 'Med-1'
+    },
+    'med1-na': {
+        'name': 'North America (NA)',
+        'host': 'api-na.cloud.med-1.com',
+        'vendor': 'Med-1'
+    },
+    'med1-eu': {
+        'name': 'Europe (EU)',
+        'host': 'api-eu.cloud.med-1.com',
+        'vendor': 'Med-1'
+    },
+    'med1-au': {
+        'name': 'Australia (AU)',
+        'host': 'api-au.cloud.med-1.com',
+        'vendor': 'Med-1'
+    },
+    'med1-af': {
+        'name': 'Africa (AF)',
+        'host': 'api-af.cloud.med-1.com',
+        'vendor': 'Med-1'
+    },
+    'med1-ap': {
+        'name': 'Asia Pacific (AP)',
+        'host': 'api-ap.cloud.med-1.com',
+        'vendor': 'Med-1'
+    },
+    'med1-latam': {
+        'name': 'South America (LATAM)',
+        'host': 'api-sa.cloud.med-1.com',
+        'vendor': 'Med-1'
+    },
+    'med1-canada': {
+        'name': 'Canada (CA)',
+        'host': 'api-ca.cloud.med-1.com',
+        'vendor': 'Med-1'
+    },
+    'indosat-id': {
+        'name': 'Indonesia (ID)',
+        'host': 'iaas-api.indosat.com',
+        'vendor': 'Indosat'
+    },
+    'indosat-na': {
+        'name': 'North America (NA)',
+        'host': 'iaas-usapi.indosat.com',
+        'vendor': 'Indosat'
+    },
+    'indosat-eu': {
+        'name': 'Europe (EU)',
+        'host': 'iaas-euapi.indosat.com',
+        'vendor': 'Indosat'
+    },
+    'indosat-au': {
+        'name': 'Australia (AU)',
+        'host': 'iaas-auapi.indosat.com',
+        'vendor': 'Indosat'
+    },
+    'indosat-af': {
+        'name': 'Africa (AF)',
+        'host': 'iaas-afapi.indosat.com',
+        'vendor': 'Indosat'
+    },
+    'bsnl-in': {
+        'name': 'India (IN)',
+        'host': 'api.bsnlcloud.com',
+        'vendor': 'BSNL'
+    },
+    'bsnl-na': {
+        'name': 'North America (NA)',
+        'host': 'usapi.bsnlcloud.com',
+        'vendor': 'BSNL'
+    },
+    'bsnl-eu': {
+        'name': 'Europe (EU)',
+        'host': 'euapi.bsnlcloud.com',
+        'vendor': 'BSNL'
+    },
+    'bsnl-au': {
+        'name': 'Australia (AU)',
+        'host': 'auapi.bsnlcloud.com',
+        'vendor': 'BSNL'
+    },
+    'bsnl-af': {
+        'name': 'Africa (AF)',
+        'host': 'afapi.bsnlcloud.com',
+        'vendor': 'BSNL'
+    },
 }
 
 # Default API end-point for the base connection class.

http://git-wip-us.apache.org/repos/asf/libcloud/blob/7118a02c/libcloud/compute/drivers/bsnl.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/bsnl.py b/libcloud/compute/drivers/bsnl.py
new file mode 100644
index 0000000..8b4736e
--- /dev/null
+++ b/libcloud/compute/drivers/bsnl.py
@@ -0,0 +1,56 @@
+# 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.
+"""
+BSNL Driver
+"""
+
+from libcloud.compute.providers import Provider
+from libcloud.common.dimensiondata import (DimensionDataConnection,
+                                           API_ENDPOINTS)
+from libcloud.compute.drivers.dimensiondata import DimensionDataNodeDriver
+
+DEFAULT_REGION = 'bsnl-in'
+
+
+class BSNLNodeDriver(DimensionDataNodeDriver):
+    """
+    BSNL node driver, based on Dimension Data driver
+    """
+
+    selected_region = None
+    connectionCls = DimensionDataConnection
+    name = 'BSNL'
+    website = 'http://www.bsnlcloud.com/'
+    type = Provider.BSNL
+    features = {'create_node': ['password']}
+    api_version = 1.0
+
+    def __init__(self, key, secret=None, secure=True, host=None, port=None,
+                 api_version=None, region=DEFAULT_REGION, **kwargs):
+
+        if region not in API_ENDPOINTS:
+            raise ValueError('Invalid region: %s' % (region))
+
+        self.selected_region = API_ENDPOINTS[region]
+
+        super(BSNLNodeDriver, self).__init__(
+            key=key,
+            secret=secret,
+            secure=secure,
+            host=host,
+            port=port,
+            api_version=api_version,
+            region=region,
+            **kwargs)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/7118a02c/libcloud/compute/drivers/ciscoccs.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ciscoccs.py b/libcloud/compute/drivers/ciscoccs.py
new file mode 100644
index 0000000..adc21f1
--- /dev/null
+++ b/libcloud/compute/drivers/ciscoccs.py
@@ -0,0 +1,56 @@
+# 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.
+"""
+Cisco CCS Driver
+"""
+
+from libcloud.compute.providers import Provider
+from libcloud.common.dimensiondata import (DimensionDataConnection,
+                                           API_ENDPOINTS)
+from libcloud.compute.drivers.dimensiondata import DimensionDataNodeDriver
+
+DEFAULT_REGION = 'cisco-na'
+
+
+class CiscoCCSNodeDriver(DimensionDataNodeDriver):
+    """
+    Cisco CCS node driver, based on Dimension Data driver
+    """
+
+    selected_region = None
+    connectionCls = DimensionDataConnection
+    name = 'CiscoCCS'
+    website = 'http://www.cisco.com/'
+    type = Provider.CISCOCCS
+    features = {'create_node': ['password']}
+    api_version = 1.0
+
+    def __init__(self, key, secret=None, secure=True, host=None, port=None,
+                 api_version=None, region=DEFAULT_REGION, **kwargs):
+
+        if region not in API_ENDPOINTS:
+            raise ValueError('Invalid region: %s' % (region))
+
+        self.selected_region = API_ENDPOINTS[region]
+
+        super(CiscoCCSNodeDriver, self).__init__(
+            key=key,
+            secret=secret,
+            secure=secure,
+            host=host,
+            port=port,
+            api_version=api_version,
+            region=region,
+            **kwargs)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/7118a02c/libcloud/compute/drivers/indosat.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/indosat.py b/libcloud/compute/drivers/indosat.py
new file mode 100644
index 0000000..8913dfb
--- /dev/null
+++ b/libcloud/compute/drivers/indosat.py
@@ -0,0 +1,56 @@
+# 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.
+"""
+Indosat Driver
+"""
+
+from libcloud.compute.providers import Provider
+from libcloud.common.dimensiondata import (DimensionDataConnection,
+                                           API_ENDPOINTS)
+from libcloud.compute.drivers.dimensiondata import DimensionDataNodeDriver
+
+DEFAULT_REGION = 'indosat-id'
+
+
+class IndosatNodeDriver(DimensionDataNodeDriver):
+    """
+    Indosat node driver, based on Dimension Data driver
+    """
+
+    selected_region = None
+    connectionCls = DimensionDataConnection
+    name = 'Indosat'
+    website = 'http://www.indosat.com/'
+    type = Provider.INDOSAT
+    features = {'create_node': ['password']}
+    api_version = 1.0
+
+    def __init__(self, key, secret=None, secure=True, host=None, port=None,
+                 api_version=None, region=DEFAULT_REGION, **kwargs):
+
+        if region not in API_ENDPOINTS:
+            raise ValueError('Invalid region: %s' % (region))
+
+        self.selected_region = API_ENDPOINTS[region]
+
+        super(IndosatNodeDriver, self).__init__(
+            key=key,
+            secret=secret,
+            secure=secure,
+            host=host,
+            port=port,
+            api_version=api_version,
+            region=region,
+            **kwargs)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/7118a02c/libcloud/compute/drivers/internetsolutions.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/internetsolutions.py b/libcloud/compute/drivers/internetsolutions.py
new file mode 100644
index 0000000..49415ae
--- /dev/null
+++ b/libcloud/compute/drivers/internetsolutions.py
@@ -0,0 +1,56 @@
+# 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.
+"""
+Internet Solutions Driver
+"""
+
+from libcloud.compute.providers import Provider
+from libcloud.common.dimensiondata import (DimensionDataConnection,
+                                           API_ENDPOINTS)
+from libcloud.compute.drivers.dimensiondata import DimensionDataNodeDriver
+
+DEFAULT_REGION = 'is-af'
+
+
+class InternetSolutionsNodeDriver(DimensionDataNodeDriver):
+    """
+    InternetSolutions node driver, based on Dimension Data driver
+    """
+
+    selected_region = None
+    connectionCls = DimensionDataConnection
+    name = 'InternetSolutions'
+    website = 'http://www.is.co.za/'
+    type = Provider.INTERNETSOLUTIONS
+    features = {'create_node': ['password']}
+    api_version = 1.0
+
+    def __init__(self, key, secret=None, secure=True, host=None, port=None,
+                 api_version=None, region=DEFAULT_REGION, **kwargs):
+
+        if region not in API_ENDPOINTS:
+            raise ValueError('Invalid region: %s' % (region))
+
+        self.selected_region = API_ENDPOINTS[region]
+
+        super(InternetSolutionsNodeDriver, self).__init__(
+            key=key,
+            secret=secret,
+            secure=secure,
+            host=host,
+            port=port,
+            api_version=api_version,
+            region=region,
+            **kwargs)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/7118a02c/libcloud/compute/drivers/medone.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/medone.py b/libcloud/compute/drivers/medone.py
new file mode 100644
index 0000000..2273303
--- /dev/null
+++ b/libcloud/compute/drivers/medone.py
@@ -0,0 +1,56 @@
+# 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.
+"""
+Med-1 Driver
+"""
+
+from libcloud.compute.providers import Provider
+from libcloud.common.dimensiondata import (DimensionDataConnection,
+                                           API_ENDPOINTS)
+from libcloud.compute.drivers.dimensiondata import DimensionDataNodeDriver
+
+DEFAULT_REGION = 'med1-il'
+
+
+class MedOneNodeDriver(DimensionDataNodeDriver):
+    """
+    Med-1 node driver, based on Dimension Data driver
+    """
+
+    selected_region = None
+    connectionCls = DimensionDataConnection
+    name = 'MedOne'
+    website = 'http://www.med-1.com/'
+    type = Provider.MEDONE
+    features = {'create_node': ['password']}
+    api_version = 1.0
+
+    def __init__(self, key, secret=None, secure=True, host=None, port=None,
+                 api_version=None, region=DEFAULT_REGION, **kwargs):
+
+        if region not in API_ENDPOINTS:
+            raise ValueError('Invalid region: %s' % (region))
+
+        self.selected_region = API_ENDPOINTS[region]
+
+        super(MedOneNodeDriver, self).__init__(
+            key=key,
+            secret=secret,
+            secure=secure,
+            host=host,
+            port=port,
+            api_version=api_version,
+            region=region,
+            **kwargs)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/7118a02c/libcloud/compute/drivers/ntta.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ntta.py b/libcloud/compute/drivers/ntta.py
new file mode 100644
index 0000000..5ef5cb9
--- /dev/null
+++ b/libcloud/compute/drivers/ntta.py
@@ -0,0 +1,56 @@
+# 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.
+"""
+NTT America Driver
+"""
+
+from libcloud.compute.providers import Provider
+from libcloud.common.dimensiondata import (DimensionDataConnection,
+                                           API_ENDPOINTS)
+from libcloud.compute.drivers.dimensiondata import DimensionDataNodeDriver
+
+DEFAULT_REGION = 'ntta-na'
+
+
+class NTTAmericaNodeDriver(DimensionDataNodeDriver):
+    """
+    NTT America node driver, based on Dimension Data driver
+    """
+
+    selected_region = None
+    connectionCls = DimensionDataConnection
+    name = 'NTTAmerica'
+    website = 'http://www.nttamerica.com/'
+    type = Provider.NTTA
+    features = {'create_node': ['password']}
+    api_version = 1.0
+
+    def __init__(self, key, secret=None, secure=True, host=None, port=None,
+                 api_version=None, region=DEFAULT_REGION, **kwargs):
+
+        if region not in API_ENDPOINTS:
+            raise ValueError('Invalid region: %s' % (region))
+
+        self.selected_region = API_ENDPOINTS[region]
+
+        super(NTTAmericaNodeDriver, self).__init__(
+            key=key,
+            secret=secret,
+            secure=secure,
+            host=host,
+            port=port,
+            api_version=api_version,
+            region=region,
+            **kwargs)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/7118a02c/libcloud/compute/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/providers.py b/libcloud/compute/providers.py
index 8a3793e..7560094 100644
--- a/libcloud/compute/providers.py
+++ b/libcloud/compute/providers.py
@@ -169,6 +169,18 @@ DRIVERS = {
     ('libcloud.compute.drivers.onapp', 'OnAppNodeDriver'),
     Provider.RUNABOVE:
     ('libcloud.compute.drivers.runabove', 'RunAboveNodeDriver'),
+    Provider.INTERNETSOLUTIONS:
+    ('libcloud.compute.drivers.internetsolutions', 'InternetSolutionsNodeDriver'),
+    Provider.INDOSAT:
+    ('libcloud.compute.drivers.indosat', 'IndosatNodeDriver'),
+    Provider.MEDONE:
+    ('libcloud.compute.drivers.medone', 'MedOneNodeDriver'),
+    Provider.BSNL:
+    ('libcloud.compute.drivers.bsnl', 'BSNLNodeDriver'),
+    Provider.CISCOCCS:
+    ('libcloud.compute.drivers.ciscoccs', 'CiscoCCSNodeDriver'),
+    Provider.NTTA:
+    ('libcloud.compute.drivers.ntta', 'NTTAmericaNodeDriver'),
 
     # Deprecated
     Provider.CLOUDSIGMA_US:

http://git-wip-us.apache.org/repos/asf/libcloud/blob/7118a02c/libcloud/compute/types.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/types.py b/libcloud/compute/types.py
index 0ddb4f1..1cef29c 100644
--- a/libcloud/compute/types.py
+++ b/libcloud/compute/types.py
@@ -153,6 +153,12 @@ class Provider(Type):
     CLOUDWATT = 'cloudwatt'
     PACKET = 'packet'
     RUNABOVE = 'runabove'
+    INTERNETSOLUTIONS = 'internetsolutions'
+    INDOSAT = 'indosat'
+    BSNL = 'bsnl'
+    NTTA = 'ntta'
+    MEDONE = 'medone'
+    CISCOCCS = 'ciscoccs'
 
     # OpenStack based providers
     HPCLOUD = 'hpcloud'


Mime
View raw message