Update modify command to properly handle tags and TTL

This commit is contained in:
Brian Cain 2015-09-19 15:18:55 -07:00
parent c28f015346
commit 5908fe2d9e
2 changed files with 11 additions and 6 deletions

View file

@ -91,7 +91,7 @@ class Vmfloaty
c.syntax = 'floaty modify [hostname]' c.syntax = 'floaty modify [hostname]'
c.summary = 'Modify a vms tags and TTL' c.summary = 'Modify a vms tags and TTL'
c.description = '' c.description = ''
c.example 'description', 'command example' c.example 'Modifies myhost1 to have a TTL of 12 hours and adds a custom tag', 'floaty modify myhost1 --lifetime 12 --url https://myurl --token mytokenstring --tags \'{"tag":"myvalue"}\''
c.option '--verbose', 'Enables verbose output' c.option '--verbose', 'Enables verbose output'
c.option '--url STRING', String, 'URL of vmpooler' c.option '--url STRING', String, 'URL of vmpooler'
c.option '--token STRING', String, 'Token for vmpooler' c.option '--token STRING', String, 'Token for vmpooler'

View file

@ -34,15 +34,20 @@ class Pooler
end end
def self.modify(verbose, url, hostname, token, lifetime, tags) def self.modify(verbose, url, hostname, token, lifetime, tags)
modify_body = {'lifetime'=>lifetime, 'tags'=>tags} modify_body = {}
if lifetime
modify_body['lifetime'] = lifetime
end
if tags
modify_body['tags'] = tags
end
puts modify_body
conn = Http.get_conn_with_token(verbose, url, token) conn = Http.get_conn_with_token(verbose, url, token)
conn.headers['X-AUTH-TOKEN'] conn.headers['X-AUTH-TOKEN']
response = conn.put do |req| response = conn.put "/vm/#{hostname}"
req.url "/vm/#{hostname}"
end
res_body = JSON.parse(response.body) res_body = JSON.parse(response.body)
res_body res_body
end end