morpheus-cli 3.6.12 → 3.6.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/lib/morpheus/api/clouds_interface.rb +2 -2
  3. data/lib/morpheus/cli/account_groups_command.rb +84 -106
  4. data/lib/morpheus/cli/apps.rb +12 -11
  5. data/lib/morpheus/cli/archives_command.rb +2 -9
  6. data/lib/morpheus/cli/blueprints_command.rb +0 -8
  7. data/lib/morpheus/cli/boot_scripts_command.rb +3 -6
  8. data/lib/morpheus/cli/cli_command.rb +6 -2
  9. data/lib/morpheus/cli/cloud_datastores_command.rb +2 -5
  10. data/lib/morpheus/cli/clouds.rb +9 -10
  11. data/lib/morpheus/cli/commands/standard/history_command.rb +7 -3
  12. data/lib/morpheus/cli/containers_command.rb +0 -1
  13. data/lib/morpheus/cli/cypher_command.rb +0 -2
  14. data/lib/morpheus/cli/deployments.rb +6 -5
  15. data/lib/morpheus/cli/deploys.rb +0 -2
  16. data/lib/morpheus/cli/groups.rb +7 -10
  17. data/lib/morpheus/cli/hosts.rb +7 -4
  18. data/lib/morpheus/cli/image_builder_command.rb +1 -7
  19. data/lib/morpheus/cli/instances.rb +26 -40
  20. data/lib/morpheus/cli/key_pairs.rb +2 -2
  21. data/lib/morpheus/cli/library_option_lists_command.rb +13 -19
  22. data/lib/morpheus/cli/library_option_types_command.rb +2 -2
  23. data/lib/morpheus/cli/license.rb +0 -1
  24. data/lib/morpheus/cli/load_balancers.rb +1 -2
  25. data/lib/morpheus/cli/mixins/accounts_helper.rb +4 -12
  26. data/lib/morpheus/cli/mixins/print_helper.rb +53 -2
  27. data/lib/morpheus/cli/mixins/processes_helper.rb +0 -1
  28. data/lib/morpheus/cli/mixins/whoami_helper.rb +0 -1
  29. data/lib/morpheus/cli/monitoring_contacts_command.rb +0 -1
  30. data/lib/morpheus/cli/network_domains_command.rb +1 -4
  31. data/lib/morpheus/cli/network_groups_command.rb +2 -5
  32. data/lib/morpheus/cli/network_pool_servers_command.rb +2 -5
  33. data/lib/morpheus/cli/network_pools_command.rb +2 -5
  34. data/lib/morpheus/cli/network_proxies_command.rb +2 -5
  35. data/lib/morpheus/cli/network_services_command.rb +2 -5
  36. data/lib/morpheus/cli/networks_command.rb +2 -5
  37. data/lib/morpheus/cli/old_cypher_command.rb +0 -2
  38. data/lib/morpheus/cli/policies_command.rb +1 -4
  39. data/lib/morpheus/cli/preseed_scripts_command.rb +2 -5
  40. data/lib/morpheus/cli/remote.rb +3 -4
  41. data/lib/morpheus/cli/roles.rb +5 -5
  42. data/lib/morpheus/cli/security_group_rules.rb +0 -1
  43. data/lib/morpheus/cli/security_groups.rb +0 -1
  44. data/lib/morpheus/cli/shell.rb +89 -38
  45. data/lib/morpheus/cli/storage_providers_command.rb +2 -5
  46. data/lib/morpheus/cli/tasks.rb +2 -3
  47. data/lib/morpheus/cli/users.rb +1 -1
  48. data/lib/morpheus/cli/version.rb +1 -1
  49. data/lib/morpheus/cli/virtual_images.rb +4 -7
  50. data/lib/morpheus/cli/whoami.rb +1 -1
  51. data/lib/morpheus/cli/workflows.rb +0 -2
  52. data/lib/morpheus/formatters.rb +17 -0
  53. data/lib/morpheus/logging.rb +17 -7
  54. data/morpheus-cli.gemspec +0 -1
  55. metadata +2 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 662d9e93e1e871b6f955e6db6da0534fd9018f303fa9f77be33b4985e9b7aeff
4
- data.tar.gz: e9728d099bc08d4f9a2ffbd1292e8d9d8ebe337e56673e10673fd464e9d03a46
3
+ metadata.gz: 2fb19688b8a20fe1f3f2555769b6737f870ff8a82b5af0955cc5c369936d6b27
4
+ data.tar.gz: 38408f32dda58a1455c5c6acc04726b6787e94731b655ddb881ed512d2f4ee7a
5
5
  SHA512:
6
- metadata.gz: 9e55742378c6bd60dff897dad5b773e8127e82eae92b77b896954beb419b0853c5a576865ead400cad65fa4a6617a2b6d8e308a9d5d604725ada4b7dd1d49550
7
- data.tar.gz: b8237f9eae9f570e0efc86ebb05f322a723bcf9b349c9621d7335732e96009d249d0089c88e6a41e26f51c611f5130c44058cbca3e7614393a9469bbfeae0ed0
6
+ metadata.gz: 563dcf0b9203f1894d5159f8d31b08c066a4aaa6de99da1a9509ad0f968be79aeac2be5e659822ca50c7c663acb5d3ce02becc693c3cf1157ec19f2442e487ab
7
+ data.tar.gz: e959d4df1d7c084f86417d69b502e4c731efb1cdf7e45eb70c2a2858aaad5fe9876dd524a185453deafc3ab01e1f051ba8ae989f89904412ecc576d44be1fdf1
@@ -8,9 +8,9 @@ class Morpheus::CloudsInterface < Morpheus::APIClient
8
8
  @expires_at = expires_at
9
9
  end
10
10
 
11
- def cloud_types()
11
+ def cloud_types(params={})
12
12
  url = "#{@base_url}/api/zone-types"
13
- headers = { params: {}, authorization: "Bearer #{@access_token}" }
13
+ headers = { params: params, authorization: "Bearer #{@access_token}" }
14
14
  opts = {method: :get, url: url, headers: headers}
15
15
  execute(opts)
16
16
  end
@@ -3,7 +3,6 @@ require 'yaml'
3
3
  require 'io/console'
4
4
  require 'rest_client'
5
5
  require 'optparse'
6
- require 'table_print'
7
6
  require 'morpheus/cli/cli_command'
8
7
  require 'morpheus/cli/mixins/accounts_helper'
9
8
  require 'morpheus/cli/mixins/infrastructure_helper'
@@ -20,7 +19,7 @@ class Morpheus::Cli::AccountGroupsCommand
20
19
  # lives under image-builder domain right now
21
20
  set_command_hidden
22
21
  def command_name
23
- "account groups"
22
+ "tenants groups"
24
23
  end
25
24
 
26
25
  def initialize()
@@ -44,18 +43,19 @@ class Morpheus::Cli::AccountGroupsCommand
44
43
  options = {}
45
44
  params = {}
46
45
  optparse = Morpheus::Cli::OptionParser.new do|opts|
47
- opts.banner = subcommand_usage()
48
- build_common_options(opts, options, [:account, :list, :json, :yaml, :csv, :fields, :dry_run, :remote])
49
- opts.footer = "List groups for a tenant account."
46
+ opts.banner = subcommand_usage("[tenant]")
47
+ build_common_options(opts, options, [:list, :json, :yaml, :csv, :fields, :dry_run, :remote])
48
+ opts.footer = "List tenant groups."
50
49
  end
51
50
  optparse.parse!(args)
51
+ if args.count == 1
52
+ options[:account] = args[0]
53
+ else
54
+ raise_command_error "wrong number of arguments, expected 1 and got (#{args.count}) #{args}\n#{optparse}"
55
+ end
52
56
  connect(options)
53
57
  begin
54
58
  # load account
55
- if options[:account].nil? && options[:account_id].nil? && options[:account_name].nil?
56
- puts_error "#{Morpheus::Terminal.angry_prompt}missing required option: -a [account]\n#{optparse}"
57
- return 1
58
- end
59
59
  account = find_account_from_options(options)
60
60
  return 1 if account.nil?
61
61
  account_id = account['id']
@@ -78,14 +78,14 @@ class Morpheus::Cli::AccountGroupsCommand
78
78
  return 0
79
79
  end
80
80
  groups = json_response['groups']
81
- title = "Morpheus Groups - Account: #{account['name']}"
81
+ title = "Morpheus Groups - Tenant: #{account['name']}"
82
82
  subtitles = []
83
83
  subtitles += parse_list_subtitles(options)
84
- print_h1 title, subtitles
84
+ print_h1 title, subtitles, options
85
85
  if groups.empty?
86
86
  print yellow,"No groups currently configured.",reset,"\n"
87
87
  else
88
- print_groups_table(groups)
88
+ print_groups_table(groups, options)
89
89
  print_results_pagination(json_response)
90
90
  end
91
91
  print reset,"\n"
@@ -98,41 +98,39 @@ class Morpheus::Cli::AccountGroupsCommand
98
98
  def get(args)
99
99
  options = {}
100
100
  optparse = Morpheus::Cli::OptionParser.new do|opts|
101
- opts.banner = subcommand_usage("[group]")
102
- build_common_options(opts, options, [:account, :json, :yaml, :csv, :fields, :dry_run, :remote])
103
- opts.footer = "This outputs details about a specific group for a tenant account."
101
+ opts.banner = subcommand_usage("[tenant] [group]")
102
+ build_common_options(opts, options, [:json, :yaml, :csv, :fields, :dry_run, :remote])
103
+ opts.footer = "Get details about a tenant group."
104
104
  end
105
105
  optparse.parse!(args)
106
- if args.count < 1
107
- puts optparse
108
- exit 1
106
+ if args.count == 2
107
+ options[:account] = args[0]
108
+ options[:group] = args[1]
109
+ else
110
+ raise_command_error "wrong number of arguments, expected 2 and got (#{args.count}) #{args}\n#{optparse}"
109
111
  end
110
112
  connect(options)
111
113
  begin
112
- # load account
113
- if options[:account].nil? && options[:account_id].nil? && options[:account_name].nil?
114
- puts_error "#{Morpheus::Terminal.angry_prompt}missing required option: -a [account]\n#{optparse}"
115
- return 1
116
- end
114
+
117
115
  account = find_account_from_options(options)
118
116
  return 1 if account.nil?
119
117
  account_id = account['id']
120
118
 
121
119
  if options[:dry_run]
122
120
  @account_groups_interface.setopts(options)
123
- if args[0].to_s =~ /\A\d{1,}\Z/
124
- print_dry_run @account_groups_interface.dry.get(account_id, args[0].to_i)
121
+ if options[:group].to_s =~ /\A\d{1,}\Z/
122
+ print_dry_run @account_groups_interface.dry.get(account_id, options[:group].to_i)
125
123
  else
126
- print_dry_run @account_groups_interface.dry.get(account_id, {name: args[0]})
124
+ print_dry_run @account_groups_interface.dry.get(account_id, {name: options[:group]})
127
125
  end
128
126
  return
129
127
  end
130
128
 
131
- group = find_account_group_by_name_or_id(account_id, args[0])
129
+ group = find_account_group_by_name_or_id(account_id, options[:group])
132
130
  @account_groups_interface.setopts(options)
133
131
  return 1 if group.nil?
134
132
  # skip redundant request
135
- # json_response = @account_groups_interface.dry.get(account_id, args[0].to_i)
133
+ # json_response = @account_groups_interface.dry.get(account_id, options[:group].to_i)
136
134
  json_response = {"group" => group}
137
135
 
138
136
  if options[:json]
@@ -146,7 +144,7 @@ class Morpheus::Cli::AccountGroupsCommand
146
144
  return 0
147
145
  end
148
146
 
149
- print_h1 "Group Details"
147
+ print_h1 "Group Details", options
150
148
  print cyan
151
149
  description_cols = {
152
150
  "ID" => 'id',
@@ -179,35 +177,34 @@ class Morpheus::Cli::AccountGroupsCommand
179
177
  params = {}
180
178
  use_it = false
181
179
  optparse = Morpheus::Cli::OptionParser.new do|opts|
182
- opts.banner = subcommand_usage("[name]")
180
+ opts.banner = subcommand_usage("[tenant] [name]")
183
181
  build_option_type_options(opts, options, add_group_option_types())
184
182
  # opts.on( '-l', '--location LOCATION', "Location" ) do |val|
185
183
  # params[:location] = val
186
184
  # end
187
185
 
188
- build_common_options(opts, options, [:account, :options, :json, :dry_run, :remote])
189
- opts.footer = "Create a new group for a tenant account."
186
+ build_common_options(opts, options, [:options, :json, :dry_run, :remote])
187
+ opts.footer = "Create a new tenant group."
190
188
  end
191
189
  optparse.parse!(args)
192
- # if args.count < 1
193
- # puts optparse
194
- # exit 1
195
- # end
190
+ if args.count == 1
191
+ options[:account] = args[0]
192
+ elsif args.count == 2
193
+ options[:account] = args[0]
194
+ options[:group] = args[1]
195
+ else
196
+ raise_command_error "wrong number of arguments, expected 1-2 and got (#{args.count}) #{args}\n#{optparse}"
197
+ end
196
198
  connect(options)
197
199
  begin
198
- # load account
199
- if options[:account].nil? && options[:account_id].nil? && options[:account_name].nil?
200
- puts_error "#{Morpheus::Terminal.angry_prompt}missing required option: -a [account]\n#{optparse}"
201
- return 1
202
- end
203
200
  account = find_account_from_options(options)
204
201
  return 1 if account.nil?
205
202
  account_id = account['id']
206
203
 
207
204
  group_payload = {}
208
- if args[0]
209
- group_payload[:name] = args[0]
210
- options[:options]['name'] = args[0] # to skip prompt
205
+ if options[:group]
206
+ group_payload[:name] = options[:group]
207
+ options[:options]['name'] = options[:group] # to skip prompt
211
208
  end
212
209
  if params[:location]
213
210
  group_payload[:name] = params[:location]
@@ -242,31 +239,28 @@ class Morpheus::Cli::AccountGroupsCommand
242
239
  options = {}
243
240
  params = {}
244
241
  optparse = Morpheus::Cli::OptionParser.new do|opts|
245
- opts.banner = subcommand_usage("[group] [options]")
242
+ opts.banner = subcommand_usage("[tenant] [group] [options]")
246
243
  build_option_type_options(opts, options, update_group_option_types())
247
244
  # opts.on( '-l', '--location LOCATION', "Location" ) do |val|
248
245
  # params[:location] = val
249
246
  # end
250
247
  build_common_options(opts, options, [:account, :options, :json, :dry_run, :remote])
251
- opts.footer = "Update an existing group for a tenant account."
248
+ opts.footer = "Update an existing tenant group."
252
249
  end
253
250
  optparse.parse!(args)
254
- if args.count < 1
255
- puts optparse
256
- exit 1
251
+ if args.count == 2
252
+ options[:account] = args[0]
253
+ options[:group] = args[1]
254
+ else
255
+ raise_command_error "wrong number of arguments, expected 2 and got (#{args.count}) #{args}\n#{optparse}"
257
256
  end
258
257
  connect(options)
259
258
  begin
260
- # load account
261
- if options[:account].nil? && options[:account_id].nil? && options[:account_name].nil?
262
- puts_error "#{Morpheus::Terminal.angry_prompt}missing required option: -a [account]\n#{optparse}"
263
- return 1
264
- end
265
259
  account = find_account_from_options(options)
266
260
  return 1 if account.nil?
267
261
  account_id = account['id']
268
262
 
269
- group = find_account_group_by_name_or_id(account_id, args[0])
263
+ group = find_account_group_by_name_or_id(account_id, options[:group])
270
264
  return 1 if group.nil?
271
265
 
272
266
  group_payload = {id: group['id']}
@@ -303,32 +297,30 @@ class Morpheus::Cli::AccountGroupsCommand
303
297
  def add_cloud(args)
304
298
  options = {}
305
299
  optparse = Morpheus::Cli::OptionParser.new do|opts|
306
- opts.banner = subcommand_usage("[group]", "[cloud]")
300
+ opts.banner = subcommand_usage("[tenant] [group] [cloud]")
307
301
  build_common_options(opts, options, [:account, :json, :dry_run, :remote])
308
- opts.footer = "Add a cloud to a group."
302
+ opts.footer = "Add a cloud to a tenant group."
309
303
  end
310
304
  optparse.parse!(args)
311
- if args.count < 2
312
- puts optparse
313
- exit 1
305
+ if args.count == 3
306
+ options[:account] = args[0]
307
+ options[:group] = args[1]
308
+ options[:cloud] = args[2]
309
+ else
310
+ raise_command_error "wrong number of arguments, expected 3 and got (#{args.count}) #{args}\n#{optparse}"
314
311
  end
315
312
  connect(options)
316
313
  begin
317
- # load account
318
- if options[:account].nil? && options[:account_id].nil? && options[:account_name].nil?
319
- puts_error "#{Morpheus::Terminal.angry_prompt}missing required option: -a [account]\n#{optparse}"
320
- return 1
321
- end
322
314
  account = find_account_from_options(options)
323
315
  return 1 if account.nil?
324
316
  account_id = account['id']
325
317
 
326
- group = find_account_group_by_name_or_id(account_id, args[0])
318
+ group = find_account_group_by_name_or_id(account_id, options[:group])
327
319
  return 1 if group.nil?
328
320
 
329
321
  # err, this is going to find public clouds only, not those in the subaccount
330
322
  # good enough for now?
331
- cloud = find_cloud_by_name_or_id(args[1])
323
+ cloud = find_cloud_by_name_or_id(options[:cloud])
332
324
  current_zones = group['zones']
333
325
  found_zone = current_zones.find {|it| it["id"] == cloud["id"] }
334
326
  if found_zone
@@ -360,32 +352,30 @@ class Morpheus::Cli::AccountGroupsCommand
360
352
  def remove_cloud(args)
361
353
  options = {}
362
354
  optparse = Morpheus::Cli::OptionParser.new do|opts|
363
- opts.banner = subcommand_usage("[group]", "[cloud]")
355
+ opts.banner = subcommand_usage("[tenant] [group] [cloud]")
364
356
  build_common_options(opts, options, [:account, :json, :dry_run, :remote])
365
- opts.footer = "Remove a cloud from a group."
357
+ opts.footer = "Remove a cloud from a tenant group."
366
358
  end
367
359
  optparse.parse!(args)
368
- if args.count < 2
369
- puts optparse
370
- exit 1
360
+ if args.count == 3
361
+ options[:account] = args[0]
362
+ options[:group] = args[1]
363
+ options[:cloud] = args[2]
364
+ else
365
+ raise_command_error "wrong number of arguments, expected 3 and got (#{args.count}) #{args}\n#{optparse}"
371
366
  end
372
367
  connect(options)
373
368
  begin
374
- # load account
375
- if options[:account].nil? && options[:account_id].nil? && options[:account_name].nil?
376
- puts_error "#{Morpheus::Terminal.angry_prompt}missing required option: -a [account]\n#{optparse}"
377
- return 1
378
- end
379
369
  account = find_account_from_options(options)
380
370
  return 1 if account.nil?
381
371
  account_id = account['id']
382
372
 
383
- group = find_account_group_by_name_or_id(account_id, args[0])
373
+ group = find_account_group_by_name_or_id(account_id, options[:group])
384
374
  return 1 if group.nil?
385
375
 
386
376
  # err, this is going to find public clouds only, not those in the subaccount
387
377
  # good enough for now?
388
- cloud = find_cloud_by_name_or_id(args[1])
378
+ cloud = find_cloud_by_name_or_id(options[:cloud])
389
379
  current_zones = group['zones']
390
380
  found_zone = current_zones.find {|it| it["id"] == cloud["id"] }
391
381
  if !found_zone
@@ -417,29 +407,25 @@ class Morpheus::Cli::AccountGroupsCommand
417
407
  def remove(args)
418
408
  options = {}
419
409
  optparse = Morpheus::Cli::OptionParser.new do|opts|
420
- opts.banner = subcommand_usage("[group]")
421
- build_common_options(opts, options, [:account, :json, :dry_run, :auto_confirm, :remote])
422
- opts.footer = "Delete a group."
423
- # more info to display here
410
+ opts.banner = subcommand_usage("[tenant] [group]")
411
+ build_common_options(opts, options, [:json, :dry_run, :auto_confirm, :remote])
412
+ opts.footer = "Delete a tenant group."
424
413
  end
425
414
  optparse.parse!(args)
426
- if args.count < 1
427
- puts optparse
428
- exit 1
415
+ if args.count == 2
416
+ options[:account] = args[0]
417
+ options[:group] = args[1]
418
+ else
419
+ raise_command_error "wrong number of arguments, expected 2 and got (#{args.count}) #{args}\n#{optparse}"
429
420
  end
430
421
  connect(options)
431
422
 
432
423
  begin
433
- # load account
434
- if options[:account].nil? && options[:account_id].nil? && options[:account_name].nil?
435
- puts_error "#{Morpheus::Terminal.angry_prompt}missing required option: -a [account]\n#{optparse}"
436
- return 1
437
- end
438
424
  account = find_account_from_options(options)
439
425
  return 1 if account.nil?
440
426
  account_id = account['id']
441
427
 
442
- group = find_account_group_by_name_or_id(account_id, args[0])
428
+ group = find_account_group_by_name_or_id(account_id, options[:group])
443
429
  return 1 if group.nil?
444
430
 
445
431
  unless options[:yes] || Morpheus::Cli::OptionTypes.confirm("Are you sure you want to delete the group #{group['name']}?")
@@ -467,13 +453,10 @@ class Morpheus::Cli::AccountGroupsCommand
467
453
 
468
454
  protected
469
455
 
470
- def print_groups_table(groups, opts={})
471
- table_color = opts[:color] || cyan
472
- active_group_id = @active_group_id # Morpheus::Cli::Groups.active_group
456
+ def print_groups_table(groups, options={})
457
+ table_color = options[:color] || cyan
473
458
  rows = groups.collect do |group|
474
- is_active = @active_group_id && (@active_group_id == group['id'])
475
459
  {
476
- active: (is_active ? "=>" : ""),
477
460
  id: group['id'],
478
461
  name: group['name'],
479
462
  location: group['location'],
@@ -482,7 +465,6 @@ class Morpheus::Cli::AccountGroupsCommand
482
465
  }
483
466
  end
484
467
  columns = [
485
- {:active => {:display_name => ""}},
486
468
  {:id => {:width => 10}},
487
469
  {:name => {:width => 16}},
488
470
  {:location => {:width => 32}},
@@ -490,7 +472,7 @@ class Morpheus::Cli::AccountGroupsCommand
490
472
  {:server_count => {:display_name => "Hosts"}}
491
473
  ]
492
474
  print table_color
493
- tp rows, columns
475
+ puts as_pretty_table(rows, columns, options)
494
476
  print reset
495
477
  end
496
478
 
@@ -542,13 +524,9 @@ class Morpheus::Cli::AccountGroupsCommand
542
524
  return nil
543
525
  elsif account_groups.size > 1
544
526
  print_red_alert "#{account_groups.size} group found by name #{name}"
545
- # print_account_groups_table(account_groups, {color: red})
546
- rows = account_groups.collect do |account_group|
547
- {id: it['id'], name: it['name']}
548
- end
549
- print red
550
- tp rows, [:id, :name]
551
- print reset,"\n"
527
+ rows = account_groups.collect { |it| {id: it['id'], name: it['name']} }
528
+ print "\n"
529
+ puts as_pretty_table(rows, [:id, :name], {color:red})
552
530
  return nil
553
531
  else
554
532
  account_group = account_groups[0]
@@ -3,7 +3,6 @@ require 'io/console'
3
3
  require 'rest_client'
4
4
  require 'optparse'
5
5
  require 'filesize'
6
- require 'table_print'
7
6
  require 'morpheus/cli/cli_command'
8
7
  require 'morpheus/cli/mixins/accounts_helper'
9
8
  require 'morpheus/cli/mixins/provisioning_helper'
@@ -1487,6 +1486,12 @@ class Morpheus::Cli::Apps
1487
1486
  cpu_usage_str = !stats ? "" : generate_usage_bar((stats['cpuUsage'] || stats['cpuUsagePeak']).to_f, 100, {max_bars: 10})
1488
1487
  memory_usage_str = !stats ? "" : generate_usage_bar(stats['usedMemory'], stats['maxMemory'], {max_bars: 10})
1489
1488
  storage_usage_str = !stats ? "" : generate_usage_bar(stats['usedStorage'], stats['maxStorage'], {max_bars: 10})
1489
+ # if stats['maxMemory'] && stats['maxMemory'].to_i != 0
1490
+ # memory_usage_str = memory_usage_str + cyan + format_bytes_short(stats['usedMemory']).strip.rjust(7, ' ') + " / " + format_bytes_short(stats['maxMemory']).strip
1491
+ # end
1492
+ # if stats['maxStorage'] && stats['maxStorage'].to_i != 0
1493
+ # storage_usage_str = storage_usage_str + cyan + format_bytes_short(stats['usedStorage']).strip.rjust(7, ' ') + " / " + format_bytes_short(stats['maxStorage']).strip
1494
+ # end
1490
1495
  {
1491
1496
  id: app['id'],
1492
1497
  name: app['name'],
@@ -1512,23 +1517,19 @@ class Morpheus::Cli::Apps
1512
1517
  :containers,
1513
1518
  #:account,
1514
1519
  :status,
1515
- #{:dateCreated => {:display_name => "Date Created"} }
1520
+ #{:dateCreated => {:display_name => "Date Created"} },
1521
+ {:cpu => {:display_name => "MAX CPU"} },
1522
+ :memory,
1523
+ :storage
1516
1524
  ]
1517
- term_width = current_terminal_width()
1518
- if term_width > 120
1519
- columns += [
1520
- {:cpu => {:display_name => "MAX CPU"} },
1521
- :memory,
1522
- :storage
1523
- ]
1524
- end
1525
+
1525
1526
  # custom pretty table columns ...
1526
1527
  # if options[:include_fields]
1527
1528
  # columns = options[:include_fields]
1528
1529
  # end
1529
1530
  # print cyan
1530
1531
  print as_pretty_table(rows, columns, opts) #{color: table_color}
1531
- print reset
1532
+ print reset,"\n"
1532
1533
  end
1533
1534
 
1534
1535
  def format_app_status(app, return_color=cyan)