| Server IP : 85.214.239.14 / Your IP : 216.73.216.27 Web Server : Apache/2.4.65 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/task/3/root/usr/lib/python3/dist-packages/libcloud/common/ |
Upload File : |
# -*- coding: utf-8 -*-
# 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.
__all__ = [
'API_ENDPOINTS_1_0',
'API_ENDPOINTS_2_0',
'API_VERSIONS',
'INSTANCE_TYPES',
'MAX_VIRTIO_CONTROLLERS',
'MAX_VIRTIO_UNITS'
]
# API end-points
API_ENDPOINTS_1_0 = {
'zrh': {
'name': 'Zurich',
'country': 'Switzerland',
'host': 'api.zrh.cloudsigma.com'
},
'lvs': {
'name': 'Las Vegas',
'country': 'United States',
'host': 'api.lvs.cloudsigma.com'
}
}
API_ENDPOINTS_2_0 = {
'zrh': {
'name': 'Zurich, Switzerland',
'country': 'Switzerland',
'host': 'zrh.cloudsigma.com'
},
'sjc': {
'name': 'San Jose, CA',
'country': 'United States',
'host': 'sjc.cloudsigma.com'
},
'wdc': {
'name': 'Washington, DC',
'country': 'United States',
'host': 'wdc.cloudsigma.com'
},
'hnl': {
'name': 'Honolulu, HI',
'country': 'United States',
'host': 'hnl.cloudsigma.com'
},
'per': {
'name': 'Perth, Australia',
'country': 'Australia',
'host': 'per.cloudsigma.com'
},
'mnl': {
'name': 'Manila, Philippines',
'country': 'Philippines',
'host': 'mnl.cloudsigma.com'
},
'fra': {
'name': 'Frankfurt, Germany',
'country': 'Germany',
'host': 'fra.cloudsigma.com'
},
'mel': {
'name': 'Melbourne, Australia',
'country': 'Australia',
'host': 'mel.cloudsigma.com'
},
'dbl': {
'name': 'Dublin, Ireland',
'country': 'Ireland',
'host': 'ec.servecentric.com'
},
'tyo': {
'name': 'Tokyo, Japan',
'country': 'Japan',
'host': 'tyo.cloudsigma.com'
},
'crk': {
'name': 'Clark, Philippines',
'country': 'Philippines',
'host': 'crk.cloudsigma.com'
},
'mnl2': {
'name': 'Manila-2, Philippines',
'country': 'Philippines',
'host': 'mnl2.cloudsigma.com'
},
'ruh': {
'name': 'Riyadh, Saudi Arabia',
'country': 'Saudi Arabia',
'host': 'ruh.cloudsigma.com'
},
'bdn': {
'name': 'Boden, Sweden',
'country': 'Sweden',
'host': 'cloud.hydro66.com'
},
'gva': {
'name': 'Geneva, Switzerland',
'country': 'Switzerland',
'host': 'gva.cloudsigma.com'
},
}
DEFAULT_REGION = 'zrh'
# Supported API versions.
API_VERSIONS = [
'1.0' # old and deprecated
'2.0'
]
DEFAULT_API_VERSION = '2.0'
# CloudSigma doesn't specify special instance types.
# Basically for CPU any value between 0.5 GHz and 20.0 GHz should work,
# 500 MB to 32000 MB for ram
# and 1 GB to 1024 GB for hard drive size.
# Plans in this file are based on examples listed on https://cloudsigma
# .com/pricing/
INSTANCE_TYPES = [
{
'id': 'small-1',
'name': 'small-1, 1 CPUs, 512MB RAM, 50GB disk',
'cpu': 1,
'memory': 512,
'disk': 50,
'bandwidth': None,
},
{
'id': 'small-2',
'name': 'small-2, 1 CPUs, 1024MB RAM, 50GB disk',
'cpu': 1,
'memory': 1024,
'disk': 50,
'bandwidth': None,
},
{
'id': 'small-3',
'name': 'small-3, 1 CPUs, 2048MB RAM, 50GB disk',
'cpu': 1,
'memory': 2048,
'disk': 50,
'bandwidth': None,
},
{
'id': 'medium-1',
'name': 'medium-1, 2 CPUs, 2048MB RAM, 50GB disk',
'cpu': 2,
'memory': 2048,
'disk': 50,
'bandwidth': None,
},
{
'id': 'medium-2',
'name': 'medium-2, 2 CPUs, 4096MB RAM, 60GB disk',
'cpu': 2,
'memory': 4096,
'disk': 60,
'bandwidth': None,
},
{
'id': 'medium-3',
'name': 'medium-3, 4 CPUs, 8192MB RAM, 80GB disk',
'cpu': 4,
'memory': 8192,
'disk': 80,
'bandwidth': None,
},
{
'id': 'large-1',
'name': 'large-1, 8 CPUs, 16384MB RAM, 160GB disk',
'cpu': 8,
'memory': 16384,
'disk': 160,
'bandwidth': None,
},
{
'id': 'large-2',
'name': 'large-2, 12 CPUs, 32768MB RAM, 320GB disk',
'cpu': 12,
'memory': 32768,
'disk': 320,
'bandwidth': None,
},
{
'id': 'large-3',
'name': 'large-3, 16 CPUs, 49152MB RAM, 480GB disk',
'cpu': 16,
'memory': 49152,
'disk': 480,
'bandwidth': None,
},
{
'id': 'xlarge',
'name': 'xlarge, 20 CPUs, 65536MB RAM, 640GB disk',
'cpu': 20,
'memory': 65536,
'disk': 640,
'bandwidth': None,
},
]
# mapping between cpus, ram, disk to example size attributes
SPECS_TO_SIZE = {
(1, 512, 50): {
'id': 'small-1',
'name': 'small-1, 1 CPUs, 512MB RAM, 50GB disk',
'cpu': 1,
'ram': 512,
'disk': 50,
'bandwidth': None,
'price': None,
},
(1, 1024, 50): {
'id': 'small-2',
'name': 'small-2, 1 CPUs, 1024MB RAM, 50GB disk',
'cpu': 1,
'ram': 1024,
'disk': 50,
'bandwidth': None,
'price': None,
},
(1, 2048, 50): {
'id': 'small-3',
'name': 'small-3, 1 CPUs, 2048MB RAM, 50GB disk',
'cpu': 1,
'ram': 2048,
'disk': 50,
'bandwidth': None,
'price': None,
},
(2, 2048, 50): {
'id': 'medium-1',
'name': 'medium-1, 2 CPUs, 2048MB RAM, 50GB disk',
'cpu': 2,
'ram': 2048,
'disk': 50,
'bandwidth': None,
'price': None,
},
(2, 4096, 60): {
'id': 'medium-2',
'name': 'medium-2, 2 CPUs, 4096MB RAM, 60GB disk',
'cpu': 2,
'ram': 4096,
'disk': 60,
'bandwidth': None,
'price': None,
},
(4, 8192, 80): {
'id': 'medium-3',
'name': 'medium-3, 4 CPUs, 8192MB RAM, 80GB disk',
'cpu': 4,
'ram': 8192,
'disk': 80,
'bandwidth': None,
'price': None,
},
(8, 16384, 160): {
'id': 'large-1',
'name': 'large-1, 8 CPUs, 16384MB RAM, 160GB disk',
'cpu': 8,
'ram': 16384,
'disk': 160,
'bandwidth': None,
'price': None,
},
(12, 32768, 320): {
'id': 'large-2',
'name': 'large-2, 12 CPUs, 32768MB RAM, 320GB disk',
'cpu': 12,
'ram': 32768,
'disk': 320,
'bandwidth': None,
'price': None,
},
(16, 49152, 480): {
'id': 'large-3',
'name': 'large-3, 16 CPUs, 49152MB RAM, 480GB disk',
'cpu': 16,
'ram': 49152,
'disk': 480,
'bandwidth': None,
'price': None,
},
(20, 65536, 640): {
'id': 'xlarge',
'name': 'xlarge, 20 CPUs, 65536MB RAM, 640GB disk',
'cpu': 20,
'ram': 65536,
'disk': 640,
'bandwidth': None,
'price': None,
},
}
MAX_VIRTIO_CONTROLLERS = 203
MAX_VIRTIO_UNITS = 4