| 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 = [l for l in locations if l.name == 'de/fra'][0] |
| |
| node = driver.create_node(name=node_name, size=size, image=image, |
| location=location, ex_ssh_key_ids=ssh_key) |