| # 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.alpha3cloud.com", |
| }, |
| "wdc": { |
| "name": "Washington, DC", |
| "country": "United States", |
| "host": "wdc.alpha3cloud.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" "2.0"] # old and deprecated |
| |
| 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 |