skip to navigation
skip to content

python-ukcloudservers 1.2

Client library for Rackspace's Cloud Servers API

Package Documentation

Python bindings to the Rackspace Cloud Servers API
- This Package was modified by Kevin Carter, to be compatible with the UK API.
- python-cloudservers was completely changed so that it is now python-ukcloudservers which will create a command ukcloudservers

This is a client for Rackspace's Cloud Servers API. There's a Python API (the
``ukcloudservers`` module), and a command-line script (``ukcloudservers``). 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.


.. contents:: Contents:

Command-line API

Installing this package gets you a shell command, ``ukcloudservers``, 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
``ukcloudservers help``::

usage: ukcloudservers [--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 "ukcloudservers help COMMAND" for help on a specific command.

Python API

There's also a `complete Python API`__.


By way of a quick-start::

>>> import ukcloudservers
>>> cs = ukcloudservers.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

What's new?

New in ``python-ukcloudservers`` 1.2

* Support for Python 2.4 - 2.7.
* Improved output of ``ipgroup-list``.
* Made ``boot --ipgroup <name>`` work (as well as ``--ipgroup <id>``).

New in ``python-ukcloudservers`` 1.1

* Added support for uploading files to the shell ``boot`` command (via the
``--files`` flag).
* Added a shortcut ``--key`` for quickly adding an SSH key on boot.
* Changed the default server image for the ``boot`` shell command to Ubuntu
File Type Py Version Uploaded on Size
python-ukcloudservers-1.2.tar.gz (md5) Source 2011-11-17 595KB