Skip to content

Instantly share code, notes, and snippets.

@millisami
Created August 30, 2011 16:43
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save millisami/1181326 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'httparty'
require 'active_support'
# require 'httplog'
module Linode
class Nodebalancer
include HTTParty
base_uri 'https://api.linode.com'
format :json
default_params :api_key => 'thekey', :api_responseFormat => 'json'
# debug_output
def list_linode
self.class.get('/', :query => {:api_action => 'linode.list'})
end
def list_balancer
self.class.get('/', :query => {:api_action => 'nodebalancer.list'})
end
end
end
nb = Linode::Nodebalancer.new
p "Listing the linode.list\n"
p nb.list_linode
p "=" * 80
p "Accessing nodebalancer.\n"
p nb.list_balancer
○ ruby linode_api.rb
"Listing the linode.list\n"
#<HTTParty::Response:0x1011efa08 @parsed_response={"ERRORARRAY"=>[], "DATA"=>[{"ALERT_CPU_ENABLED"=>1, "BACKUPSENABLED"=>0, "ALERT_BWIN_ENABLED"=>1, "ALERT_CPU_THRESHOLD"=>90, "ALERT_BWQUOTA_ENABLED"=>1, "BACKUPWINDOW"=>0, "BACKUPWEEKLYDAY"=>"", "ALERT_DISKIO_THRESHOLD"=>1000, "LABEL"=>"ebible-app1", "WATCHDOG"=>1, "DATACENTERID"=>3, "STATUS"=>1, "ALERT_DISKIO_ENABLED"=>1, "LPM_DISPLAYGROUP"=>"", "TOTALHD"=>30720, "TOTALXFER"=>300, "ALERT_BWQUOTA_THRESHOLD"=>80, "TOTALRAM"=>768, "ALERT_BWIN_THRESHOLD"=>5, "LINODEID"=>21167, "ALERT_BWOUT_THRESHOLD"=>5, "ALERT_BWOUT_ENABLED"=>1}, {"ALERT_CPU_ENABLED"=>1, "BACKUPSENABLED"=>0, "ALERT_BWIN_ENABLED"=>1, "ALERT_CPU_THRESHOLD"=>90, "ALERT_BWQUOTA_ENABLED"=>1, "BACKUPWINDOW"=>0, "BACKUPWEEKLYDAY"=>1, "ALERT_DISKIO_THRESHOLD"=>1000, "LABEL"=>"ebible-app2", "WATCHDOG"=>1, "DATACENTERID"=>3, "STATUS"=>1, "ALERT_DISKIO_ENABLED"=>1, "LPM_DISPLAYGROUP"=>"", "TOTALHD"=>30720, "TOTALXFER"=>300, "ALERT_BWQUOTA_THRESHOLD"=>80, "TOTALRAM"=>768, "ALERT_BWIN_THRESHOLD"=>5, "LINODEID"=>24341, "ALERT_BWOUT_THRESHOLD"=>5, "ALERT_BWOUT_ENABLED"=>1}, {"ALERT_CPU_ENABLED"=>1, "BACKUPSENABLED"=>0, "ALERT_BWIN_ENABLED"=>1, "ALERT_CPU_THRESHOLD"=>90, "ALERT_BWQUOTA_ENABLED"=>1, "BACKUPWINDOW"=>0, "BACKUPWEEKLYDAY"=>1, "ALERT_DISKIO_THRESHOLD"=>1000, "LABEL"=>"ebible-db1", "WATCHDOG"=>1, "DATACENTERID"=>3, "STATUS"=>1, "ALERT_DISKIO_ENABLED"=>1, "LPM_DISPLAYGROUP"=>"", "TOTALHD"=>30720, "TOTALXFER"=>300, "ALERT_BWQUOTA_THRESHOLD"=>80, "TOTALRAM"=>768, "ALERT_BWIN_THRESHOLD"=>5, "LINODEID"=>24342, "ALERT_BWOUT_THRESHOLD"=>5, "ALERT_BWOUT_ENABLED"=>1}, {"ALERT_CPU_ENABLED"=>1, "BACKUPSENABLED"=>0, "ALERT_BWIN_ENABLED"=>1, "ALERT_CPU_THRESHOLD"=>90, "ALERT_BWQUOTA_ENABLED"=>1, "BACKUPWINDOW"=>0, "BACKUPWEEKLYDAY"=>1, "ALERT_DISKIO_THRESHOLD"=>1000, "LABEL"=>"sprout1", "WATCHDOG"=>1, "DATACENTERID"=>3, "STATUS"=>1, "ALERT_DISKIO_ENABLED"=>1, "LPM_DISPLAYGROUP"=>"", "TOTALHD"=>30720, "TOTALXFER"=>300, "ALERT_BWQUOTA_THRESHOLD"=>80, "TOTALRAM"=>768, "ALERT_BWIN_THRESHOLD"=>5, "LINODEID"=>32526, "ALERT_BWOUT_THRESHOLD"=>5, "ALERT_BWOUT_ENABLED"=>1}, {"ALERT_CPU_ENABLED"=>1, "BACKUPSENABLED"=>0, "ALERT_BWIN_ENABLED"=>1, "ALERT_CPU_THRESHOLD"=>90, "ALERT_BWQUOTA_ENABLED"=>1, "BACKUPWINDOW"=>0, "BACKUPWEEKLYDAY"=>1, "ALERT_DISKIO_THRESHOLD"=>1000, "LABEL"=>"app1-cloudfactory-com", "WATCHDOG"=>1, "DATACENTERID"=>3, "STATUS"=>1, "ALERT_DISKIO_ENABLED"=>1, "LPM_DISPLAYGROUP"=>"CloudFactory", "TOTALHD"=>30720, "TOTALXFER"=>300, "ALERT_BWQUOTA_THRESHOLD"=>80, "TOTALRAM"=>768, "ALERT_BWIN_THRESHOLD"=>5, "LINODEID"=>51238, "ALERT_BWOUT_THRESHOLD"=>5, "ALERT_BWOUT_ENABLED"=>1}, {"ALERT_CPU_ENABLED"=>1, "BACKUPSENABLED"=>0, "ALERT_BWIN_ENABLED"=>1, "ALERT_CPU_THRESHOLD"=>90, "ALERT_BWQUOTA_ENABLED"=>1, "BACKUPWINDOW"=>0, "BACKUPWEEKLYDAY"=>1, "ALERT_DISKIO_THRESHOLD"=>1000, "LABEL"=>"fmn", "WATCHDOG"=>1, "DATACENTERID"=>7, "STATUS"=>1, "ALERT_DISKIO_ENABLED"=>1, "LPM_DISPLAYGROUP"=>"", "TOTALHD"=>30720, "TOTALXFER"=>300, "ALERT_BWQUOTA_THRESHOLD"=>80, "TOTALRAM"=>768, "ALERT_BWIN_THRESHOLD"=>5, "LINODEID"=>51245, "ALERT_BWOUT_THRESHOLD"=>5, "ALERT_BWOUT_ENABLED"=>1}, {"ALERT_CPU_ENABLED"=>1, "BACKUPSENABLED"=>0, "ALERT_BWIN_ENABLED"=>1, "ALERT_CPU_THRESHOLD"=>90, "ALERT_BWQUOTA_ENABLED"=>1, "BACKUPWINDOW"=>0, "BACKUPWEEKLYDAY"=>0, "ALERT_DISKIO_THRESHOLD"=>1000, "LABEL"=>"microwork-apps", "WATCHDOG"=>1, "DATACENTERID"=>3, "STATUS"=>1, "ALERT_DISKIO_ENABLED"=>1, "LPM_DISPLAYGROUP"=>"", "TOTALHD"=>30720, "TOTALXFER"=>300, "ALERT_BWQUOTA_THRESHOLD"=>80, "TOTALRAM"=>768, "ALERT_BWIN_THRESHOLD"=>5, "LINODEID"=>60107, "ALERT_BWOUT_THRESHOLD"=>5, "ALERT_BWOUT_ENABLED"=>1}, {"ALERT_CPU_ENABLED"=>1, "BACKUPSENABLED"=>0, "ALERT_BWIN_ENABLED"=>1, "ALERT_CPU_THRESHOLD"=>90, "ALERT_BWQUOTA_ENABLED"=>1, "BACKUPWINDOW"=>0, "BACKUPWEEKLYDAY"=>0, "ALERT_DISKIO_THRESHOLD"=>1000, "LABEL"=>"stageCF_latejar", "WATCHDOG"=>1, "DATACENTERID"=>3, "STATUS"=>1, "ALERT_DISKIO_ENABLED"=>1, "LPM_DISPLAYGROUP"=>"", "TOTALHD"=>20480, "TOTALXFER"=>200, "ALERT_BWQUOTA_THRESHOLD"=>80, "TOTALRAM"=>512, "ALERT_BWIN_THRESHOLD"=>5, "LINODEID"=>110578, "ALERT_BWOUT_THRESHOLD"=>5, "ALERT_BWOUT_ENABLED"=>1}, {"ALERT_CPU_ENABLED"=>1, "BACKUPSENABLED"=>0, "ALERT_BWIN_ENABLED"=>1, "ALERT_CPU_THRESHOLD"=>90, "ALERT_BWQUOTA_ENABLED"=>1, "BACKUPWINDOW"=>0, "BACKUPWEEKLYDAY"=>0, "ALERT_DISKIO_THRESHOLD"=>1000, "LABEL"=>"app2-cloudfactory-com", "WATCHDOG"=>1, "DATACENTERID"=>3, "STATUS"=>1, "ALERT_DISKIO_ENABLED"=>1, "LPM_DISPLAYGROUP"=>"CloudFactory", "TOTALHD"=>30720, "TOTALXFER"=>300, "ALERT_BWQUOTA_THRESHOLD"=>80, "TOTALRAM"=>768, "ALERT_BWIN_THRESHOLD"=>5, "LINODEID"=>125810, "ALERT_BWOUT_THRESHOLD"=>5, "ALERT_BWOUT_ENABLED"=>1}, {"ALERT_CPU_ENABLED"=>1, "BACKUPSENABLED"=>0, "ALERT_BWIN_ENABLED"=>1, "ALERT_CPU_THRESHOLD"=>90, "ALERT_BWQUOTA_ENABLED"=>1, "BACKUPWINDOW"=>0, "BACKUPWEEKLYDAY"=>0, "ALERT_DISKIO_THRESHOLD"=>1000, "LABEL"=>"db1-cloudfactory-com", "WATCHDOG"=>1, "DATACENTERID"=>3, "STATUS"=>1, "ALERT_DISKIO_ENABLED"=>1, "LPM_DISPLAYGROUP"=>"CloudFactory", "TOTALHD"=>30720, "TOTALXFER"=>300, "ALERT_BWQUOTA_THRESHOLD"=>80, "TOTALRAM"=>768, "ALERT_BWIN_THRESHOLD"=>5, "LINODEID"=>126911, "ALERT_BWOUT_THRESHOLD"=>5, "ALERT_BWOUT_ENABLED"=>1}], "ACTION"=>"linode.list"}, @response=#<Net::HTTPOK 200 OK readbody=true>, @headers={"server"=>["nginx/0.7.62"], "date"=>["Tue, 30 Aug 2011 16:42:37 GMT"], "content-type"=>["text/html; charset=UTF-8"], "transfer-encoding"=>["chunked"], "connection"=>["close"]}>
"================================================================================"
"Accessing nodebalancer.\n"
#<HTTParty::Response:0x1011ddab0 @parsed_response={"ERRORARRAY"=>[{"ERRORCODE"=>3, "ERRORMESSAGE"=>"The requested class does not exist"}], "DATA"=>{}, "ACTION"=>"nodebalancer.list"}, @response=#<Net::HTTPOK 200 OK readbody=true>, @headers={"server"=>["nginx/0.7.62"], "date"=>["Tue, 30 Aug 2011 16:42:38 GMT"], "content-type"=>["text/html; charset=UTF-8"], "transfer-encoding"=>["chunked"], "connection"=>["close"]}>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment