A python wrapper for the CloudShare REST API.
Project description
CloudShare API v3 SDK
Quickstart
pip install cloudshare
Then just import cloudshare and use the function cloudshare.req() described below.
Interface
This library is written for python 3.
def req(hostname, method, apiId, apiKey, path="", queryParams=None, content=None)
Required parameters are the hostname, method, apiId and apiKey.
hostname is usually use.cloudshare.com unless your using some mock or proxy.
method is one of "GET", "POST", "PUT", "DELETE", depends on the context of the call.
apiId and apiKey are valid CloudShare credentials.
path is what comes after the '/api/v3' part of the request url (e.g 'envs', 'vms/actions/executePath')
queryParams are a dict of values that translate to a query string and concatenated to the request url
content is a dict that's encoded to JSON and sent in the body section of the request, in POST and PUT requests.
Examples
example.py
Enter your credentials in the two global variables API_ID and API_KEY and run it with python example.py. The script tries to run the command echo hello world on the first machine on the first environment it finds (visible to the user's credentials).
List your environments
import cloudshare
res = cloudshare.req(hostname='use.cloudshare.com',
method='GET',
path='envs',
apiId='Your API ID',
apiKey='You API Key')
if (res.status / 100 != 2):
raise Exception(res.status, res.content)
print 'hi! these are my environments:'
print [e['name'] for e in res.content]
Get one environment
import cloudshare
res = cloudshare.req(hostname='use.cloudshare.com',
method='GET',
path='envs/' + envId,
apiId='Your API ID',
apiKey='You API Key')
if (res.status / 100 != 2):
raise Exception(res.status, res.content)
print 'look at my environment details:'
print res.content
Suspend an environment
import cloudshare
res = cloudshare.req(hostname='use.cloudshare.com',
method='PUT',
path='envs/actions/suspend',
queryParams={'envId': envId},
apiId='Your API ID',
apiKey='Your API Key')
if (res.status / 100 != 2):
raise Exception(res.content)
print res.content
Building from source
make setup
make build test
Let's Encrypt Certificates
You might need to install these root certificates if they were not updated by the OS
https://letsencrypt.org/certs/isrgrootx1.der
https://letsencrypt.org/certs/isrg-root-x2.der
https://letsencrypt.org/certs/lets-encrypt-r3.der
More info here:
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters