A library to interact with genesiscloud
Project description
py-genesiscloud
A library to interact with genesiscloud
Demo
Initialize the client:
>>> from genesiscloud.client import Client
>>> client = Client("yourapikey")
List available SSH keys:
>>> [i for i in c.SSHKeys.find({"name":"oz123"})]
[SSHKey({'id': '848a6631-486a-4992-8a40-5a9027415d02', 'name': 'oz123', 'public_key': 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIj3+Q0uK0lVNqYrqUUFMBajoUtFcLPHES2Xk0x8BvlV', 'created_at': '2020-05-21T17:39:10.621Z'})]
List all images which can be used to create an instance:
>>> [i for i in client.Images.find({"type": 'base-os'})]
[Image({'id': '45d06539-f8f5-48d9-816e-d4b1a8e5163e', 'name': 'Ubuntu 18.04', 'type': 'base-os', 'created_at': '2020-03-24T18:14:01.223Z'}),
Image({'id': '6d5c3613-f6cb-48e1-8711-14f084060209', 'name': 'Ubuntu 16.04', 'type': 'base-os', 'created_at': '2020-03-24T18:14:01.219Z'})]
Create an instance
>>> client.Instances.create(name='test-oz', hostname='hostname',
sshkeys=['650e5ecb-4e28-4a24-bfbf-ac4212f7e137']
type='vcpu-4_memory-12g_disk-80g_nvidia1080ti-1',
"image"='45d06539-f8f5-48d9-816e-d4b1a8e5163e',
"metadata"={"startup_script":"#!/bin/bash\nsudo apt update && sudo apt install iperf3"}
)
Accessing attributes of an Instance:
>>> inst = [i for i in client.Instances.list()][0]
>>> inst.security_groups[0]
SecurityGroup({'id': '2472c0bb-1fa9-4dcc-a658-4268e78ad907', 'name': 'default'})
>>> inst.security_groups
[SecurityGroup({'id': '2472c0bb-1fa9-4dcc-a658-4268e78ad907', 'name': 'default'}),
SecurityGroup({'id': 'd3040f01-3b12-4712-9e8e-8ecb1ae7ba04', 'name': 'standard'}),
SecurityGroup({'id': '56370632-ceeb-4357-a5d3-f2c3acf9d69e', 'name': 'Folding@home'})]
>>> inst.ssh_keys
[SSHKey({'id': '848a6631-486a-4992-8a40-5a9027415d02', 'name': 'oz123')]
>>> inst.image
Image({'id': '3c5f9b6f-2f4b-4067-ba50-925be9e6afb1', 'name': 'Ubuntu 18.04'})
Contributing to this project
First, make sure you have pipenv installed.
Run pipenv shell
and then pipenv install
.
Write your tests, add your features, test your features with make test
.
git commit
and git push
:-)
Make a PR!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
py-genesiscloud-0.2.1.tar.gz
(5.3 kB
view details)
File details
Details for the file py-genesiscloud-0.2.1.tar.gz
.
File metadata
- Download URL: py-genesiscloud-0.2.1.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3374a0f44bbc4cb28f1ee41de98a1be2547533ae4a0d5b75e729e4578970f372 |
|
MD5 | 8b27228f697cb8627a536e11d4586454 |
|
BLAKE2b-256 | cab5bf56408b642157ade27bbdfa806124547164989c27db50dd987da3a59101 |