Skytap REST API access modules

## Project description

Skytap is a set of modules that we use to manage aspects of our Skytap infrastructure.

## Usage

To use the module, you’ll need to create at least two environment variables:

SKYTAP_USER=kermit.frog@sesamestreet.net
SKYTAP_TOKEN=79824879aeb2b34534e112d23a3c

SKYTAP_LOG_LEVEL=20

This can be a number between 0-50 and corresponds to the logging module from Python:

• DEBUG: 0

• INFO: 10

• WARNING: 20

• ERROR: 30

• CRITICAL: 50

An easy way to set these variables is to create a .skytap file in your home directory (~/.skytap) with the variables in there:

export SKYTAP_USER=kermit.frog@sesamestreet.net
export SKYTAP_TOKEN=79824879aeb2b34534e112d23a3c

Then you can source the file:

source ~/.skytap

to load the variables, or add that same source command to your ~/.bash_profile or equivalent file to have it done automatically.

### Via the command line

Most modules can be accessed directly from the command line to get simple information. This functionally returns the JSON from the Skytap API:

python -m skytap.Environments
python -m skytap.Users

You’ll get back a JSON for the request, something like:

[
{
"id": "12345",
"url": "https://cloud.skytap.com/users/12345",
"first_name": "Kermit",
"last_name": "The Frog",
"title": "Master of Ceremonies",
"email": "kermit.frog@sesamestreet.net",
"created_at": "2012-01-02T12:43:05-08:00",
"deleted": false
}
]

If you only want a one item returned instead of the full list, you can get that from the command line as well:

python -m skytap.Environments 12345
python -m skytap.Quotas svm_hours

### Via Python script

To use this, simply import it:

import skytap

Then you can access the resource groups of interest.

A simple example:

import skytap
users = skytap.Users()
for u in users:
print(u.name + ' : ' + u.email)

This can also help automate running and suspending VMs:

import skytap
envs = skytap.Environments()

envs[123456].suspend()  # or .suspend(True) if you want the script to wait.

Doing this will, by default, add a note to the environment of it’s action, so someone checking the environment can see why it’s not running.

## Installation

Install this through pip:

pip install skytap

## Project details

Uploaded source