Class: Pooler
- Inherits:
-
Object
- Object
- Pooler
- Defined in:
- lib/vmfloaty/pooler.rb
Class Method Summary collapse
- .delete(verbose, url, hostnames, token) ⇒ Object
- .list(verbose, url, os_filter = nil) ⇒ Object
- .modify(verbose, url, hostname, token, lifetime, tags) ⇒ Object
- .query(verbose, url, hostname) ⇒ Object
- .retrieve(verbose, os_type, token, url) ⇒ Object
- .revert(verbose, url, hostname, token, snapshot_sha) ⇒ Object
- .snapshot(verbose, url, hostname, token) ⇒ Object
- .status(verbose, url) ⇒ Object
- .summary(verbose, url) ⇒ Object
Class Method Details
.delete(verbose, url, hostnames, token) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/vmfloaty/pooler.rb', line 54 def self.delete(verbose, url, hostnames, token) if hostnames.nil? STDERR.puts "You did not provide any hosts to delete" exit 1 end hosts = hostnames.split(',') conn = Http.get_conn(verbose, url) if token conn.headers['X-AUTH-TOKEN'] = token end hosts.each do |host| puts "Scheduling host #{host} for deletion" response = conn.delete "/vm/#{host}" res_body = JSON.parse(response.body) if res_body['ok'] puts "Deletion for vm #{host} successfully scheduled" else STDERR.puts "There was a problem with your request for vm #{host}" end end end |
.list(verbose, url, os_filter = nil) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/vmfloaty/pooler.rb', line 6 def self.list(verbose, url, os_filter=nil) conn = Http.get_conn(verbose, url) response = conn.get '/vm' response_body = JSON.parse(response.body) if os_filter hosts = response_body.select { |i| i[/#{os_filter}/] } else hosts = response_body end hosts end |
.modify(verbose, url, hostname, token, lifetime, tags) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/vmfloaty/pooler.rb', line 34 def self.modify(verbose, url, hostname, token, lifetime, ) modify_body = {} if lifetime modify_body['lifetime'] = lifetime end if modify_body['tags'] = end conn = Http.get_conn(verbose, url) conn.headers['X-AUTH-TOKEN'] = token response = conn.put do |req| req.url "/vm/#{hostname}" req.body = modify_body end res_body = JSON.parse(response.body) res_body end |
.query(verbose, url, hostname) ⇒ Object
95 96 97 98 99 100 101 102 |
# File 'lib/vmfloaty/pooler.rb', line 95 def self.query(verbose, url, hostname) conn = Http.get_conn(verbose, url) response = conn.get "/vm/#{hostname}" res_body = JSON.parse(response.body) res_body end |
.retrieve(verbose, os_type, token, url) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/vmfloaty/pooler.rb', line 21 def self.retrieve(verbose, os_type, token, url) os = os_type.gsub(',','+') conn = Http.get_conn(verbose, url) if token conn.headers['X-AUTH-TOKEN'] = token end response = conn.post "/vm/#{os}" res_body = JSON.parse(response.body) res_body end |
.revert(verbose, url, hostname, token, snapshot_sha) ⇒ Object
113 114 115 116 117 118 119 120 |
# File 'lib/vmfloaty/pooler.rb', line 113 def self.revert(verbose, url, hostname, token, snapshot_sha) conn = Http.get_conn(verbose, url) conn.headers['X-AUTH-TOKEN'] = token response = conn.post "/vm/#{hostname}/snapshot/#{snapshot}" res_body = JSON.parse(response.body) res_body end |
.snapshot(verbose, url, hostname, token) ⇒ Object
104 105 106 107 108 109 110 111 |
# File 'lib/vmfloaty/pooler.rb', line 104 def self.snapshot(verbose, url, hostname, token) conn = Http.get_conn(verbose, url) conn.headers['X-AUTH-TOKEN'] = token response = conn.post "/vm/#{hostname}/snapshot" res_body = JSON.parse(response.body) res_body end |
.status(verbose, url) ⇒ Object
79 80 81 82 83 84 85 |
# File 'lib/vmfloaty/pooler.rb', line 79 def self.status(verbose, url) conn = Http.get_conn(verbose, url) response = conn.get '/status' res_body = JSON.parse(response.body) res_body end |
.summary(verbose, url) ⇒ Object
87 88 89 90 91 92 93 |
# File 'lib/vmfloaty/pooler.rb', line 87 def self.summary(verbose, url) conn = Http.get_conn(verbose, url) response = conn.get '/summary' res_body = JSON.parse(response.body) res_body end |