blob: 74bf4f70001fe802c23d167f440d140cd30df05e [file] [log] [blame]
from libcloud.compute.providers import get_driver
from libcloud.compute.base import NodeSize
from libcloud.compute.type import Provider
cls = get_driver(Provider.GRIDSCALE)
driver = cls("USER-UUID", "API-TOKEN")
# We don't feature packages containing a fix size so you will have to
# built your own size object. Make sure to use a multiple of 1024MB when
# asigning RAM
size_name = "my-node-size"
ram = 1024 # amout of ram In MB
disk = 10 # disk size in GB
cores = 1 # numer of cores node should have
size = NodeSize(
id=0,
bandwidth=0,
price=0,
name=size_name,
ram=ram,
disk=disk,
driver=driver,
extra={"cores": cores},
)
ssh_key = driver.list_key_pairs()[0]
ssh_key_uuid = ssh_key.fingerprint
node_name = "MyServer"
images = driver.list_images()
image = [i for i in images if i.name == "Ubuntu 18.04 LTS"][0]
locations = driver.list_locations()
location = [loc for loc in locations if loc.name == "de/fra"][0]
node = driver.create_node(
name=node_name, size=size, image=image, location=location, ex_ssh_key_ids=ssh_key
)