vmfloaty 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/vmfloaty.rb +20 -27
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2f317f9021a11ed75b8ce717b1778f2c6b5e4a2e
4
- data.tar.gz: 3208d383b455eccf81ac2ed608607d64c27b3b9a
3
+ metadata.gz: 32aeb5f5ad140e3f722d44e74fd408d4543544b6
4
+ data.tar.gz: 5eb1d4eefe202458d0992f5b76a16950665da699
5
5
  SHA512:
6
- metadata.gz: 4c3e96f49b4df71c1c89e6ae8079fbc58b5a463727e77754fc411987dce76b0f52f213a79485a63040840a71b5f5f87ba200a8ec26f1b217c890aeb8c7e3d0a8
7
- data.tar.gz: ffb649bcf0c4d5105619597798690693c79f606c052edca9084408311f1a2477c0981254876696e592392f4657ea72e2b6aa21127dbf84ef6188361620b00fef
6
+ metadata.gz: b55dc19efe45545e1b3c9f30782af9392d7df29ffd1b329c7b604c6f46558cbdf444d9d42f699010ac404c1bd32588b0a3cad258f70b8e684d6a989a77526c20
7
+ data.tar.gz: 3ea84be6897b142f1ac7a6c045f3a322497848c3611867dafe438f9e6f4c35b3c9522361a526132929e9ede36665015b5aa4f2fda7d8c0d58c55e5b02cfd608e
data/README.md CHANGED
@@ -45,7 +45,7 @@ gem install vmfloaty
45
45
  If you do not wish to continuely specify various config options with the cli, you can have a dotfile in your home directory for some defaults. For example:
46
46
 
47
47
  ```yaml
48
- #file at /Users/me/.vmpooler.yml
48
+ #file at /Users/me/.vmfloaty.yml
49
49
  url: 'http://vmpooler.mycompany.net'
50
50
  user: 'brian'
51
51
  ```
data/lib/vmfloaty.rb CHANGED
@@ -10,28 +10,27 @@ class Vmfloaty
10
10
  include Commander::Methods
11
11
 
12
12
  def run
13
- program :version, '0.2.1'
13
+ program :version, '0.2.3'
14
14
  program :description, 'A CLI helper tool for Puppet Labs vmpooler to help you stay afloat'
15
15
 
16
16
  config = read_config
17
17
 
18
18
  command :get do |c|
19
- c.syntax = 'floaty get [options]'
19
+ c.syntax = 'floaty get [hostname,...]'
20
20
  c.summary = 'Gets a vm or vms based on the os flag'
21
21
  c.description = ''
22
- c.example 'Gets 3 vms', 'floaty get --user brian --url http://vmpooler.example.com --os centos,centos,debian'
22
+ c.example 'Gets 3 vms', 'floaty get centos,centos,debian --user brian --url http://vmpooler.example.com'
23
23
  c.option '--verbose', 'Enables verbose output'
24
24
  c.option '--user STRING', String, 'User to authenticate with'
25
25
  c.option '--url STRING', String, 'URL of vmpooler'
26
26
  c.option '--token STRING', String, 'Token for vmpooler'
27
- c.option '--os STRING', String, 'Operating systems to retrieve'
28
27
  c.option '--notoken', 'Makes a request without a token'
29
28
  c.action do |args, options|
30
29
  verbose = options.verbose || config['verbose']
31
30
  token = options.token || config['token']
32
31
  user = options.user ||= config['user']
33
32
  url = options.url ||= config['url']
34
- os_types = options.os
33
+ os_types = args[0]
35
34
  no_token = options.notoken
36
35
 
37
36
  unless no_token.nil?
@@ -55,16 +54,15 @@ class Vmfloaty
55
54
  end
56
55
 
57
56
  command :list do |c|
58
- c.syntax = 'floaty list [options]'
57
+ c.syntax = 'floaty list [hostname]'
59
58
  c.summary = 'Shows a list of available vms from the pooler'
60
59
  c.description = ''
61
- c.example 'Filter the list on centos', 'floaty list --filter centos --url http://vmpooler.example.com'
60
+ c.example 'Filter the list on centos', 'floaty list centos --url http://vmpooler.example.com'
62
61
  c.option '--verbose', 'Enables verbose output'
63
- c.option '--filter STRING', String, 'A filter to apply to the list'
64
62
  c.option '--url STRING', String, 'URL of vmpooler'
65
63
  c.action do |args, options|
66
64
  verbose = options.verbose || config['verbose']
67
- filter = options.filter
65
+ filter = args[0]
68
66
  url = options.url ||= config['url']
69
67
 
70
68
  os_list = Pooler.list(verbose, url, filter)
@@ -76,14 +74,13 @@ class Vmfloaty
76
74
  c.syntax = 'floaty query [options]'
77
75
  c.summary = 'Get information about a given vm'
78
76
  c.description = ''
79
- c.example 'Get information about a sample host', 'floaty query --url http://vmpooler.example.com --host myvmhost.example.com'
77
+ c.example 'Get information about a sample host', 'floaty query hostname --url http://vmpooler.example.com'
80
78
  c.option '--verbose', 'Enables verbose output'
81
79
  c.option '--url STRING', String, 'URL of vmpooler'
82
- c.option '--host STRING', String, 'Hostname to query'
83
80
  c.action do |args, options|
84
81
  verbose = options.verbose || config['verbose']
85
82
  url = options.url ||= config['url']
86
- hostname = options.host
83
+ hostname = args[0]
87
84
 
88
85
  query = Pooler.query(verbose, url, hostname)
89
86
  puts query
@@ -91,22 +88,21 @@ class Vmfloaty
91
88
  end
92
89
 
93
90
  command :modify do |c|
94
- c.syntax = 'floaty modify [options]'
91
+ c.syntax = 'floaty modify [hostname]'
95
92
  c.summary = 'Modify a vms tags and TTL'
96
93
  c.description = ''
97
94
  c.example 'description', 'command example'
98
95
  c.option '--verbose', 'Enables verbose output'
99
96
  c.option '--url STRING', String, 'URL of vmpooler'
100
97
  c.option '--token STRING', String, 'Token for vmpooler'
101
- c.option '--host STRING', String, 'Hostname to modify'
102
98
  c.option '--lifetime INT', Integer, 'VM TTL (Integer, in hours)'
103
- c.option '--tags HASH', Hash, 'free-form VM tagging'
99
+ c.option '--tags STRING', String, 'free-form VM tagging (json)'
104
100
  c.action do |args, options|
105
101
  verbose = options.verbose || config['verbose']
106
102
  url = options.url ||= config['url']
107
- hostname = options.host
103
+ hostname = args[0]
108
104
  lifetime = options.lifetime
109
- tags = options.tags
105
+ tags = JSON.parse(options.tags)
110
106
  token = options.token || config['token']
111
107
 
112
108
  res_body = Pooler.modify(verbose, url, hostname, token, lifetime, tags)
@@ -115,16 +111,15 @@ class Vmfloaty
115
111
  end
116
112
 
117
113
  command :delete do |c|
118
- c.syntax = 'floaty delete [options]'
114
+ c.syntax = 'floaty delete [hostname,...]'
119
115
  c.summary = 'Schedules the deletion of a host or hosts'
120
116
  c.description = ''
121
- c.example 'Schedules the deletion of a host or hosts', 'floaty delete --hosts myhost1,myhost2 --url http://vmpooler.example.com'
117
+ c.example 'Schedules the deletion of a host or hosts', 'floaty delete myhost1,myhost2 --url http://vmpooler.example.com'
122
118
  c.option '--verbose', 'Enables verbose output'
123
- c.option '--hosts STRING', String, 'Hostname(s) to delete'
124
119
  c.option '--url STRING', String, 'URL of vmpooler'
125
120
  c.action do |args, options|
126
121
  verbose = options.verbose || config['verbose']
127
- hosts = options.hosts
122
+ hosts = args[0]
128
123
  url = options.url ||= config['url']
129
124
 
130
125
  Pooler.delete(verbose, url, hosts)
@@ -135,15 +130,14 @@ class Vmfloaty
135
130
  c.syntax = 'floaty snapshot [options]'
136
131
  c.summary = 'Takes a snapshot of a given vm'
137
132
  c.description = ''
138
- c.example 'Takes a snapshot for a given host', 'floaty snapshot --url http://vmpooler.example.com --host myvm.example.com --token a9znth9dn01t416hrguu56ze37t790bl'
133
+ c.example 'Takes a snapshot for a given host', 'floaty snapshot myvm.example.com --url http://vmpooler.example.com --token a9znth9dn01t416hrguu56ze37t790bl'
139
134
  c.option '--verbose', 'Enables verbose output'
140
135
  c.option '--url STRING', String, 'URL of vmpooler'
141
- c.option '--host STRING', String, 'Hostname to modify'
142
136
  c.option '--token STRING', String, 'Token for vmpooler'
143
137
  c.action do |args, options|
144
138
  verbose = options.verbose || config['verbose']
145
139
  url = options.url ||= config['url']
146
- hostname = options.host
140
+ hostname = args[0]
147
141
  token = options.token ||= config['token']
148
142
 
149
143
  res_body = Pooler.snapshot(verbose, url, hostname, token)
@@ -155,16 +149,15 @@ class Vmfloaty
155
149
  c.syntax = 'floaty revert [options]'
156
150
  c.summary = 'Reverts a vm to a specified snapshot'
157
151
  c.description = ''
158
- c.example 'Reverts to a snapshot for a given host', 'floaty revert --url http://vmpooler.example.com --host myvm.example.com --token a9znth9dn01t416hrguu56ze37t790bl --snapshot n4eb4kdtp7rwv4x158366vd9jhac8btq'
152
+ c.example 'Reverts to a snapshot for a given host', 'floaty revert myvm.example.com --url http://vmpooler.example.com --token a9znth9dn01t416hrguu56ze37t790bl --snapshot n4eb4kdtp7rwv4x158366vd9jhac8btq'
159
153
  c.option '--verbose', 'Enables verbose output'
160
154
  c.option '--url STRING', String, 'URL of vmpooler'
161
- c.option '--host STRING', String, 'Hostname to modify'
162
155
  c.option '--token STRING', String, 'Token for vmpooler'
163
156
  c.option '--snapshot STRING', String, 'SHA of snapshot'
164
157
  c.action do |args, options|
165
158
  verbose = options.verbose || config['verbose']
166
159
  url = options.url ||= config['url']
167
- hostname = options.host
160
+ hostname = args[0]
168
161
  token = options.token || config['token']
169
162
  snapshot_sha = options.snapshot
170
163
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vmfloaty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Cain
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-15 00:00:00.000000000 Z
11
+ date: 2015-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander