Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A Ruby interface to the Rackspace Cloud Servers API
Ruby
Tag: v0.4.0

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
test
.gitignore
COPYING
README.rdoc
Rakefile
TODO
VERSION
cloudservers.gemspec

README.rdoc

Rackspace Cloud Servers

Description

This is a Ruby interface into the Rackspace Cloud Servers service. Cloud Servers from The Rackspace Cloud put you in complete control of your hosting infrastructure. Each Cloud Server is a fully-customizable, pay by the hour, virtualized Windows or Linux server instance that you launch, maintain, and control with full root access.

*Note that in version 0.2.0 the connection style changed, from positional arguments to a hash of options*

Installation

This source is available on Github and the gem is available on Gemcutter. To install it, do

gem sources -a http://gemcutter.org/ (Newer Ruby Gems have this already)

sudo gem install cloudservers

To use it in a Rails application, add the following information to your config/environment.rb

config.gem "cloudservers"

Examples

See the class definitions for documentation on specific methods and operations.

require 'rubygems'
require 'cloudservers'

# Log into the Cloud Servers
cs = CloudServers::Connection.new(:username => USERNAME, :api_key => API_KEY)

# Log into the Cloud Servers UK
cs = CloudServers::Connection.new(:username => USERNAME, :api_key => API_KEY, :auth_url => CloudServers::AUTH_UK)

# Get a listing of all current servers
>> cs.servers
=> [{:name=>"RenamedRubyTest", :id=>110917}]

# Access a specific server
>> server = cs.server(110917)
>> server.name
=> "RenamedRubyTest"

# or...
server_manager.find(110917)

# See what type of server this is
>> server.flavor.name
=> "256 server"
>> server.image.name
=> "Ubuntu 8.04.2 LTS (hardy)"

# Soft-reboot the server
>> server.reboot
=> true

# Create a new 512MB CentOS 5.2 server.  The root password is returned in the adminPass method.
>> image = cs.get_image(8)
=> #<CloudServers::Image:0x1014a8060 ...>, status"ACTIVE"
>> image.name
=> "CentOS 5.2"
>> flavor = cs.get_flavor(2)
=> #<CloudServers::Flavor:0x101469130 @disk=20, @name="512 server", @id=2, @ram=512>
>> flavor.name
=> "512 server"
>> newserver = cs.create_server(:name => "New Server", :imageId => image.id, :flavorId => flavor.id)
=> #<CloudServers::Server:0x101433f08 ....
>> newserver.status
=> "BUILD"
>> newserver.progress
=> 0
>> newserver.adminPass
=> "NewServerMbhzUnO"
>> newserver.refresh
=> true
>> newserver.progress
=> 12

# Delete the new server
>> newserver.delete!
=> true

Authors

By H. Wade Minter <minter@lunenburg.org>, Mike Mayo <mike.mayo@rackspace.com>, and Dan Prince <dan.prince@rackspace.com>

License

See COPYING for license information.

Something went wrong with that request. Please try again.