Skip to main content

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:

https://letsencrypt.org/certificates/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudshare-0.1.3.tar.gz (10.6 kB view hashes)

Uploaded Source

Built Distribution

cloudshare-0.1.3-py2.py3-none-any.whl (16.4 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page