morpheus-cli 3.6.12 → 3.6.13
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.
- checksums.yaml +4 -4
- data/lib/morpheus/api/clouds_interface.rb +2 -2
- data/lib/morpheus/cli/account_groups_command.rb +84 -106
- data/lib/morpheus/cli/apps.rb +12 -11
- data/lib/morpheus/cli/archives_command.rb +2 -9
- data/lib/morpheus/cli/blueprints_command.rb +0 -8
- data/lib/morpheus/cli/boot_scripts_command.rb +3 -6
- data/lib/morpheus/cli/cli_command.rb +6 -2
- data/lib/morpheus/cli/cloud_datastores_command.rb +2 -5
- data/lib/morpheus/cli/clouds.rb +9 -10
- data/lib/morpheus/cli/commands/standard/history_command.rb +7 -3
- data/lib/morpheus/cli/containers_command.rb +0 -1
- data/lib/morpheus/cli/cypher_command.rb +0 -2
- data/lib/morpheus/cli/deployments.rb +6 -5
- data/lib/morpheus/cli/deploys.rb +0 -2
- data/lib/morpheus/cli/groups.rb +7 -10
- data/lib/morpheus/cli/hosts.rb +7 -4
- data/lib/morpheus/cli/image_builder_command.rb +1 -7
- data/lib/morpheus/cli/instances.rb +26 -40
- data/lib/morpheus/cli/key_pairs.rb +2 -2
- data/lib/morpheus/cli/library_option_lists_command.rb +13 -19
- data/lib/morpheus/cli/library_option_types_command.rb +2 -2
- data/lib/morpheus/cli/license.rb +0 -1
- data/lib/morpheus/cli/load_balancers.rb +1 -2
- data/lib/morpheus/cli/mixins/accounts_helper.rb +4 -12
- data/lib/morpheus/cli/mixins/print_helper.rb +53 -2
- data/lib/morpheus/cli/mixins/processes_helper.rb +0 -1
- data/lib/morpheus/cli/mixins/whoami_helper.rb +0 -1
- data/lib/morpheus/cli/monitoring_contacts_command.rb +0 -1
- data/lib/morpheus/cli/network_domains_command.rb +1 -4
- data/lib/morpheus/cli/network_groups_command.rb +2 -5
- data/lib/morpheus/cli/network_pool_servers_command.rb +2 -5
- data/lib/morpheus/cli/network_pools_command.rb +2 -5
- data/lib/morpheus/cli/network_proxies_command.rb +2 -5
- data/lib/morpheus/cli/network_services_command.rb +2 -5
- data/lib/morpheus/cli/networks_command.rb +2 -5
- data/lib/morpheus/cli/old_cypher_command.rb +0 -2
- data/lib/morpheus/cli/policies_command.rb +1 -4
- data/lib/morpheus/cli/preseed_scripts_command.rb +2 -5
- data/lib/morpheus/cli/remote.rb +3 -4
- data/lib/morpheus/cli/roles.rb +5 -5
- data/lib/morpheus/cli/security_group_rules.rb +0 -1
- data/lib/morpheus/cli/security_groups.rb +0 -1
- data/lib/morpheus/cli/shell.rb +89 -38
- data/lib/morpheus/cli/storage_providers_command.rb +2 -5
- data/lib/morpheus/cli/tasks.rb +2 -3
- data/lib/morpheus/cli/users.rb +1 -1
- data/lib/morpheus/cli/version.rb +1 -1
- data/lib/morpheus/cli/virtual_images.rb +4 -7
- data/lib/morpheus/cli/whoami.rb +1 -1
- data/lib/morpheus/cli/workflows.rb +0 -2
- data/lib/morpheus/formatters.rb +17 -0
- data/lib/morpheus/logging.rb +17 -7
- data/morpheus-cli.gemspec +0 -1
- metadata +2 -16
@@ -4,7 +4,6 @@ require 'yaml'
|
|
4
4
|
require 'rest_client'
|
5
5
|
require 'optparse'
|
6
6
|
require 'filesize'
|
7
|
-
require 'table_print'
|
8
7
|
require 'morpheus/cli/cli_command'
|
9
8
|
|
10
9
|
class Morpheus::Cli::ArchivesCommand
|
@@ -131,11 +130,7 @@ class Morpheus::Cli::ArchivesCommand
|
|
131
130
|
:visibility,
|
132
131
|
{:isPublic => {label: 'Public URL'.upcase}}
|
133
132
|
]
|
134
|
-
|
135
|
-
# if term_width > 170
|
136
|
-
# columns += [:cpu, :memory, :storage]
|
137
|
-
# end
|
138
|
-
# custom pretty table columns ...
|
133
|
+
|
139
134
|
if options[:include_fields]
|
140
135
|
columns = options[:include_fields]
|
141
136
|
end
|
@@ -1774,9 +1769,7 @@ class Morpheus::Cli::ArchivesCommand
|
|
1774
1769
|
rows = archive_buckets.collect do |it|
|
1775
1770
|
{id: it['id'], name: it['name']}
|
1776
1771
|
end
|
1777
|
-
|
1778
|
-
tp rows, [:id, :name]
|
1779
|
-
print reset,"\n"
|
1772
|
+
puts as_pretty_table(rows, [:id, :name], {color:red})
|
1780
1773
|
return nil
|
1781
1774
|
else
|
1782
1775
|
return archive_buckets[0]
|
@@ -1714,14 +1714,6 @@ class Morpheus::Cli::BlueprintsCommand
|
|
1714
1714
|
if tiers.empty?
|
1715
1715
|
print yellow,"No tiers found.",reset,"\n"
|
1716
1716
|
else
|
1717
|
-
# rows = tiers.collect do |tier|
|
1718
|
-
# {
|
1719
|
-
# id: tier['id'],
|
1720
|
-
# name: tier['name'],
|
1721
|
-
# }
|
1722
|
-
# end
|
1723
|
-
# print cyan
|
1724
|
-
# tp rows, [:name]
|
1725
1717
|
print cyan
|
1726
1718
|
tiers.each do |tier_name|
|
1727
1719
|
puts tier_name
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'rest_client'
|
2
2
|
require 'optparse'
|
3
3
|
require 'filesize'
|
4
|
-
require 'table_print'
|
5
4
|
require 'morpheus/cli/cli_command'
|
6
5
|
|
7
6
|
class Morpheus::Cli::BootScriptsCommand
|
@@ -369,13 +368,11 @@ class Morpheus::Cli::BootScriptsCommand
|
|
369
368
|
return nil
|
370
369
|
elsif boot_scripts.size > 1
|
371
370
|
print_red_alert "#{boot_scripts.size} boot scripts found by name #{name}"
|
372
|
-
|
373
|
-
rows = boot_scripts.collect do |boot_script|
|
371
|
+
rows = boot_scripts.collect do |it|
|
374
372
|
{id: it['id'], name: it['fileName']}
|
375
373
|
end
|
376
|
-
print
|
377
|
-
|
378
|
-
print reset,"\n"
|
374
|
+
print "\n"
|
375
|
+
puts as_pretty_table(rows, [:id, :name], {color:red})
|
379
376
|
return nil
|
380
377
|
else
|
381
378
|
return boot_scripts[0]
|
@@ -443,10 +443,10 @@ module Morpheus
|
|
443
443
|
header_list = [val.to_s]
|
444
444
|
header_list.each do |h|
|
445
445
|
header_parts = val.to_s.split(":")
|
446
|
-
header_key, header_value = header_parts[0], header_parts[1..-1].join(":")
|
446
|
+
header_key, header_value = header_parts[0], header_parts[1..-1].join(":").strip
|
447
447
|
if header_parts.size() < 2
|
448
448
|
header_parts = val.to_s.split("=")
|
449
|
-
header_key, header_value = header_parts[0], header_parts[1..-1].join("=")
|
449
|
+
header_key, header_value = header_parts[0], header_parts[1..-1].join("=").strip
|
450
450
|
end
|
451
451
|
if header_parts.size() < 2
|
452
452
|
raise_command_error "Invalid HEADER value '#{val}'. HEADER should contain a key and a value. eg. -H 'X-Morpheus-Lease: $MORPHEUS_LEASE_TOKEN'"
|
@@ -534,6 +534,10 @@ module Morpheus
|
|
534
534
|
opts.on('-F', '--fields x,y,z', Array, "Filter Output to a limited set of fields. Default is all fields.") do |val|
|
535
535
|
options[:include_fields] = val
|
536
536
|
end
|
537
|
+
opts.on(nil, '--all-fields', "Show all fields. Useful for showing hidden columns on wide tables.") do
|
538
|
+
options[:all_fields] = true
|
539
|
+
end
|
540
|
+
opts.add_hidden_option('--all-fields') if opts.is_a?(Morpheus::Cli::OptionParser)
|
537
541
|
|
538
542
|
when :thin
|
539
543
|
opts.on( '--thin', '--thin', "Format headers and columns with thin borders." ) do |val|
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'rest_client'
|
2
2
|
require 'optparse'
|
3
3
|
require 'filesize'
|
4
|
-
require 'table_print'
|
5
4
|
require 'morpheus/cli/cli_command'
|
6
5
|
require 'morpheus/cli/mixins/infrastructure_helper'
|
7
6
|
|
@@ -379,13 +378,11 @@ class Morpheus::Cli::CloudDatastoresCommand
|
|
379
378
|
return nil
|
380
379
|
elsif datastores.size > 1
|
381
380
|
print_red_alert "#{datastores.size} datastores found by name #{name}"
|
382
|
-
# print_datastores_table(datastores, {color: red})
|
383
381
|
rows = datastores.collect do |it|
|
384
382
|
{id: it['id'], name: it['name']}
|
385
383
|
end
|
386
|
-
print
|
387
|
-
|
388
|
-
print reset,"\n"
|
384
|
+
print "\n"
|
385
|
+
puts as_pretty_table(rows, [:id, :name], {color:red})
|
389
386
|
return nil
|
390
387
|
else
|
391
388
|
datastore = datastores[0]
|
data/lib/morpheus/cli/clouds.rb
CHANGED
@@ -90,7 +90,7 @@ class Morpheus::Cli::Clouds
|
|
90
90
|
if clouds.empty?
|
91
91
|
print cyan,"No clouds found.",reset,"\n"
|
92
92
|
else
|
93
|
-
print_clouds_table(clouds)
|
93
|
+
print_clouds_table(clouds, options)
|
94
94
|
print_results_pagination(json_response)
|
95
95
|
end
|
96
96
|
print reset,"\n"
|
@@ -623,10 +623,9 @@ class Morpheus::Cli::Clouds
|
|
623
623
|
end
|
624
624
|
cloud_types = get_available_cloud_types() # @clouds_interface.dry.cloud_types({})['zoneTypes']
|
625
625
|
if options[:json]
|
626
|
-
|
627
|
-
print "\n"
|
626
|
+
puts as_json({zoneTypes: cloud_types}, options)
|
628
627
|
else
|
629
|
-
print_h1 "Morpheus Cloud Types"
|
628
|
+
print_h1 "Morpheus Cloud Types", options
|
630
629
|
if cloud_types.empty?
|
631
630
|
print yellow,"No instances found.",reset,"\n"
|
632
631
|
else
|
@@ -635,9 +634,12 @@ class Morpheus::Cli::Clouds
|
|
635
634
|
rows = cloud_types.collect do |cloud_type|
|
636
635
|
{id: cloud_type['id'], name: cloud_type['name'], code: cloud_type['code']}
|
637
636
|
end
|
638
|
-
|
637
|
+
#print "\n"
|
638
|
+
puts as_pretty_table(rows, [:id, :name, :code], options)
|
639
|
+
#print_results_pagination({size:rows.size,total:rows.size})
|
640
|
+
#print "\n"
|
639
641
|
end
|
640
|
-
print reset,"\n"
|
642
|
+
#print reset,"\n"
|
641
643
|
end
|
642
644
|
rescue RestClient::Exception => e
|
643
645
|
print_rest_exception(e, options)
|
@@ -664,10 +666,7 @@ class Morpheus::Cli::Clouds
|
|
664
666
|
columns = [
|
665
667
|
:id, :name, :type, :location, :groups, :servers, :status
|
666
668
|
]
|
667
|
-
print
|
668
|
-
tp rows, columns
|
669
|
-
print reset
|
670
|
-
|
669
|
+
print as_pretty_table(rows, columns, opts)
|
671
670
|
end
|
672
671
|
|
673
672
|
def add_cloud_option_types(cloud_type)
|
@@ -11,13 +11,17 @@ class Morpheus::Cli::HistoryCommand
|
|
11
11
|
# todo: support all the other :list options too, not just max
|
12
12
|
# AND start logging every terminal command, not just shell...
|
13
13
|
def handle(args)
|
14
|
-
options = {}
|
14
|
+
options = {show_pagination:false}
|
15
15
|
optparse = Morpheus::Cli::OptionParser.new do|opts|
|
16
16
|
opts.banner = "Usage: morpheus #{command_name}"
|
17
|
-
|
17
|
+
# -n is a hidden alias for -m
|
18
|
+
opts.on( '-n', '--max-commands MAX', "Alias for -m, --max option." ) do |val|
|
18
19
|
options[:max] = val
|
19
20
|
end
|
20
21
|
opts.add_hidden_option('-n')
|
22
|
+
opts.on( '-p', '--pagination', "Display pagination and count info eg. Viewing 1-M of N" ) do
|
23
|
+
options[:show_pagination] = true
|
24
|
+
end
|
21
25
|
opts.on( nil, '--flush', "Flush history, purges entire shell history file." ) do |val|
|
22
26
|
options[:do_flush] = true
|
23
27
|
end
|
@@ -31,6 +35,7 @@ Examples:
|
|
31
35
|
history -m 100
|
32
36
|
history --flush
|
33
37
|
|
38
|
+
The most recently executed commands are seen by default. Use --reverse to see the oldest commands.
|
34
39
|
EOT
|
35
40
|
end
|
36
41
|
raw_cmd = "#{command_name} #{args.join(' ')}"
|
@@ -47,7 +52,6 @@ EOT
|
|
47
52
|
Morpheus::Cli::Shell.instance.flush_history
|
48
53
|
return 0
|
49
54
|
else
|
50
|
-
# supports all the :list options
|
51
55
|
Morpheus::Cli::Shell.instance.print_history(options)
|
52
56
|
return 0
|
53
57
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'io/console'
|
2
2
|
require 'rest_client'
|
3
3
|
require 'optparse'
|
4
|
-
require 'table_print'
|
5
4
|
require 'morpheus/cli/cli_command'
|
6
5
|
|
7
6
|
class Morpheus::Cli::Deployments
|
@@ -50,10 +49,11 @@ class Morpheus::Cli::Deployments
|
|
50
49
|
print yellow,"No deployments currently configured.",reset,"\n"
|
51
50
|
else
|
52
51
|
print cyan
|
53
|
-
|
52
|
+
rows = deployments.collect do |deployment|
|
54
53
|
{name: deployment['name'], id: deployment['id'], description: deployment['description'], updated: format_local_dt(deployment['lastUpdated'])}
|
55
54
|
end
|
56
|
-
|
55
|
+
columns = [:id, :name, :description, :updated]
|
56
|
+
print as_pretty_table(rows, columns, options)
|
57
57
|
end
|
58
58
|
print reset,"\n"
|
59
59
|
end
|
@@ -98,10 +98,11 @@ class Morpheus::Cli::Deployments
|
|
98
98
|
print yellow,"No deployment versions currently exist.",reset,"\n"
|
99
99
|
else
|
100
100
|
print cyan
|
101
|
-
|
101
|
+
rows = versions.collect do |version|
|
102
102
|
{version: version['userVersion'], type: version['deployType'], updated: format_local_dt(version['lastUpdated'])}
|
103
103
|
end
|
104
|
-
|
104
|
+
coumns = [:version, :type, :updated]
|
105
|
+
print as_pretty_table(rows, columns, options)
|
105
106
|
end
|
106
107
|
print reset,"\n"
|
107
108
|
end
|
data/lib/morpheus/cli/deploys.rb
CHANGED
data/lib/morpheus/cli/groups.rb
CHANGED
@@ -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/infrastructure_helper'
|
9
8
|
require 'morpheus/logging'
|
@@ -59,13 +58,13 @@ class Morpheus::Cli::Groups
|
|
59
58
|
if groups.empty?
|
60
59
|
print yellow,"No groups currently configured.",reset,"\n"
|
61
60
|
else
|
62
|
-
print_groups_table(groups)
|
61
|
+
print_groups_table(groups, options)
|
63
62
|
print_results_pagination(json_response)
|
64
63
|
if @active_group_id
|
65
64
|
active_group = groups.find { |it| it['id'] == @active_group_id }
|
66
65
|
active_group = active_group || find_group_by_name_or_id(@active_group_id)
|
67
66
|
#unless @appliances.keys.size == 1
|
68
|
-
print cyan, "\n# => Currently using group #{active_group['name']}\n", reset
|
67
|
+
print cyan, "\n# => Currently using group #{green}#{active_group['name']}#{reset}\n", reset
|
69
68
|
#end
|
70
69
|
else
|
71
70
|
unless options[:remote]
|
@@ -487,23 +486,21 @@ class Morpheus::Cli::Groups
|
|
487
486
|
{
|
488
487
|
active: (is_active ? "=>" : ""),
|
489
488
|
id: group['id'],
|
490
|
-
name: group['name'],
|
489
|
+
name: is_active ? "#{green}#{group['name']}#{reset}#{table_color}" : group['name'],
|
491
490
|
location: group['location'],
|
492
491
|
cloud_count: group['zones'] ? group['zones'].size : 0,
|
493
492
|
server_count: group['serverCount']
|
494
493
|
}
|
495
494
|
end
|
496
495
|
columns = [
|
497
|
-
{:active => {:display_name => ""}},
|
496
|
+
#{:active => {:display_name => ""}},
|
498
497
|
{:id => {:width => 10}},
|
499
498
|
{:name => {:width => 16}},
|
500
499
|
{:location => {:width => 32}},
|
501
|
-
{:cloud_count => {:display_name => "
|
502
|
-
{:server_count => {:display_name => "
|
500
|
+
{:cloud_count => {:display_name => "CLOUDS"}},
|
501
|
+
{:server_count => {:display_name => "HOSTS"}}
|
503
502
|
]
|
504
|
-
print
|
505
|
-
tp rows, columns
|
506
|
-
print reset
|
503
|
+
print as_pretty_table(rows, columns, opts)
|
507
504
|
end
|
508
505
|
|
509
506
|
def add_group_option_types()
|
data/lib/morpheus/cli/hosts.rb
CHANGED
@@ -193,6 +193,12 @@ class Morpheus::Cli::Hosts
|
|
193
193
|
cpu_usage_str = !stats ? "" : generate_usage_bar((stats['usedCpu'] || stats['cpuUsage']).to_f, 100, {max_bars: 10})
|
194
194
|
memory_usage_str = !stats ? "" : generate_usage_bar(stats['usedMemory'], stats['maxMemory'], {max_bars: 10})
|
195
195
|
storage_usage_str = !stats ? "" : generate_usage_bar(stats['usedStorage'], stats['maxStorage'], {max_bars: 10})
|
196
|
+
# if stats['maxMemory'] && stats['maxMemory'].to_i != 0
|
197
|
+
# memory_usage_str = memory_usage_str + cyan + format_bytes_short(stats['usedMemory']).strip.rjust(7, ' ') + " / " + format_bytes_short(stats['maxMemory']).strip
|
198
|
+
# end
|
199
|
+
# if stats['maxStorage'] && stats['maxStorage'].to_i != 0
|
200
|
+
# storage_usage_str = storage_usage_str + cyan + format_bytes_short(stats['usedStorage']).strip.rjust(7, ' ') + " / " + format_bytes_short(stats['maxStorage']).strip
|
201
|
+
# end
|
196
202
|
row = {
|
197
203
|
id: server['id'],
|
198
204
|
tenant: server['account'] ? server['account']['name'] : server['accountId'],
|
@@ -213,10 +219,7 @@ class Morpheus::Cli::Hosts
|
|
213
219
|
if multi_tenant
|
214
220
|
columns.insert(4, :tenant)
|
215
221
|
end
|
216
|
-
|
217
|
-
if term_width > 170
|
218
|
-
columns += [:cpu, :memory, :storage]
|
219
|
-
end
|
222
|
+
columns += [:cpu, :memory, :storage]
|
220
223
|
# custom pretty table columns ...
|
221
224
|
if options[:include_fields]
|
222
225
|
columns = options[:include_fields]
|
@@ -3,7 +3,6 @@ require 'yaml'
|
|
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/provisioning_helper'
|
9
8
|
require 'morpheus/cli/boot_scripts_command'
|
@@ -116,10 +115,6 @@ class Morpheus::Cli::ImageBuilderCommand
|
|
116
115
|
}
|
117
116
|
columns = [:id, :name, :type, {:lastRunDate => {label: 'Last Run Date'.upcase}},
|
118
117
|
:status, {:result => {max_width: 60}}]
|
119
|
-
term_width = current_terminal_width()
|
120
|
-
# if term_width > 170
|
121
|
-
# columns += [:cpu, :memory, :storage]
|
122
|
-
# end
|
123
118
|
# custom pretty table columns ...
|
124
119
|
if options[:include_fields]
|
125
120
|
columns = options[:include_fields]
|
@@ -736,8 +731,7 @@ class Morpheus::Cli::ImageBuilderCommand
|
|
736
731
|
rows = image_builds.collect do |it|
|
737
732
|
{id: it['id'], name: it['name']}
|
738
733
|
end
|
739
|
-
print red
|
740
|
-
tp rows, [:id, :name]
|
734
|
+
print as_pretty_table(rows, [:id, :name], {color:red})
|
741
735
|
print reset,"\n"
|
742
736
|
return nil
|
743
737
|
else
|
@@ -2,7 +2,6 @@ require 'io/console'
|
|
2
2
|
require 'rest_client'
|
3
3
|
require 'optparse'
|
4
4
|
require 'filesize'
|
5
|
-
require 'table_print'
|
6
5
|
require 'morpheus/cli/cli_command'
|
7
6
|
require 'morpheus/cli/mixins/accounts_helper'
|
8
7
|
require 'morpheus/cli/mixins/provisioning_helper'
|
@@ -158,6 +157,12 @@ class Morpheus::Cli::Instances
|
|
158
157
|
cpu_usage_str = !stats ? "" : generate_usage_bar((stats['usedCpu'] || stats['cpuUsage']).to_f, 100, {max_bars: 10})
|
159
158
|
memory_usage_str = !stats ? "" : generate_usage_bar(stats['usedMemory'], stats['maxMemory'], {max_bars: 10})
|
160
159
|
storage_usage_str = !stats ? "" : generate_usage_bar(stats['usedStorage'], stats['maxStorage'], {max_bars: 10})
|
160
|
+
# if stats['maxMemory'] && stats['maxMemory'].to_i != 0
|
161
|
+
# memory_usage_str = memory_usage_str + cyan + format_bytes_short(stats['usedMemory']).strip.rjust(7, ' ') + " / " + format_bytes_short(stats['maxMemory']).strip
|
162
|
+
# end
|
163
|
+
# if stats['maxStorage'] && stats['maxStorage'].to_i != 0
|
164
|
+
# storage_usage_str = storage_usage_str + cyan + format_bytes_short(stats['usedStorage']).strip.rjust(7, ' ') + " / " + format_bytes_short(stats['maxStorage']).strip
|
165
|
+
# end
|
161
166
|
row = {
|
162
167
|
id: instance['id'],
|
163
168
|
name: instance['name'],
|
@@ -170,16 +175,13 @@ class Morpheus::Cli::Instances
|
|
170
175
|
cloud: !instance['cloud'].nil? ? instance['cloud']['name'] : nil,
|
171
176
|
version: instance['instanceVersion'] ? instance['instanceVersion'] : '',
|
172
177
|
cpu: cpu_usage_str + cyan,
|
173
|
-
memory: memory_usage_str + cyan,
|
178
|
+
memory: memory_usage_str + cyan,
|
174
179
|
storage: storage_usage_str + cyan
|
175
180
|
}
|
176
181
|
row
|
177
182
|
}
|
178
|
-
columns = [:id, {:name => {:max_width => 50}}, :group, :cloud, :type, :version, :environment,
|
179
|
-
|
180
|
-
if term_width > 190
|
181
|
-
columns += [:cpu, :memory, :storage]
|
182
|
-
end
|
183
|
+
columns = [:id, {:name => {:max_width => 50}}, :group, :cloud, :type, :version, :environment,
|
184
|
+
:nodes, {:connection => {:max_width => 30}}, :status, :cpu, :memory, :storage]
|
183
185
|
# custom pretty table columns ...
|
184
186
|
if options[:include_fields]
|
185
187
|
columns = options[:include_fields]
|
@@ -937,6 +939,12 @@ class Morpheus::Cli::Instances
|
|
937
939
|
cpu_usage_str = !stats ? "" : generate_usage_bar((stats['usedCpu'] || stats['cpuUsage']).to_f, 100, {max_bars: 10})
|
938
940
|
memory_usage_str = !stats ? "" : generate_usage_bar(stats['usedMemory'], stats['maxMemory'], {max_bars: 10})
|
939
941
|
storage_usage_str = !stats ? "" : generate_usage_bar(stats['usedStorage'], stats['maxStorage'], {max_bars: 10})
|
942
|
+
if stats['maxMemory'] && stats['maxMemory'].to_i != 0
|
943
|
+
memory_usage_str = memory_usage_str + cyan + format_bytes_short(stats['usedMemory']).strip.rjust(7, ' ') + " / " + format_bytes_short(stats['maxMemory']).strip
|
944
|
+
end
|
945
|
+
if stats['maxStorage'] && stats['maxStorage'].to_i != 0
|
946
|
+
storage_usage_str = storage_usage_str + cyan + format_bytes_short(stats['usedStorage']).strip.rjust(7, ' ') + " / " + format_bytes_short(stats['maxStorage']).strip
|
947
|
+
end
|
940
948
|
row = {
|
941
949
|
id: container['id'],
|
942
950
|
status: format_container_status(container),
|
@@ -945,16 +953,12 @@ class Morpheus::Cli::Instances
|
|
945
953
|
cloud: container['cloud'] ? container['cloud']['name'] : '',
|
946
954
|
location: format_container_connection_string(container),
|
947
955
|
cpu: cpu_usage_str + cyan,
|
948
|
-
memory: memory_usage_str + cyan,
|
956
|
+
memory: memory_usage_str + cyan,
|
949
957
|
storage: storage_usage_str + cyan
|
950
958
|
}
|
951
959
|
row
|
952
960
|
}
|
953
|
-
columns = [:id, :status, :name, :type, :cloud, :location]
|
954
|
-
term_width = current_terminal_width()
|
955
|
-
if term_width > 190
|
956
|
-
columns += [:cpu, :memory, :storage]
|
957
|
-
end
|
961
|
+
columns = [:id, :status, :name, :type, :cloud, :location, :cpu, :memory, :storage]
|
958
962
|
# custom pretty table columns ...
|
959
963
|
if options[:include_fields]
|
960
964
|
columns = options[:include_fields]
|
@@ -1054,6 +1058,12 @@ class Morpheus::Cli::Instances
|
|
1054
1058
|
cpu_usage_str = !stats ? "" : generate_usage_bar((stats['usedCpu'] || stats['cpuUsage']).to_f, 100, {max_bars: 10})
|
1055
1059
|
memory_usage_str = !stats ? "" : generate_usage_bar(stats['usedMemory'], stats['maxMemory'], {max_bars: 10})
|
1056
1060
|
storage_usage_str = !stats ? "" : generate_usage_bar(stats['usedStorage'], stats['maxStorage'], {max_bars: 10})
|
1061
|
+
if stats['maxMemory'] && stats['maxMemory'].to_i != 0
|
1062
|
+
memory_usage_str = memory_usage_str + cyan + format_bytes_short(stats['usedMemory']).strip.rjust(7, ' ') + " / " + format_bytes_short(stats['maxMemory']).strip
|
1063
|
+
end
|
1064
|
+
if stats['maxStorage'] && stats['maxStorage'].to_i != 0
|
1065
|
+
storage_usage_str = storage_usage_str + cyan + format_bytes_short(stats['usedStorage']).strip.rjust(7, ' ') + " / " + format_bytes_short(stats['maxStorage']).strip
|
1066
|
+
end
|
1057
1067
|
row = {
|
1058
1068
|
id: container['id'],
|
1059
1069
|
status: format_container_status(container),
|
@@ -1067,11 +1077,7 @@ class Morpheus::Cli::Instances
|
|
1067
1077
|
}
|
1068
1078
|
row
|
1069
1079
|
}
|
1070
|
-
columns = [:id, :status, :name, :type, :cloud, :location]
|
1071
|
-
term_width = current_terminal_width()
|
1072
|
-
if term_width > 190
|
1073
|
-
columns += [:cpu, :memory, :storage]
|
1074
|
-
end
|
1080
|
+
columns = [:id, :status, :name, :type, :cloud, :location, :cpu, :memory, :storage]
|
1075
1081
|
# custom pretty table columns ...
|
1076
1082
|
if options[:include_fields]
|
1077
1083
|
columns = options[:include_fields]
|
@@ -1279,10 +1285,9 @@ class Morpheus::Cli::Instances
|
|
1279
1285
|
if json_response['readOnlyEnvs']
|
1280
1286
|
envs += json_response['readOnlyEnvs'].map { |k,v| {:name => k, :value => k.downcase.include?("password") || v['masked'] ? "********" : v['value'], :export => true}}
|
1281
1287
|
end
|
1282
|
-
|
1288
|
+
columns = [:name, :value, :export]
|
1283
1289
|
print_h2 "Imported Envs", options
|
1284
|
-
|
1285
|
-
tp imported_envs
|
1290
|
+
print as_pretty_table(envs, columns, options)
|
1286
1291
|
print reset, "\n"
|
1287
1292
|
rescue RestClient::Exception => e
|
1288
1293
|
print_rest_exception(e, options)
|
@@ -3224,25 +3229,6 @@ private
|
|
3224
3229
|
end
|
3225
3230
|
end
|
3226
3231
|
|
3227
|
-
# def print_instances_table(instances, opts={})
|
3228
|
-
# table_color = opts[:color] || cyan
|
3229
|
-
# rows = instances.collect {|instance|
|
3230
|
-
# {
|
3231
|
-
# id: instance['id'],
|
3232
|
-
# name: instance['name'],
|
3233
|
-
# connection: format_instance_connection_string(instance),
|
3234
|
-
# environment: instance['instanceContext'],
|
3235
|
-
# nodes: instance['containers'].count,
|
3236
|
-
# status: format_instance_status(instance, table_color),
|
3237
|
-
# type: instance['instanceType']['name'],
|
3238
|
-
# group: !instance['group'].nil? ? instance['group']['name'] : nil,
|
3239
|
-
# cloud: !instance['cloud'].nil? ? instance['cloud']['name'] : nil
|
3240
|
-
# }
|
3241
|
-
# }
|
3242
|
-
# print table_color
|
3243
|
-
# tp rows, :id, :name, :group, :cloud, :type, :environment, :nodes, :connection, :status
|
3244
|
-
# print reset
|
3245
|
-
# end
|
3246
3232
|
|
3247
3233
|
def format_instance_status(instance, return_color=cyan)
|
3248
3234
|
out = ""
|