skip to navigation
skip to content

python-cloudservers 1.2

Client library for Rackspace's Cloud Servers API

Package Documentation

This is a client for Rackspace’s Cloud Servers API. There’s a Python API (the cloudservers module), and a command-line script (cloudservers). Each implements 100% of the Rackspace API.

Full documentation is available.

You’ll also probably want to read Rackspace’s API guide (PDF) – the first bit, at least – to get an idea of the concepts. Rackspace is doing the cloud hosting thing a bit differently from Amazon, and if you get the concepts this library should make more sense.

Development takes place on GitHub. Bug reports and patches may be filed there.

Command-line API

Installing this package gets you a shell command, cloudservers, that you can use to interact with Rackspace.

You’ll need to provide your Rackspace username and API key. You can do this with the --username and --apikey params, but it’s easier to just set them as environment variables:

export CLOUD_SERVERS_API_KEY=yadayada

You’ll find complete documentation on the shell by running cloudservers help:

usage: cloudservers [--username USERNAME] [--apikey APIKEY] <subcommand> ...

Command-line interface to the Cloud Servers API.

Positional arguments:
    backup-schedule     Show or edit the backup schedule for a server.
                        Delete the backup schedule for a server.
    boot                Boot a new server.
    delete              Immediately shut down and delete a server.
    flavor-list         Print a list of available 'flavors' (sizes of
    help                Display help about this program or one of its
    image-create        Create a new image by taking a snapshot of a running
    image-delete        Delete an image.
    image-list          Print a list of available images to boot from.
    ip-share            Share an IP address from the given IP group onto a
    ip-unshare          Stop sharing an given address with a server.
    ipgroup-create      Create a new IP group.
    ipgroup-delete      Delete an IP group.
    ipgroup-list        Show IP groups.
    ipgroup-show        Show details about a particular IP group.
    list                List active servers.
    reboot              Reboot a server.
    rebuild             Shutdown, re-image, and re-boot a server.
    rename              Rename a server.
    resize              Resize a server.
    resize-confirm      Confirm a previous resize.
    resize-revert       Revert a previous resize (and return to the previous
    root-password       Change the root password for a server.
    show                Show details about the given server.

Optional arguments:
  --username USERNAME   Defaults to env[CLOUD_SERVERS_USERNAME].
  --apikey APIKEY       Defaults to env[CLOUD_SERVERS_API_KEY].

See "cloudservers help COMMAND" for help on a specific command.

Python API

There’s also a complete Python API.

By way of a quick-start:

>>> import cloudservers
>>> cs = cloudservers.CloudServers(USERNAME, API_KEY)
>>> cs.flavors.list()
>>> cs.servers.list()
>>> s = cs.servers.create(image=2, flavor=1, name='myserver')

... time passes ...

>>> s.reboot()

... time passes ...

>>> s.delete()


What’s wrong with libcloud?

Nothing! However, as a cross-service binding it’s by definition lowest common denominator; I needed access to the Rackspace-specific APIs (shared IP groups, image snapshots, resizing, etc.). I also wanted a command-line utility.
File Type Py Version Uploaded on Size
python-cloudservers-1.2.tar.gz (md5) Source 2010-08-16 508KB