morpheus-cli 3.6.15 → 3.6.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44cd5f86f718d01477f1d822a42fbf33374ad0339e080b57d589040bcad06dd5
4
- data.tar.gz: 3b43a3da6bfa2b65e683a1696ec3d39ef4f17acde0d388dd9004ab1416ad9bb8
3
+ metadata.gz: 2965857867a8deda2e9e0c8e6033823838c48710cde42a3d6f27b0ee5287faa6
4
+ data.tar.gz: f16690f4f149d1f17814059ae6e385bc9fe550964044c9deecf54e352c7e333e
5
5
  SHA512:
6
- metadata.gz: 12da78b947b3aec266e206833af10ec1a068efe9aab6e92d01b0d266ff36c06a37d371f5e16bb7d9d9c96cf43daa2b7ce8feed7989d4bc72b2bc065d2a73014c
7
- data.tar.gz: a7e99aa6d071b30f64344505c2cce44204f1d11dc255e253c4c750798a7483074dee8162a206ec59bd04be94f9bbc4fc2e09f48b048754dedbccf49bd1896e93
6
+ metadata.gz: 580ca508572a8f69dc7d14626cf24df8fac27f148041272d01a71b943a256fe283ba880141685d243fb08bdb5b82a41f40bd80fd91d8d92227699901401552f2
7
+ data.tar.gz: 6852abdd9d76fa2f3a20e8e1b268eb3012c08906c02c5404a6fdc33378427036a2dbe66df5000bfa78339e8a10307d3020435cb17fbcc4dffd6171037cb2d53d
@@ -14,7 +14,8 @@ class Morpheus::Cli::MonitoringAppsCommand
14
14
 
15
15
  def connect(opts)
16
16
  @api_client = establish_remote_appliance_connection(opts)
17
- @monitoring_apps_interface = Morpheus::APIClient.new(@access_token,nil,nil, @appliance_url).monitoring.apps
17
+ @monitoring_interface = @api_client.monitoring
18
+ @monitoring_apps_interface = @api_client.monitoring.apps
18
19
  end
19
20
 
20
21
  def handle(args)
@@ -29,14 +30,12 @@ class Morpheus::Cli::MonitoringAppsCommand
29
30
  opts.on('--status LIST', Array, "Filter by status. error,healthy,warning,muted") do |list|
30
31
  params['status'] = list
31
32
  end
32
- build_common_options(opts, options, [:list, :last_updated, :json, :yaml, :csv, :fields, :dry_run, :remote])
33
+ build_common_options(opts, options, [:list, :query, :last_updated, :json, :yaml, :csv, :fields, :dry_run, :remote])
33
34
  end
34
35
  optparse.parse!(args)
35
36
  connect(options)
36
37
  begin
37
- [:phrase, :offset, :max, :sort, :direction, :lastUpdated].each do |k|
38
- params[k] = options[k] unless options[k].nil?
39
- end
38
+ params.merge!(parse_list_options(options))
40
39
  @monitoring_apps_interface.setopts(options)
41
40
  if options[:dry_run]
42
41
  print_dry_run @monitoring_apps_interface.dry.list(params)
@@ -57,15 +56,7 @@ class Morpheus::Cli::MonitoringAppsCommand
57
56
  monitor_apps = json_response['monitorApps']
58
57
  title = "Morpheus Monitoring Apps"
59
58
  subtitles = []
60
- # if app
61
- # subtitles << "App: #{app['name']}".strip
62
- # end
63
- # if cloud
64
- # subtitles << "Cloud: #{cloud['name']}".strip
65
- # end
66
- if params[:phrase]
67
- subtitles << "Search: #{params[:phrase]}".strip
68
- end
59
+ subtitles += parse_list_subtitles(options)
69
60
  print_h1 title, subtitles
70
61
  if monitor_apps.empty?
71
62
  print cyan,"No monitoring apps found.",reset,"\n"
@@ -14,7 +14,8 @@ class Morpheus::Cli::MonitoringChecksCommand
14
14
 
15
15
  def connect(opts)
16
16
  @api_client = establish_remote_appliance_connection(opts)
17
- @monitoring_checks_interface = Morpheus::APIClient.new(@access_token,nil,nil, @appliance_url).monitoring.checks
17
+ @monitoring_interface = @api_client.monitoring
18
+ @monitoring_checks_interface = @api_client.monitoring.checks
18
19
  end
19
20
 
20
21
  def handle(args)
@@ -33,14 +34,12 @@ class Morpheus::Cli::MonitoringChecksCommand
33
34
  opts.on('--status VALUE', Array, "Filter by status. error,healthy,warning,muted") do |val|
34
35
  params['status'] = val
35
36
  end
36
- build_common_options(opts, options, [:list, :last_updated, :json, :yaml, :csv, :fields, :json, :dry_run, :remote])
37
+ build_common_options(opts, options, [:list, :query, :last_updated, :json, :yaml, :csv, :fields, :json, :dry_run, :remote])
37
38
  end
38
39
  optparse.parse!(args)
39
40
  connect(options)
40
41
  begin
41
- [:phrase, :offset, :max, :sort, :direction, :lastUpdated].each do |k|
42
- params[k] = options[k] unless options[k].nil?
43
- end
42
+ params.merge!(parse_list_options(options))
44
43
  @monitoring_checks_interface.setopts(options)
45
44
  if options[:dry_run]
46
45
  print_dry_run @monitoring_checks_interface.dry.list(params)
@@ -60,16 +59,8 @@ class Morpheus::Cli::MonitoringChecksCommand
60
59
  checks = json_response['checks']
61
60
  title = "Morpheus Monitoring Checks"
62
61
  subtitles = []
63
- # if group
64
- # subtitles << "Group: #{group['name']}".strip
65
- # end
66
- # if cloud
67
- # subtitles << "Cloud: #{cloud['name']}".strip
68
- # end
69
- if params[:phrase]
70
- subtitles << "Search: #{params[:phrase]}".strip
71
- end
72
- print_h1 title, subtitles
62
+ subtitles += parse_list_subtitles(options)
63
+ print_h1 title, subtitles, options
73
64
  if checks.empty?
74
65
  print cyan,"No checks found.",reset,"\n"
75
66
  else
@@ -21,7 +21,8 @@ class Morpheus::Cli::MonitoringContactsCommand
21
21
 
22
22
  def connect(opts)
23
23
  @api_client = establish_remote_appliance_connection(opts)
24
- @monitoring_contacts_interface = Morpheus::APIClient.new(@access_token,nil,nil, @appliance_url).monitoring.contacts
24
+ @monitoring_interface = @api_client.monitoring
25
+ @monitoring_contacts_interface = @api_client.monitoring.contacts
25
26
  end
26
27
 
27
28
  def handle(args)
@@ -33,14 +34,12 @@ class Morpheus::Cli::MonitoringContactsCommand
33
34
  params = {}
34
35
  optparse = Morpheus::Cli::OptionParser.new do |opts|
35
36
  opts.banner = subcommand_usage()
36
- build_common_options(opts, options, [:list, :json, :csv, :yaml, :fields, :json, :dry_run])
37
+ build_common_options(opts, options, [:list, :query, :json, :csv, :yaml, :fields, :json, :dry_run])
37
38
  end
38
39
  optparse.parse!(args)
39
40
  connect(options)
40
41
  begin
41
- [:phrase, :offset, :max, :sort, :direction].each do |k|
42
- params[k] = options[k] unless options[k].nil?
43
- end
42
+ params.merge!(parse_list_options(options))
44
43
  # JD: lastUpdated 500ing, contacts don't have that property ? =o Fix it!
45
44
  @monitoring_contacts_interface.setopts(options)
46
45
  if options[:dry_run]
@@ -62,10 +61,8 @@ class Morpheus::Cli::MonitoringContactsCommand
62
61
  contacts = json_response['contacts']
63
62
  title = "Morpheus Monitoring Contacts"
64
63
  subtitles = []
65
- if params[:phrase]
66
- subtitles << "Search: #{params[:phrase]}".strip
67
- end
68
- print_h1 title, subtitles
64
+ subtitles += parse_list_subtitles(options)
65
+ print_h1 title, subtitles, options
69
66
  if contacts.empty?
70
67
  print cyan,"No contacts found.",reset,"\n"
71
68
  else
@@ -13,7 +13,8 @@ class Morpheus::Cli::MonitoringGroupsCommand
13
13
 
14
14
  def connect(opts)
15
15
  @api_client = establish_remote_appliance_connection(opts)
16
- @monitoring_groups_interface = Morpheus::APIClient.new(@access_token,nil,nil, @appliance_url).monitoring.groups
16
+ @monitoring_interface = @api_client.monitoring
17
+ @monitoring_groups_interface = @api_client.monitoring.groups
17
18
  end
18
19
 
19
20
  def handle(args)
@@ -28,7 +29,7 @@ class Morpheus::Cli::MonitoringGroupsCommand
28
29
  opts.on('--status VALUE', Array, "Filter by status. error,healthy,warning,muted") do |val|
29
30
  params['status'] = val
30
31
  end
31
- build_common_options(opts, options, [:list, :last_updated, :json, :yaml, :csv, :fields, :dry_run, :remote])
32
+ build_common_options(opts, options, [:list, :query, :last_updated, :json, :yaml, :csv, :fields, :dry_run, :remote])
32
33
  end
33
34
  optparse.parse!(args)
34
35
  connect(options)
@@ -12,7 +12,8 @@ class Morpheus::Cli::MonitoringIncidentsCommand
12
12
 
13
13
  def connect(opts)
14
14
  @api_client = establish_remote_appliance_connection(opts)
15
- @monitoring_incidents_interface = Morpheus::APIClient.new(@access_token,nil,nil, @appliance_url).monitoring.incidents
15
+ @monitoring_interface = @api_client.monitoring
16
+ @monitoring_incidents_interface = @api_client.monitoring.incidents
16
17
  end
17
18
 
18
19
  def handle(args)
@@ -30,7 +31,7 @@ class Morpheus::Cli::MonitoringIncidentsCommand
30
31
  opts.on('--severity LIST', Array, "Filter by severity. critical, warning, info") do |list|
31
32
  params['severity'] = list
32
33
  end
33
- build_common_options(opts, options, [:list, :last_updated, :json, :yaml, :csv, :fields, :dry_run, :remote])
34
+ build_common_options(opts, options, [:list, :query, :last_updated, :json, :yaml, :csv, :fields, :dry_run, :remote])
34
35
  end
35
36
  optparse.parse!(args)
36
37
  connect(options)
@@ -1,6 +1,6 @@
1
1
 
2
2
  module Morpheus
3
3
  module Cli
4
- VERSION = "3.6.15"
4
+ VERSION = "3.6.16"
5
5
  end
6
6
  end
@@ -1,4 +1,5 @@
1
1
  require 'rest-client'
2
+ require 'uri'
2
3
 
3
4
  module Morpheus
4
5
  # A wrapper around rest_client so we can more easily deal with passing options (like turning on/off SSL verification)
@@ -31,8 +32,27 @@ module Morpheus
31
32
  opts[:headers] ||= {}
32
33
  opts[:headers][:user_agent] ||= self.user_agent
33
34
 
35
+ # serialize params oureselves, this way we get arrays without the [] suffix
36
+ params = nil
37
+ if opts[:params] && !opts[:params].empty?
38
+ params = opts.delete(:params)
39
+ elsif opts[:headers] && opts[:headers][:params]
40
+ # params inside headers for restclient reasons..
41
+ params = opts[:headers].delete(:params)
42
+ elsif opts[:query] && !opts[:query].empty?
43
+ params = opts.delete(:query)
44
+ end
45
+ query_string = params
46
+ if query_string.respond_to?(:map)
47
+ query_string = URI.encode_www_form(query_string)
48
+ end
49
+ if query_string && !query_string.empty?
50
+ opts[:url] = "#{opts[:url]}?#{query_string}"
51
+ end
52
+
34
53
  ::RestClient::Request.execute opts
35
54
  end
55
+
36
56
  def post(url, payload)
37
57
  execute url: url, payload: payload, method: :post
38
58
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: morpheus-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.15
4
+ version: 3.6.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Estes
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2019-02-26 00:00:00.000000000 Z
14
+ date: 2019-02-27 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler