blob: 964fd5ab1531c68c2221b31010a9003af55a401e [file] [log] [blame]
# 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.
"""
ServerLove Driver
"""
from libcloud.compute.types import Provider
from libcloud.compute.drivers.elasticstack import (
ElasticStackBaseConnection,
ElasticStackBaseNodeDriver,
)
# API end-points
API_ENDPOINTS = {
"uk-1": {
"name": "United Kingdom, Manchester",
"country": "United Kingdom",
"host": "api.z1-man.serverlove.com",
}
}
# Default API end-point for the base connection class.
DEFAULT_ENDPOINT = "uk-1"
# Retrieved from http://www.serverlove.com/cloud-server-faqs/api-questions/
STANDARD_DRIVES = {
"679f5f44-0be7-4745-a658-cccd4334c1aa": {
"uuid": "679f5f44-0be7-4745-a658-cccd4334c1aa",
"description": "CentOS 5.5",
"size_gunzipped": "1GB",
"supports_deployment": True,
},
"5f2e0e29-2937-42b9-b362-d2d07eddbdeb": {
"uuid": "5f2e0e29-2937-42b9-b362-d2d07eddbdeb",
"description": "Ubuntu Linux 10.04",
"size_gunzipped": "1GB",
"supports_deployment": True,
},
"5795b68f-ed26-4639-b41d-c93235062b6b": {
"uuid": "5795b68f-ed26-4639-b41d-c93235062b6b",
"description": "Debian Linux 5",
"size_gunzipped": "1GB",
"supports_deployment": True,
},
"41993a02-0b22-4e49-bb47-0aa8975217e4": {
"uuid": "41993a02-0b22-4e49-bb47-0aa8975217e4",
"description": "Windows Server 2008 R2 Standard",
"size_gunzipped": "15GB",
"supports_deployment": False,
},
"85623ca1-9c2a-4398-a771-9a43c347e86b": {
"uuid": "85623ca1-9c2a-4398-a771-9a43c347e86b",
"description": "Windows Web Server 2008 R2",
"size_gunzipped": "15GB",
"supports_deployment": False,
},
}
class ServerLoveConnection(ElasticStackBaseConnection):
host = API_ENDPOINTS[DEFAULT_ENDPOINT]["host"]
class ServerLoveNodeDriver(ElasticStackBaseNodeDriver):
type = Provider.SERVERLOVE
api_name = "serverlove"
website = "http://www.serverlove.com/"
name = "ServerLove"
connectionCls = ServerLoveConnection
features = {"create_node": ["generates_password"]}
_standard_drives = STANDARD_DRIVES