diff --git a/lib/vmfloaty.rb b/lib/vmfloaty.rb index 9b459e7..e629fd9 100644 --- a/lib/vmfloaty.rb +++ b/lib/vmfloaty.rb @@ -2,6 +2,7 @@ require 'rubygems' require 'commander' +require 'pp' require 'vmfloaty/auth' require 'vmfloaty/pooler' require 'vmfloaty/version' @@ -54,7 +55,7 @@ class Vmfloaty unless os_types.nil? response = Pooler.retrieve(verbose, os_types, token, url) - puts response + Format.get_hosts(response) else puts 'You did not provide an OS to get' end @@ -90,8 +91,8 @@ class Vmfloaty url = options.url ||= config['url'] hostname = args[0] - query = Pooler.query(verbose, url, hostname) - puts query + query_req = Pooler.query(verbose, url, hostname) + pp query_req end end @@ -113,8 +114,10 @@ class Vmfloaty tags = JSON.parse(options.tags) if options.tags token = options.token || config['token'] - res_body = Pooler.modify(verbose, url, hostname, token, lifetime, tags) - puts res_body + modify_req = Pooler.modify(verbose, url, hostname, token, lifetime, tags) + if modify_req["ok"] + puts "Successfully modified vm #{hostname}." + end end end @@ -150,8 +153,8 @@ class Vmfloaty hostname = args[0] token = options.token ||= config['token'] - res_body = Pooler.snapshot(verbose, url, hostname, token) - puts res_body + snapshot_req = Pooler.snapshot(verbose, url, hostname, token) + pp snapshot_req end end @@ -171,8 +174,8 @@ class Vmfloaty token = options.token || config['token'] snapshot_sha = options.snapshot - res_body = Pooler.revert(verbose, url, hostname, token, snapshot_sha) - puts res_body + revert_req = Pooler.revert(verbose, url, hostname, token, snapshot_sha) + pp revert_req end end @@ -188,7 +191,7 @@ class Vmfloaty url = options.url ||= config['url'] status = Pooler.status(verbose, url) - puts status + pp status end end @@ -204,7 +207,7 @@ class Vmfloaty url = options.url ||= config['url'] summary = Pooler.summary(verbose, url) - puts summary + pp summary end end diff --git a/lib/vmfloaty/format.rb b/lib/vmfloaty/format.rb index f9726f6..42ec5c2 100644 --- a/lib/vmfloaty/format.rb +++ b/lib/vmfloaty/format.rb @@ -3,5 +3,13 @@ class Format # TODO: Takes the json response body from an HTTP GET # request and "pretty prints" it def self.get_hosts(hostname_hash) + host_hash = {} + + hostname_hash.delete("ok") + hostname_hash.each do |type, hosts| + host_hash[type] = hosts["hostname"] + end + + puts host_hash.to_json end end diff --git a/lib/vmfloaty/pooler.rb b/lib/vmfloaty/pooler.rb index 87b3cca..237d497 100644 --- a/lib/vmfloaty/pooler.rb +++ b/lib/vmfloaty/pooler.rb @@ -36,7 +36,13 @@ class Pooler response = conn.post "/vm/#{os_string}" res_body = JSON.parse(response.body) - res_body + if res_body["ok"] + res_body + else + STDERR.puts "There was a problem with your request" + STDERR.puts res_body + exit 1 + end end def self.modify(verbose, url, hostname, token, lifetime, tags) diff --git a/lib/vmfloaty/version.rb b/lib/vmfloaty/version.rb index cb841ee..654f74d 100644 --- a/lib/vmfloaty/version.rb +++ b/lib/vmfloaty/version.rb @@ -1,6 +1,6 @@ class Version - @version = '0.2.7' + @version = '0.2.10' def self.get @version diff --git a/vmfloaty.gemspec b/vmfloaty.gemspec index 2a6f877..3fce3e8 100644 --- a/vmfloaty.gemspec +++ b/vmfloaty.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = 'vmfloaty' - s.version = '0.2.7' + s.version = '0.2.10' s.authors = ['Brian Cain'] s.email = ['brian.cain@puppetlabs.com'] s.license = 'Apache'