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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file cloudshare-0.1.3.tar.gz.

File metadata

  • Download URL: cloudshare-0.1.3.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for cloudshare-0.1.3.tar.gz
Algorithm Hash digest
SHA256 9af9deb80ee3f9fa0407313e00e05920909ca9aedf1d2f0217386f68514396af
MD5 93652d462b9fe0b5590f6ca2d941cfcf
BLAKE2b-256 977900ec064387ede09e4e674e471da9798ad2ce99a4995a4792c6f26312157b

See more details on using hashes here.

File details

Details for the file cloudshare-0.1.3-py2.py3-none-any.whl.

File metadata

  • Download URL: cloudshare-0.1.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for cloudshare-0.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c234453204c84ec33d7c9a00434419b6a3aa698c56fadd051000ff8a7f1532cb
MD5 b027c518a3d3829f008f32f7a9b19e8e
BLAKE2b-256 52b59d530b06a79f702b5716d286916c062a9f96297df70e4aa2da5c27efcfa0

See more details on using hashes here.

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