Ruby OpenStack Compute

Description

Ruby Openstack Compute binding for the v1.0 OSAPI.

Currently supports both v1.0 and v2.0 (keystone) auth.

Examples

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

require 'openstack/compute'

cs = OpenStack::Compute::Connection.new(:username => USERNAME, :api_key => API_KEY, :authtenant => TENANT, :auth_url => API_URL)	

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

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

# 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)
=> #<OpenStack::Compute::Image:0x1014a8060 ...>, status"ACTIVE"
>> image.name
=> "CentOS 5.2"
>> flavor = cs.get_flavor(2)
=> #<OpenStack::Compute::Flavor:0x101469130 @disk=20, @name="512 server", @id=2, @ram=512>
>> flavor.name
=> "512 server"
>> newserver = cs.create_server(:name => "New Server", :imageRef => image.id, :flavorRef => flavor.id)
=> #<OpenStack::Compute::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 Dan Prince <dprince@redhat.com>, Naveed Massjouni <naveedm9@gmail.com>

Based on the Rackspace Cloud Servers Ruby API.

License

See COPYING for license information.