morpheus-cli 3.6.8 → 3.6.9

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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/lib/morpheus/api/account_groups_interface.rb +2 -2
  3. data/lib/morpheus/api/accounts_interface.rb +4 -7
  4. data/lib/morpheus/api/api_client.rb +207 -70
  5. data/lib/morpheus/api/app_templates_interface.rb +7 -28
  6. data/lib/morpheus/api/apps_interface.rb +14 -21
  7. data/lib/morpheus/api/archive_buckets_interface.rb +2 -2
  8. data/lib/morpheus/api/archive_files_interface.rb +6 -6
  9. data/lib/morpheus/api/auth_interface.rb +14 -1
  10. data/lib/morpheus/api/blueprints_interface.rb +9 -16
  11. data/lib/morpheus/api/cloud_datastores_interface.rb +1 -1
  12. data/lib/morpheus/api/cloud_policies_interface.rb +1 -1
  13. data/lib/morpheus/api/clouds_interface.rb +18 -21
  14. data/lib/morpheus/api/cypher_interface.rb +19 -28
  15. data/lib/morpheus/api/file_copy_request_interface.rb +1 -1
  16. data/lib/morpheus/api/group_policies_interface.rb +1 -1
  17. data/lib/morpheus/api/groups_interface.rb +4 -4
  18. data/lib/morpheus/api/image_builder_boot_scripts_interface.rb +1 -1
  19. data/lib/morpheus/api/image_builder_image_builds_interface.rb +2 -2
  20. data/lib/morpheus/api/image_builder_preseed_scripts_interface.rb +1 -1
  21. data/lib/morpheus/api/instances_interface.rb +17 -23
  22. data/lib/morpheus/api/logs_interface.rb +7 -10
  23. data/lib/morpheus/api/network_domains_interface.rb +1 -1
  24. data/lib/morpheus/api/network_groups_interface.rb +1 -1
  25. data/lib/morpheus/api/network_pool_servers_interface.rb +1 -1
  26. data/lib/morpheus/api/network_pools_interface.rb +1 -1
  27. data/lib/morpheus/api/network_proxies_interface.rb +1 -1
  28. data/lib/morpheus/api/network_services_interface.rb +1 -1
  29. data/lib/morpheus/api/networks_interface.rb +1 -1
  30. data/lib/morpheus/api/old_cypher_interface.rb +55 -0
  31. data/lib/morpheus/api/packages_interface.rb +1 -1
  32. data/lib/morpheus/api/policies_interface.rb +1 -1
  33. data/lib/morpheus/api/setup_interface.rb +1 -1
  34. data/lib/morpheus/api/storage_providers_interface.rb +1 -1
  35. data/lib/morpheus/api/whoami_interface.rb +1 -1
  36. data/lib/morpheus/benchmarking.rb +277 -0
  37. data/lib/morpheus/cli.rb +6 -22
  38. data/lib/morpheus/cli/access_token_command.rb +172 -0
  39. data/lib/morpheus/cli/accounts.rb +5 -0
  40. data/lib/morpheus/cli/apps.rb +93 -37
  41. data/lib/morpheus/cli/archives_command.rb +0 -2
  42. data/lib/morpheus/cli/auth_command.rb +112 -0
  43. data/lib/morpheus/cli/blueprints_command.rb +50 -13
  44. data/lib/morpheus/cli/change_password_command.rb +148 -0
  45. data/lib/morpheus/cli/cli_command.rb +173 -49
  46. data/lib/morpheus/cli/clouds.rb +15 -5
  47. data/lib/morpheus/cli/command_error.rb +7 -1
  48. data/lib/morpheus/cli/{alias_command.rb → commands/standard/alias_command.rb} +79 -51
  49. data/lib/morpheus/cli/commands/standard/benchmark_command.rb +399 -0
  50. data/lib/morpheus/cli/commands/standard/coloring_command.rb +60 -0
  51. data/lib/morpheus/cli/{curl_command.rb → commands/standard/curl_command.rb} +0 -7
  52. data/lib/morpheus/cli/commands/standard/debug_command.rb +61 -0
  53. data/lib/morpheus/cli/{echo_command.rb → commands/standard/echo_command.rb} +1 -1
  54. data/lib/morpheus/cli/{edit_profile_command.rb → commands/standard/edit_profile_command.rb} +0 -0
  55. data/lib/morpheus/cli/{edit_rc_command.rb → commands/standard/edit_rc_command.rb} +0 -0
  56. data/lib/morpheus/cli/commands/standard/get_prompt_command.rb +39 -0
  57. data/lib/morpheus/cli/commands/standard/history_command.rb +76 -0
  58. data/lib/morpheus/cli/{log_level_command.rb → commands/standard/log_level_command.rb} +1 -1
  59. data/lib/morpheus/cli/{man_command.rb → commands/standard/man_command.rb} +2 -2
  60. data/lib/morpheus/cli/commands/standard/rm_command.rb +14 -0
  61. data/lib/morpheus/cli/commands/standard/set_prompt_command.rb +54 -0
  62. data/lib/morpheus/cli/{sleep_command.rb → commands/standard/sleep_command.rb} +0 -0
  63. data/lib/morpheus/cli/{source_command.rb → commands/standard/source_command.rb} +0 -0
  64. data/lib/morpheus/cli/{ssl_verification_command.rb → commands/standard/ssl_verification_command.rb} +1 -1
  65. data/lib/morpheus/cli/commands/standard/tee_command.rb +14 -0
  66. data/lib/morpheus/cli/{version_command.rb → commands/standard/version_command.rb} +0 -0
  67. data/lib/morpheus/cli/credentials.rb +276 -87
  68. data/lib/morpheus/cli/cypher_command.rb +333 -214
  69. data/lib/morpheus/cli/error_handler.rb +12 -2
  70. data/lib/morpheus/cli/groups.rb +44 -20
  71. data/lib/morpheus/cli/hosts.rb +39 -16
  72. data/lib/morpheus/cli/instances.rb +114 -62
  73. data/lib/morpheus/cli/login.rb +74 -21
  74. data/lib/morpheus/cli/logout.rb +3 -4
  75. data/lib/morpheus/cli/mixins/accounts_helper.rb +50 -18
  76. data/lib/morpheus/cli/mixins/print_helper.rb +207 -42
  77. data/lib/morpheus/cli/old_cypher_command.rb +414 -0
  78. data/lib/morpheus/cli/option_parser.rb +6 -1
  79. data/lib/morpheus/cli/processes_command.rb +3 -0
  80. data/lib/morpheus/cli/remote.rb +11 -17
  81. data/lib/morpheus/cli/roles.rb +17 -17
  82. data/lib/morpheus/cli/security_groups.rb +47 -17
  83. data/lib/morpheus/cli/shell.rb +139 -79
  84. data/lib/morpheus/cli/tenants_command.rb +353 -0
  85. data/lib/morpheus/cli/users.rb +26 -18
  86. data/lib/morpheus/cli/version.rb +1 -1
  87. data/lib/morpheus/cli/whoami.rb +14 -10
  88. data/lib/morpheus/formatters.rb +4 -4
  89. data/lib/morpheus/logging.rb +16 -8
  90. data/lib/morpheus/terminal.rb +63 -34
  91. metadata +28 -15
  92. data/lib/morpheus/cli/coloring_command.rb +0 -45
  93. data/lib/morpheus/cli/set_prompt_command.rb +0 -51
@@ -0,0 +1,414 @@
1
+ require 'json'
2
+ require 'yaml'
3
+ require 'table_print'
4
+ require 'morpheus/cli/cli_command'
5
+
6
+ class Morpheus::Cli::OldCypherCommand
7
+ include Morpheus::Cli::CliCommand
8
+
9
+ # being deprecated in favor of VaultCypherCommand
10
+ set_command_name :'old-cypher'
11
+ set_command_hidden
12
+
13
+ register_subcommands :list, :get, :add, :remove, :decrypt
14
+
15
+ def initialize()
16
+ # @appliance_name, @appliance_url = Morpheus::Cli::Remote.active_appliance
17
+ end
18
+
19
+ def connect(opts)
20
+ @api_client = establish_remote_appliance_connection(opts)
21
+ @cypher_interface = @api_client.old_cypher
22
+ end
23
+
24
+ def handle(args)
25
+ handle_subcommand(args)
26
+ end
27
+
28
+ def list(args)
29
+ options = {}
30
+ params = {}
31
+ optparse = Morpheus::Cli::OptionParser.new do |opts|
32
+ opts.banner = subcommand_usage()
33
+ build_common_options(opts, options, [:list, :query, :json, :yaml, :csv, :fields, :json, :dry_run, :remote])
34
+ opts.footer = "List cypher items."
35
+ end
36
+ optparse.parse!(args)
37
+ connect(options)
38
+ begin
39
+ params.merge!(parse_list_options(options))
40
+ if options[:dry_run]
41
+ print_dry_run @cypher_interface.dry.list(params)
42
+ return 0
43
+ end
44
+ json_response = @cypher_interface.list(params)
45
+ cypher_items = json_response["cyphers"]
46
+ if options[:json]
47
+ puts as_json(json_response, options, "cyphers")
48
+ return 0
49
+ elsif options[:yaml]
50
+ puts as_yaml(json_response, options, "cyphers")
51
+ return 0
52
+ elsif options[:csv]
53
+ puts records_as_csv(cypher_items, options)
54
+ return 0
55
+ end
56
+ title = "Morpheus Cypher List"
57
+ subtitles = []
58
+ subtitles += parse_list_subtitles(options)
59
+ print_h1 title, subtitles
60
+ if cypher_items.empty?
61
+ print cyan,"No cypher items found.",reset,"\n"
62
+ else
63
+ cypher_columns = {
64
+ "ID" => 'id',
65
+ "KEY" => lambda {|it| it["itemKey"] || it["key"] },
66
+ "LEASE REMAINING" => lambda {|it| it['expireDate'] ? format_local_dt(it['expireDate']) : "" },
67
+ "DATE CREATED" => lambda {|it| format_local_dt(it["dateCreated"]) },
68
+ "LAST ACCESSED" => lambda {|it| format_local_dt(it["lastAccessed"]) }
69
+ }
70
+ if options[:include_fields]
71
+ cypher_columns = options[:include_fields]
72
+ end
73
+ print cyan
74
+ print as_pretty_table(cypher_items, cypher_columns, options)
75
+ print reset
76
+ print_results_pagination(json_response)
77
+ end
78
+ print reset,"\n"
79
+ return 0
80
+ rescue RestClient::Exception => e
81
+ print_rest_exception(e, options)
82
+ exit 1
83
+ end
84
+ end
85
+
86
+ def get(args)
87
+ options = {}
88
+ do_decrypt = false
89
+ optparse = Morpheus::Cli::OptionParser.new do |opts|
90
+ opts.banner = subcommand_usage("[id]")
91
+ opts.on(nil, '--decrypt', 'Display the decrypted value') do
92
+ do_decrypt = true
93
+ end
94
+ build_common_options(opts, options, [:json, :yaml, :csv, :fields, :dry_run, :remote])
95
+ opts.footer = "Get details about a cypher." + "\n" +
96
+ "[id] is required. This is the id or key of a cypher."
97
+ end
98
+ optparse.parse!(args)
99
+ if args.count != 1
100
+ print_error Morpheus::Terminal.angry_prompt
101
+ puts_error "wrong number of arguments, expected 1 and got #{args.count}\n#{optparse}"
102
+ return 1
103
+ end
104
+ connect(options)
105
+ begin
106
+ if options[:dry_run]
107
+ if args[0].to_s =~ /\A\d{1,}\Z/
108
+ print_dry_run @cypher_interface.dry.get(args[0].to_i)
109
+ else
110
+ print_dry_run @cypher_interface.dry.list({name:args[0]})
111
+ end
112
+ return
113
+ end
114
+ cypher_item = find_cypher_by_name_or_id(args[0])
115
+ return 1 if cypher_item.nil?
116
+ json_response = {'cypher' => cypher_item} # skip redundant request
117
+ decrypt_json_response = nil
118
+ if do_decrypt
119
+ decrypt_json_response = @cypher_interface.decrypt(cypher_item["id"])
120
+ end
121
+ # json_response = @cypher_interface.get(cypher_item['id'])
122
+ cypher_item = json_response['cypher']
123
+ if options[:json]
124
+ puts as_json(json_response, options, "cypher")
125
+ return 0
126
+ elsif options[:yaml]
127
+ puts as_yaml(json_response, options, "cypher")
128
+ return 0
129
+ elsif options[:csv]
130
+ puts records_as_csv([cypher_item], options)
131
+ return 0
132
+ end
133
+ print_h1 "Cypher Details"
134
+ print cyan
135
+ description_cols = {
136
+ "ID" => 'id',
137
+ # what here
138
+ "Key" => lambda {|it| it["itemKey"] },
139
+ #"Value" => lambda {|it| it["value"] || "************" },
140
+ "Lease Remaining" => lambda {|it| format_local_dt(it["expireDate"]) },
141
+ "Date Created" => lambda {|it| format_local_dt(it["dateCreated"]) },
142
+ "Last Accessed" => lambda {|it| format_local_dt(it["lastAccessed"]) }
143
+ }
144
+ print_description_list(description_cols, cypher_item)
145
+ if decrypt_json_response
146
+ print_h2 "Decrypted Value"
147
+ print cyan
148
+ puts decrypt_json_response["cypher"] ? decrypt_json_response["cypher"]["itemValue"] : ""
149
+ end
150
+ print reset, "\n"
151
+
152
+ return 0
153
+ rescue RestClient::Exception => e
154
+ print_rest_exception(e, options)
155
+ return 1
156
+ end
157
+ end
158
+
159
+ def decrypt(args)
160
+ params = {}
161
+ options = {}
162
+ optparse = Morpheus::Cli::OptionParser.new do |opts|
163
+ opts.banner = subcommand_usage("[id]")
164
+ build_common_options(opts, options, [:json, :yaml, :csv, :fields, :dry_run, :remote])
165
+ opts.footer = "Decrypt the value of a cypher." + "\n" +
166
+ "[id] is required. This is the id or key of a cypher."
167
+ end
168
+ optparse.parse!(args)
169
+ if args.count != 1
170
+ print_error Morpheus::Terminal.angry_prompt
171
+ puts_error "wrong number of arguments, expected 1 and got #{args.count}\n#{optparse}"
172
+ return 1
173
+ end
174
+ connect(options)
175
+ begin
176
+ cypher_item = find_cypher_by_name_or_id(args[0])
177
+ return 1 if cypher_item.nil?
178
+ if options[:dry_run]
179
+ print_dry_run @cypher_interface.dry.decrypt(cypher_item["id"], params)
180
+ return
181
+ end
182
+
183
+ cypher_item = find_cypher_by_name_or_id(args[0])
184
+ return 1 if cypher_item.nil?
185
+
186
+ json_response = @cypher_interface.decrypt(cypher_item["id"], params)
187
+ if options[:json]
188
+ puts as_json(json_response, options, "cypher")
189
+ return 0
190
+ elsif options[:yaml]
191
+ puts as_yaml(json_response, options, "cypher")
192
+ return 0
193
+ elsif options[:csv]
194
+ puts records_as_csv([json_response["crypt"]], options)
195
+ return 0
196
+ end
197
+ print_h1 "Cypher Decrypt"
198
+ print cyan
199
+ print_description_list({
200
+ "ID" => 'id',
201
+ "Key" => lambda {|it| it["itemKey"] },
202
+ "Value" => lambda {|it| it["itemValue"] }
203
+ }, json_response["cypher"])
204
+ print reset, "\n"
205
+ return 0
206
+ rescue RestClient::Exception => e
207
+ print_rest_exception(e, options)
208
+ return 1
209
+ end
210
+ end
211
+
212
+ def add(args)
213
+ options = {}
214
+ params = {}
215
+
216
+ optparse = Morpheus::Cli::OptionParser.new do |opts|
217
+ opts.banner = subcommand_usage()
218
+ opts.on('--key VALUE', String, "Key for this cypher") do |val|
219
+ params['itemKey'] = val
220
+ end
221
+ build_common_options(opts, options, [:options, :payload, :json, :dry_run, :quiet, :remote])
222
+ opts.footer = "Create a new cypher."
223
+ end
224
+ optparse.parse!(args)
225
+ if args.count > 1
226
+ print_error Morpheus::Terminal.angry_prompt
227
+ puts_error "wrong number of arguments, expected 0-1 and got #{args.count}\n#{optparse}"
228
+ return 1
229
+ end
230
+ connect(options)
231
+ begin
232
+ payload = nil
233
+ if options[:payload]
234
+ payload = options[:payload]
235
+ else
236
+ # merge -O options into normally parsed options
237
+ params.deep_merge!(options[:options].reject {|k,v| k.is_a?(Symbol) }) if options[:options] && options[:options].keys.size > 0
238
+
239
+ # support [key] as first argument
240
+ if args[0]
241
+ params['itemKey'] = args[0]
242
+ end
243
+ # Key
244
+ if !params['itemKey']
245
+ v_prompt = Morpheus::Cli::OptionTypes.prompt([{'fieldName' => 'itemKey', 'fieldLabel' => 'Key', 'type' => 'text', 'required' => true, 'description' => cypher_key_help}], options)
246
+ params['itemKey'] = v_prompt['itemKey']
247
+ end
248
+
249
+ # Value
250
+ value_is_required = false
251
+ cypher_mount_type = params['itemKey'].split("/").first
252
+ if ["secret", "password"].include?(cypher_mount_type)
253
+ value_is_required = true
254
+ end
255
+
256
+ if !params['itemValue']
257
+ v_prompt = Morpheus::Cli::OptionTypes.prompt([{'fieldName' => 'itemValue', 'fieldLabel' => 'Value', 'type' => 'text', 'required' => value_is_required, 'description' => "Value for this cypher"}], options)
258
+ params['itemValue'] = v_prompt['itemValue']
259
+ end
260
+
261
+ # Lease
262
+ if !params['leaseTimeout']
263
+ v_prompt = Morpheus::Cli::OptionTypes.prompt([{'fieldName' => 'leaseTimeout', 'fieldLabel' => 'Lease', 'type' => 'text', 'required' => false, 'description' => cypher_lease_help}], options)
264
+ params['leaseTimeout'] = v_prompt['leaseTimeout']
265
+ end
266
+ if !params['leaseTimeout'].to_s.empty?
267
+ params['leaseTimeout'] = params['leaseTimeout'].to_i
268
+ end
269
+
270
+ # construct payload
271
+ payload = {
272
+ 'cypher' => params
273
+ }
274
+ end
275
+
276
+ if options[:dry_run]
277
+ print_dry_run @cypher_interface.dry.create(payload)
278
+ return
279
+ end
280
+ json_response = @cypher_interface.create(payload)
281
+ if options[:json]
282
+ print JSON.pretty_generate(json_response)
283
+ print "\n"
284
+ elsif !options[:quiet]
285
+ print_green_success "Added cypher"
286
+ # list([])
287
+ cypher_item = json_response['cypher']
288
+ get([cypher_item['id']])
289
+ end
290
+ return 0
291
+ rescue RestClient::Exception => e
292
+ print_rest_exception(e, options)
293
+ exit 1
294
+ end
295
+ end
296
+
297
+ # def update(args)
298
+ # end
299
+
300
+ # def decrypt(args)
301
+ # end
302
+
303
+ def remove(args)
304
+ options = {}
305
+ optparse = Morpheus::Cli::OptionParser.new do |opts|
306
+ opts.banner = subcommand_usage("[id]")
307
+ build_common_options(opts, options, [:account, :auto_confirm, :json, :dry_run, :quiet, :remote])
308
+ opts.footer = "Delete a cypher." + "\n" +
309
+ "[id] is required. This is the id or key of a cypher."
310
+ end
311
+ optparse.parse!(args)
312
+
313
+ if args.count != 1
314
+ print_error Morpheus::Terminal.angry_prompt
315
+ puts_error "wrong number of arguments, expected 1 and got #{args.count}\n#{optparse}"
316
+ return 1
317
+ end
318
+
319
+ connect(options)
320
+ begin
321
+ cypher_item = find_cypher_by_name_or_id(args[0])
322
+ return 1 if cypher_item.nil?
323
+ unless options[:yes] || Morpheus::Cli::OptionTypes.confirm("Are you sure you want to delete the cypher #{cypher_item['itemKey']}?")
324
+ return 9, "aborted command"
325
+ end
326
+ if options[:dry_run]
327
+ print_dry_run @cypher_interface.dry.destroy(cypher_item["id"])
328
+ return
329
+ end
330
+ json_response = @cypher_interface.destroy(cypher_item["id"])
331
+ if options[:json]
332
+ print JSON.pretty_generate(json_response)
333
+ print "\n"
334
+ elsif !options[:quiet]
335
+ print_green_success "Deleted cypher #{cypher_item['itemKey']}"
336
+ # list([])
337
+ end
338
+ return 0
339
+ rescue RestClient::Exception => e
340
+ print_rest_exception(e, options)
341
+ return 1
342
+ end
343
+ end
344
+
345
+ private
346
+
347
+ def find_cypher_by_name_or_id(val)
348
+ if val.to_s =~ /\A\d{1,}\Z/
349
+ return find_cypher_by_id(val)
350
+ else
351
+ return find_cypher_by_name(val)
352
+ end
353
+ end
354
+
355
+ def find_cypher_by_id(id)
356
+ begin
357
+
358
+ json_response = @cypher_interface.get(id.to_i)
359
+ return json_response['cypher']
360
+ rescue RestClient::Exception => e
361
+ if e.response && e.response.code == 404
362
+ print_red_alert "Cypher not found by id #{id}"
363
+ return nil
364
+ else
365
+ raise e
366
+ end
367
+ end
368
+ end
369
+
370
+ def find_cypher_by_name(name)
371
+ # api supports name as alias for itemKey
372
+ json_response = @cypher_interface.list({name: name.to_s})
373
+
374
+ cypher_items = json_response['cyphers']
375
+ if cypher_items.empty?
376
+ print_red_alert "Cypher not found by name #{name}"
377
+ return nil
378
+ elsif cypher_items.size > 1
379
+ print_red_alert "#{cypher_items.size} cyphers found by name #{name}"
380
+ rows = cypher_items.collect do |cypher_item|
381
+ {id: cypher_item['id'], name: cypher_item['name']}
382
+ end
383
+ print red
384
+ print as_pretty_table(rows, [:id, :name])
385
+ print reset,"\n"
386
+ return nil
387
+ else
388
+ return cypher_items[0]
389
+ end
390
+ end
391
+
392
+ def cypher_key_help
393
+ """
394
+ Keys can have different behaviors depending on the specified mountpoint.
395
+ Available Mountpoints:
396
+ password - Generates a secure password of specified character length in the key pattern (or 15) with symbols, numbers, upper case, and lower case letters (i.e. password/15/mypass generates a 15 character password).
397
+ tfvars - This is a module to store a tfvars file for terraform.
398
+ secret - This is the standard secret module that stores a key/value in encrypted form.
399
+ uuid - Returns a new UUID by key name when requested and stores the generated UUID by key name for a given lease timeout period.
400
+ key - Generates a Base 64 encoded AES Key of specified bit length in the key pattern (i.e. key/128/mykey generates a 128-bit key)"""
401
+ end
402
+
403
+ def cypher_lease_help
404
+ """
405
+ Lease time in MS (defaults to 32 days)
406
+ Quick MS Time Reference:
407
+ Day: 86400000
408
+ Week: 604800000
409
+ Month (30 days): 2592000000
410
+ Year: 31536000000"""
411
+ end
412
+
413
+ end
414
+
@@ -33,7 +33,12 @@ module Morpheus
33
33
  my_summaries = summarize()
34
34
  summarize().each do |opt_description|
35
35
  is_hidden = (@hidden_options || []).find { |hidden_switch|
36
- opt_description.include?("--#{hidden_switch}")
36
+ # opt_description.include?("--#{hidden_switch}")
37
+ if hidden_switch.start_with?("-")
38
+ opt_description.to_s.strip.start_with?(hidden_switch)
39
+ else
40
+ opt_description.to_s.strip.start_with?("--#{hidden_switch}")
41
+ end
37
42
  }
38
43
  if !is_hidden
39
44
  out << opt_description
@@ -62,6 +62,7 @@ class Morpheus::Cli::Processes
62
62
  begin
63
63
  params.merge!(parse_list_options(options))
64
64
  # params[:query] = params.delete(:phrase) unless params[:phrase].nil?
65
+ @processes_interface.setopts(options)
65
66
  if options[:dry_run]
66
67
  print_dry_run @processes_interface.dry.list(params)
67
68
  return
@@ -190,6 +191,7 @@ class Morpheus::Cli::Processes
190
191
  process_id = args[0]
191
192
  params.merge!(parse_list_options(options))
192
193
  params[:query] = params.delete(:phrase) unless params[:phrase].nil?
194
+ @processes_interface.setopts(options)
193
195
  if options[:dry_run]
194
196
  print_dry_run @processes_interface.dry.get(process_id, params)
195
197
  return
@@ -280,6 +282,7 @@ class Morpheus::Cli::Processes
280
282
  begin
281
283
  process_event_id = args[0]
282
284
  params.merge!(parse_list_options(options))
285
+ @processes_interface.setopts(options)
283
286
  if options[:dry_run]
284
287
  print_dry_run @processes_interface.dry.get_event(process_event_id, params)
285
288
  return