Created
June 20, 2011 04:48
-
-
Save fairchild/1035142 to your computer and use it in GitHub Desktop.
simple ruby newserver api model
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rubygems' | |
require 'httparty' | |
require 'pp' | |
class Newservers | |
include HTTParty | |
base_uri 'https://noc.newservers.com/api/' | |
default_params :username => 'mfairchild', :password => '4az0XzAw' | |
# default_params :username => ENV['NEWSERVER_USERNAME'], :password => ENV['NEWSERVER_PASSWORD'] \ | |
format :xml | |
def self.list_servers() | |
get('/listServers') | |
end | |
def self.list_images() | |
get('/listImages') | |
end | |
def add_server(opts={}) | |
opts={:config=>'small', :os=>'centos5.2'}.merge(opts) | |
get('/add_server', :query=>opts) | |
end | |
def cancel_server(server_id) | |
get('/add_server', :query=>{:sererID=>sererID}) | |
end | |
def create_image(opts={}) | |
raise "must supply an image name and serverID" unless opts[:name] && opts [:serverId] | |
get('/createImage', :query=>opts) | |
end | |
def write_image(opts={}) | |
raise "must supply an imageId" unless opts[:imageId] | |
opts={:serverId=>'small', :imageId=>nil}.merge(opts) | |
get('/writeImage', :query=>opts) | |
end | |
def delete_image | |
end | |
def wipe_server | |
end | |
def self.list_plans | |
get('/listPlans') | |
end | |
end | |
puts Newservers.list_servers.to_yaml | |
puts '------------------' | |
puts Newservers.list_images.to_yaml | |
puts '------------------' | |
puts Newservers.list_plans.to_yaml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment