class NCC::Client
Public Instance Methods
clouds(cloudname=nil)
click to toggle source
# File lib/ncc/client.rb, line 55 def clouds(cloudname=nil) unless cloudname cloudnames = do_request :GET => "clouds" cloudnames.map do |cloudname| if cloudname.respond_to? :keys cloudname else do_request :GET => "clouds/#{cloudname}" end end else do_request :GET => "clouds/#{cloudname}" end end
config_key()
click to toggle source
# File lib/ncc/client.rb, line 27 def config_key 'ncc' end
console(cloud, id)
click to toggle source
# File lib/ncc/client.rb, line 104 def console(cloud, id) do_request :GET => "clouds/#{cloud}/instances/#{id}/console" end
create(cloud, attrs)
click to toggle source
# File lib/ncc/client.rb, line 70 def create(cloud, attrs) do_request :POST => "clouds/#{cloud}/instances", :body => attrs end
delete(cloud, attrs)
click to toggle source
# File lib/ncc/client.rb, line 75 def delete(cloud, attrs) if attrs.has_key? :id do_request :DELETE => "clouds/#{cloud}/instances/#{attrs[:id]}" elsif attrs.has_key? :name # For now I have to do this--not optimal, should be in NCC-API instobj = find_by_name(cloud, attrs[:name]) if instobj do_request :DELETE => "clouds/#{cloud}/instances/#{instobj['id']}" else raise "No instance found in cloud #{cloud} with name #{attrs[:name]}" end else raise "Need to delete instance by name or id" end end
find_by_name(cloud, name)
click to toggle source
# File lib/ncc/client.rb, line 91 def find_by_name(cloud, name) instobj = (list cloud).find { |i| i['name'] == name } end
ignore_content_type()
click to toggle source
ncc-api (probably due to nginx) returns bad content-types
# File lib/ncc/client.rb, line 32 def ignore_content_type true end
info()
click to toggle source
# File lib/ncc/client.rb, line 36 def info do_request :GET => '' end
instance(cloud, id)
click to toggle source
# File lib/ncc/client.rb, line 51 def instance(cloud, id) do_request :GET => "clouds/#{cloud}/instances/#{id}" end
list(cloud=nil)
click to toggle source
# File lib/ncc/client.rb, line 40 def list(cloud=nil) if cloud.nil? clouds = do_request "clouds" clouds.map do |c| list c end.flatten else do_request :GET => "clouds/#{cloud}/instances" end end