From ca90919c035552f19816862ab87675769eae8c5b Mon Sep 17 00:00:00 2001 From: Brian Cain Date: Wed, 29 Oct 2014 14:08:31 -0700 Subject: [PATCH] Add initial all option for releasing vms --- lib/vmfloaty/cli.rb | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/lib/vmfloaty/cli.rb b/lib/vmfloaty/cli.rb index 120bfa2..737049d 100644 --- a/lib/vmfloaty/cli.rb +++ b/lib/vmfloaty/cli.rb @@ -16,6 +16,8 @@ class CLI < Thor host_res = JSON.parse(response.body) puts host_res + + # parse host names/os's and save end desc "modify ", "Modify a VM" @@ -45,22 +47,27 @@ class CLI < Thor puts hosts end - desc "release ", "Schedules a VM for deletion" - def release(hostname_list) + desc "release [--all]", "Schedules a VM for deletion" + options :all + def release(hostname_list=nil) # HTTP DELETE vmpooler.company.com/vm/#{hostname} # { "ok": true } - hostname_arr = hostname_list.split(',') + if options[:all] + # release all hosts managed by vmfloaty + end + hostname_arr = hostname_list.split(',') - hostname_arr.each do |hostname| - say "Releasing host #{hostname}..." - uri = URI.parse("#{$vmpooler_url}/vm/#{hostname}") - http = Net::HTTP.new(uri.host, uri.port) - request = Net::HTTP::Delete.new(uri.request_uri) - response = http.request(request) - res = JSON.parse(response.body) + hostname_arr.each do |hostname| + say "Releasing host #{hostname}..." + uri = URI.parse("#{$vmpooler_url}/vm/#{hostname}") + http = Net::HTTP.new(uri.host, uri.port) + request = Net::HTTP::Delete.new(uri.request_uri) + response = http.request(request) + res = JSON.parse(response.body) - puts res + puts res + end end end end