Skip to main content

Client library for Rackspace's Cloud Servers API

Project description

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`__.

__ http://packages.python.org/python-ukcloudservers/

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.

__ http://docs.rackspacecloud.com/servers/api/cs-devguide-latest.pdf

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

__ http://github.com/jacobian/python-ukcloudservers

.. contents:: Contents:
:local:

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_USERNAME=jacobian
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:
<subcommand>
backup-schedule Show or edit the backup schedule for a server.
backup-schedule-delete
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
servers).
help Display help about this program or one of its
subcommands.
image-create Create a new image by taking a snapshot of a running
server.
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
server.
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
VM).
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`__.

__ http://packages.python.org/python-ukcloudservers/

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

FAQ
---

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.

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
10.04.

Project details


Release history Release notifications

This version
History Node

1.2

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
python-ukcloudservers-1.2.tar.gz (610.0 kB) Copy SHA256 hash SHA256 Source None Nov 17, 2011

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page