How to install python-ukcloudservers
- Download and install ActivePython
- Open Command Prompt
- Type
pypm install python-ukcloudservers
Lastest release
- 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:
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.
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.