sensu-cli 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sensu-cli/cli.rb +44 -44
- data/lib/sensu-cli/version.rb +1 -1
- data/sensu-cli.gemspec +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96faf8014147d26794fbac8ba9f9552096305d372c04aa63e1c16c714d75624e
|
4
|
+
data.tar.gz: ef07d7f98178be6c29c418e803f8774822768cbcd56245d0c8d3546c21eca77f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7467480b2b1ab841df0a9fe23f5e1c6bb9dfef7ff9136780a6fbfaf387f3ecfcb02c29c025ce50a72d72e00a7bfc4dbdc517143505c1d30921fee838287fb35
|
7
|
+
data.tar.gz: fb59a9e7e6bfc44c5088c64d959ec2c22c5c85208c3a819b23f06d43ac89dd8a798510f07cce2a1a2d2e2bd82bec0f9bfc9d2093be8df49376f3e2e277b8433e
|
data/lib/sensu-cli/cli.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'optimist'
|
2
2
|
require 'sensu-cli/version'
|
3
3
|
require 'rainbow/ext/string'
|
4
4
|
|
@@ -79,7 +79,7 @@ module SensuCli
|
|
79
79
|
sensu-cli socket raw INPUT\n\r
|
80
80
|
EOS
|
81
81
|
def global
|
82
|
-
global_opts =
|
82
|
+
global_opts = Optimist::Parser.new do
|
83
83
|
version "sensu-cli version: #{SensuCli::VERSION}"
|
84
84
|
banner <<-'EOS'.gsub(/^ {10}/, '')
|
85
85
|
#
|
@@ -108,17 +108,17 @@ module SensuCli
|
|
108
108
|
banner SOCKET_BANNER
|
109
109
|
stop_on SUB_COMMANDS
|
110
110
|
end
|
111
|
-
|
111
|
+
Optimist::with_standard_exception_handling global_opts do
|
112
112
|
global_opts.parse ARGV
|
113
|
-
raise
|
113
|
+
raise Optimist::HelpNeeded if ARGV.empty? # show help screen
|
114
114
|
end
|
115
115
|
cmd = next_argv
|
116
116
|
self.respond_to?(cmd) ? send(cmd) : explode(global_opts)
|
117
117
|
end
|
118
118
|
|
119
119
|
def explode(opts)
|
120
|
-
|
121
|
-
raise
|
120
|
+
Optimist::with_standard_exception_handling opts do
|
121
|
+
raise Optimist::HelpNeeded # show help screen
|
122
122
|
end
|
123
123
|
end
|
124
124
|
|
@@ -127,7 +127,7 @@ module SensuCli
|
|
127
127
|
end
|
128
128
|
|
129
129
|
def parser(cli)
|
130
|
-
|
130
|
+
Optimist::Parser.new do
|
131
131
|
banner Cli.const_get("#{cli}_BANNER")
|
132
132
|
stop_on Cli.const_get("#{cli}_COMMANDS")
|
133
133
|
end
|
@@ -147,27 +147,27 @@ module SensuCli
|
|
147
147
|
explode_if_empty(opts, command)
|
148
148
|
case command
|
149
149
|
when 'list'
|
150
|
-
p =
|
150
|
+
p = Optimist::options do
|
151
151
|
opt :limit, 'The number if clients to return', :short => 'l', :type => :string
|
152
152
|
opt :offset, 'The number of clients to offset before returning', :short => 'o', :type => :string
|
153
153
|
opt :format, 'Available formats; single, table, json', :short => 'f', :type => :string
|
154
154
|
opt :fields, 'Fields for table ouput: -F name,address,subscriptions', :short => 'F', :type => :string
|
155
155
|
opt :filter, 'Field and value to filter on: name,graphite', :type => :string
|
156
156
|
end
|
157
|
-
|
158
|
-
|
159
|
-
|
157
|
+
Optimist::die :format, 'Available optional formats: single, table, json'.color(:red) if p[:format] != 'table' && p[:format] != 'single' && p[:format] != 'json' && p[:format]
|
158
|
+
Optimist::die :fields, 'Fields must be used in conjunction with --format table'.color(:red) if p[:format] != 'table' && p[:fields]
|
159
|
+
Optimist::die :offset, 'Offset depends on the limit option --limit ( -l )'.color(:red) if p[:offset] && !p[:limit]
|
160
160
|
{ :command => 'clients', :method => 'Get', :fields => p }
|
161
161
|
when 'delete'
|
162
|
-
p =
|
163
|
-
item = next_argv # the ARGV.shift needs to happen after
|
162
|
+
p = Optimist::options
|
163
|
+
item = next_argv # the ARGV.shift needs to happen after Optimist::options to catch --help
|
164
164
|
deep_merge({ :command => 'clients', :method => 'Delete', :fields => { :name => item } }, { :fields => p })
|
165
165
|
when 'show'
|
166
|
-
p =
|
166
|
+
p = Optimist::options
|
167
167
|
item = next_argv
|
168
168
|
deep_merge({ :command => 'clients', :method => 'Get', :fields => { :name => item } }, { :fields => p })
|
169
169
|
when 'history'
|
170
|
-
p =
|
170
|
+
p = Optimist::options
|
171
171
|
item = next_argv
|
172
172
|
deep_merge({ :command => 'clients', :method => 'Get', :fields => { :name => item, :history => true } }, { :fields => p })
|
173
173
|
else
|
@@ -177,13 +177,13 @@ module SensuCli
|
|
177
177
|
|
178
178
|
def info
|
179
179
|
parser('INFO')
|
180
|
-
p =
|
180
|
+
p = Optimist::options
|
181
181
|
{ :command => 'info', :method => 'Get', :fields => p }
|
182
182
|
end
|
183
183
|
|
184
184
|
def health
|
185
185
|
parser('HEALTH')
|
186
|
-
p =
|
186
|
+
p = Optimist::options do
|
187
187
|
opt :consumers, 'The minimum number of consumers', :short => 'c', :type => :string, :required => true
|
188
188
|
opt :messages, 'The maximum number of messages', :short => 'm', :type => :string, :required => true
|
189
189
|
end
|
@@ -197,15 +197,15 @@ module SensuCli
|
|
197
197
|
item = next_argv
|
198
198
|
case command
|
199
199
|
when 'list'
|
200
|
-
p =
|
200
|
+
p = Optimist::options do
|
201
201
|
opt :filter, 'Field and value to filter on: command,procs', :type => :string
|
202
202
|
end
|
203
203
|
{ :command => 'checks', :method => 'Get', :fields => p }
|
204
204
|
when 'show'
|
205
|
-
p =
|
205
|
+
p = Optimist::options
|
206
206
|
deep_merge({ :command => 'checks', :method => 'Get', :fields => { :name => item } }, { :fields => p })
|
207
207
|
when 'request'
|
208
|
-
p =
|
208
|
+
p = Optimist::options
|
209
209
|
ARGV.empty? ? explode(opts) : subscribers = next_argv.split(',')
|
210
210
|
deep_merge({ :command => 'checks', :method => 'Post', :fields => { :check => item, :subscribers => subscribers } }, { :fields => p })
|
211
211
|
else
|
@@ -219,20 +219,20 @@ module SensuCli
|
|
219
219
|
explode_if_empty(opts, command)
|
220
220
|
case command
|
221
221
|
when 'list'
|
222
|
-
p =
|
222
|
+
p = Optimist::options do
|
223
223
|
opt :filter, 'Field and value to filter on: client,graphite (use "name" as field for client or event name)', :type => :string
|
224
224
|
opt :format, 'Available formats; single, table, json', :short => 'f', :type => :string
|
225
225
|
end
|
226
|
-
|
226
|
+
Optimist::die :format, 'Available optional formats: single, table, json'.color(:red) if p[:format] != 'table' && p[:format] != 'single' && p[:format] != 'json' && p[:format]
|
227
227
|
{ :command => 'events', :method => 'Get', :fields => p }
|
228
228
|
when 'show'
|
229
|
-
p =
|
229
|
+
p = Optimist::options do
|
230
230
|
opt :check, 'Returns the check associated with the client', :short => 'k', :type => :string
|
231
231
|
end
|
232
232
|
item = next_argv
|
233
233
|
deep_merge({ :command => 'events', :method => 'Get', :fields => { :client => item } }, { :fields => p })
|
234
234
|
when 'delete'
|
235
|
-
p =
|
235
|
+
p = Optimist::options
|
236
236
|
item = next_argv
|
237
237
|
check = next_argv
|
238
238
|
explode(opts) if check.nil?
|
@@ -248,25 +248,25 @@ module SensuCli
|
|
248
248
|
explode_if_empty(opts, command)
|
249
249
|
case command
|
250
250
|
when 'list'
|
251
|
-
p =
|
251
|
+
p = Optimist::options do
|
252
252
|
opt :limit, 'The number of stashes to return', :short => 'l', :type => :string
|
253
253
|
opt :offset, 'The number of stashes to offset before returning', :short => 'o', :type => :string
|
254
254
|
opt :format, 'Available formats; single, table, json', :short => 'f', :type => :string
|
255
255
|
opt :filter, 'Field and value to filter on: path,graphite', :type => :string
|
256
256
|
end
|
257
|
-
|
258
|
-
|
257
|
+
Optimist::die :offset, 'Offset depends on the limit option --limit ( -l )'.color(:red) if p[:offset] && !p[:limit]
|
258
|
+
Optimist::die :format, 'Available optional formats: single, table, json'.color(:red) if p[:format] != 'table' && p[:format] != 'single' && p[:format] != 'json' && p[:format]
|
259
259
|
{ :command => 'stashes', :method => 'Get', :fields => p }
|
260
260
|
when 'show'
|
261
|
-
p =
|
261
|
+
p = Optimist::options
|
262
262
|
item = next_argv
|
263
263
|
deep_merge({ :command => 'stashes', :method => 'Get', :fields => { :path => item } }, { :fields => p })
|
264
264
|
when 'delete'
|
265
|
-
p =
|
265
|
+
p = Optimist::options
|
266
266
|
item = next_argv
|
267
267
|
deep_merge({ :command => 'stashes', :method => 'Delete', :fields => { :path => item } }, { :fields => p })
|
268
268
|
when 'create'
|
269
|
-
p =
|
269
|
+
p = Optimist::options
|
270
270
|
item = next_argv
|
271
271
|
deep_merge({ :command => 'stashes', :method => 'Post', :fields => { :create => true, :create_path => item } }, { :fields => p })
|
272
272
|
else
|
@@ -280,22 +280,22 @@ module SensuCli
|
|
280
280
|
explode_if_empty(opts, command)
|
281
281
|
case command
|
282
282
|
when 'list'
|
283
|
-
p =
|
283
|
+
p = Optimist::options do
|
284
284
|
opt :filter, 'Field and value to filter on: issued,1399505890', :type => :string
|
285
285
|
end
|
286
286
|
{ :command => 'aggregates', :method => 'Get', :fields => p }
|
287
287
|
when 'show'
|
288
|
-
p =
|
288
|
+
p = Optimist::options do
|
289
289
|
opt :id, 'The id of the check issued.', :short => 'i', :type => :integer
|
290
290
|
opt :limit, 'The number of aggregates to return', :short => 'l', :type => :string
|
291
291
|
opt :offset, 'The number of aggregates to offset before returning', :short => 'o', :type => :string
|
292
292
|
# opt :results, 'Include the check results', :short => 'r', :type => :boolean
|
293
293
|
end
|
294
|
-
|
294
|
+
Optimist::die :offset, 'Offset depends on the limit option --limit ( -l )'.color(:red) if p[:offset] && !p[:limit]
|
295
295
|
item = next_argv
|
296
296
|
deep_merge({ :command => 'aggregates', :method => 'Get', :fields => { :check => item } }, { :fields => p })
|
297
297
|
when 'delete'
|
298
|
-
p =
|
298
|
+
p = Optimist::options
|
299
299
|
item = next_argv
|
300
300
|
deep_merge({ :command => 'aggregates', :method => 'Delete', :fields => { :check => item } }, { :fields => p })
|
301
301
|
else
|
@@ -305,7 +305,7 @@ module SensuCli
|
|
305
305
|
|
306
306
|
def silence
|
307
307
|
opts = parser('SIL')
|
308
|
-
p =
|
308
|
+
p = Optimist::options do
|
309
309
|
opt :check, 'The check to silence', :short => 'k', :type => :string
|
310
310
|
opt :owner, 'The owner of the stash', :short => 'o', :type => :string
|
311
311
|
opt :reason, 'The reason this check/node is being silenced', :short => 'r', :type => :string
|
@@ -323,16 +323,16 @@ module SensuCli
|
|
323
323
|
explode_if_empty(opts, command)
|
324
324
|
case command
|
325
325
|
when 'list'
|
326
|
-
p =
|
326
|
+
p = Optimist::options do
|
327
327
|
opt :check, 'The check entries to return', :short => 'c', :type => :string
|
328
328
|
opt :subscription, 'The subscription entries to return', :short => 's', :type => :string
|
329
329
|
opt :limit, 'The number of aggregates to return', :short => 'l', :type => :string
|
330
330
|
opt :offset, 'The number of aggregates to offset before returning', :short => 'o', :type => :string
|
331
331
|
end
|
332
|
-
|
332
|
+
Optimist::die :offset, 'Offset depends on the limit option --limit ( -l )'.color(:red) if p[:offset] && !p[:limit]
|
333
333
|
{ :command => 'silenced', :method => 'Get', :fields => p }
|
334
334
|
when 'create'
|
335
|
-
p =
|
335
|
+
p = Optimist::options do
|
336
336
|
opt :check, 'The check to silence', :short => 'c', :type => :string
|
337
337
|
opt :creator, 'The owner of the stash', :short => 'o', :type => :string
|
338
338
|
opt :reason, 'The reason this check/node is being silenced', :short => 'r', :type => :string, :default => 'Silenced via API - no reason given'
|
@@ -341,15 +341,15 @@ module SensuCli
|
|
341
341
|
opt :source, 'The name of the source of the silence', :short => 's', :type => :string, :default => 'sensu-cli'
|
342
342
|
opt :subscription, 'The name of the subscription to silence', :short => 'n', :type => :string
|
343
343
|
end
|
344
|
-
|
344
|
+
Optimist::die :check, 'Check or Subscription is required'.color(:red) if !p[:check] && !p[:subscription]
|
345
345
|
deep_merge({ :command => 'silenced', :method => 'Post', :fields => { :create => true } }, { :fields => p })
|
346
346
|
when 'clear'
|
347
|
-
p =
|
347
|
+
p = Optimist::options do
|
348
348
|
opt :id, 'The id of the silenced item', :short => 'i', :type => :string
|
349
349
|
opt :check, 'The check of the silenced item', :short => 'c', :type => :string
|
350
350
|
opt :subscription, 'The subscription of the silenced item', :short => 's', :type => :string
|
351
351
|
end
|
352
|
-
|
352
|
+
Optimist::die :id, 'ID, Check or Subscription is required'.color(:red) if !p[:check] && !p[:subscription] && !p[:id]
|
353
353
|
{ :command => 'silenced', :method => 'Post', :clear => true, :fields => p }
|
354
354
|
else
|
355
355
|
explode(opts)
|
@@ -359,7 +359,7 @@ module SensuCli
|
|
359
359
|
def resolve
|
360
360
|
opts = parser('RES')
|
361
361
|
command = next_argv
|
362
|
-
p =
|
362
|
+
p = Optimist::options
|
363
363
|
ARGV.empty? ? explode(opts) : check = next_argv
|
364
364
|
deep_merge({ :command => 'resolve', :method => 'Post', :fields => { :client => command, :check => check } }, { :fields => p })
|
365
365
|
end
|
@@ -370,7 +370,7 @@ module SensuCli
|
|
370
370
|
explode_if_empty(opts, command)
|
371
371
|
case command
|
372
372
|
when 'create'
|
373
|
-
p =
|
373
|
+
p = Optimist::options do
|
374
374
|
opt :name, 'The check name to report as', :short => 'n', :type => :string, :required => true
|
375
375
|
opt :output, 'The check result output', :short => 'o', :type => :string, :required => true
|
376
376
|
opt :status, 'The check result exit status to indicate severity.', :short => 's', :type => :integer
|
@@ -378,7 +378,7 @@ module SensuCli
|
|
378
378
|
end
|
379
379
|
{ :command => 'socket', :method => 'create', :fields => p }
|
380
380
|
when 'raw'
|
381
|
-
|
381
|
+
Optimist::options
|
382
382
|
{ :command => 'socket', :method => 'raw', :raw => next_argv }
|
383
383
|
else
|
384
384
|
explode(opts)
|
data/lib/sensu-cli/version.rb
CHANGED
data/sensu-cli.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
else
|
18
18
|
s.add_dependency('rainbow', '~> 2.0')
|
19
19
|
end
|
20
|
-
s.add_dependency('
|
20
|
+
s.add_dependency('optimist', '~> 3.0')
|
21
21
|
s.add_dependency('mixlib-config', '~> 2.1')
|
22
22
|
s.add_dependency('hirb', '~> 0.7')
|
23
23
|
s.add_dependency('erubis', '~> 2.7')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bryan Brandau
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rainbow
|
@@ -25,19 +25,19 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: optimist
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '3.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '3.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: mixlib-config
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -111,8 +111,8 @@ dependencies:
|
|
111
111
|
description: A command line utility for interacting with the Sensu api.
|
112
112
|
email: agent462@gmail.com
|
113
113
|
executables:
|
114
|
-
- sensu
|
115
114
|
- sensu-cli
|
115
|
+
- sensu
|
116
116
|
extensions: []
|
117
117
|
extra_rdoc_files: []
|
118
118
|
files:
|