morpheus-cli 5.0.2 → 5.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Dockerfile +1 -1
- data/lib/morpheus/api/api_client.rb +4 -0
- data/lib/morpheus/api/instances_interface.rb +9 -2
- data/lib/morpheus/api/servers_interface.rb +7 -0
- data/lib/morpheus/api/service_catalog_interface.rb +89 -0
- data/lib/morpheus/cli.rb +2 -1
- data/lib/morpheus/cli/apps.rb +3 -23
- data/lib/morpheus/cli/{catalog_command.rb → catalog_item_types_command.rb} +182 -67
- data/lib/morpheus/cli/cli_command.rb +25 -1
- data/lib/morpheus/cli/containers_command.rb +0 -24
- data/lib/morpheus/cli/cypher_command.rb +6 -2
- data/lib/morpheus/cli/health_command.rb +57 -0
- data/lib/morpheus/cli/hosts.rb +85 -9
- data/lib/morpheus/cli/instances.rb +85 -68
- data/lib/morpheus/cli/library_option_lists_command.rb +1 -1
- data/lib/morpheus/cli/library_option_types_command.rb +5 -2
- data/lib/morpheus/cli/mixins/accounts_helper.rb +5 -1
- data/lib/morpheus/cli/mixins/provisioning_helper.rb +76 -0
- data/lib/morpheus/cli/option_types.rb +10 -10
- data/lib/morpheus/cli/roles.rb +193 -155
- data/lib/morpheus/cli/service_catalog_command.rb +1474 -0
- data/lib/morpheus/cli/tasks.rb +9 -11
- data/lib/morpheus/cli/version.rb +1 -1
- data/lib/morpheus/cli/virtual_images.rb +162 -68
- data/lib/morpheus/formatters.rb +34 -9
- metadata +5 -4
- data/lib/morpheus/cli/mixins/catalog_helper.rb +0 -66
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: 5.0
|
4
|
+
version: 5.2.0
|
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: 2020-10
|
14
|
+
date: 2020-11-10 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|
@@ -279,6 +279,7 @@ files:
|
|
279
279
|
- lib/morpheus/api/security_groups_interface.rb
|
280
280
|
- lib/morpheus/api/server_types_interface.rb
|
281
281
|
- lib/morpheus/api/servers_interface.rb
|
282
|
+
- lib/morpheus/api/service_catalog_interface.rb
|
282
283
|
- lib/morpheus/api/service_plans_interface.rb
|
283
284
|
- lib/morpheus/api/setup_interface.rb
|
284
285
|
- lib/morpheus/api/storage_providers_interface.rb
|
@@ -310,7 +311,7 @@ files:
|
|
310
311
|
- lib/morpheus/cli/blueprints_command.rb
|
311
312
|
- lib/morpheus/cli/boot_scripts_command.rb
|
312
313
|
- lib/morpheus/cli/budgets_command.rb
|
313
|
-
- lib/morpheus/cli/
|
314
|
+
- lib/morpheus/cli/catalog_item_types_command.rb
|
314
315
|
- lib/morpheus/cli/change_password_command.rb
|
315
316
|
- lib/morpheus/cli/cli_command.rb
|
316
317
|
- lib/morpheus/cli/cli_registry.rb
|
@@ -388,7 +389,6 @@ files:
|
|
388
389
|
- lib/morpheus/cli/logs_command.rb
|
389
390
|
- lib/morpheus/cli/mixins/accounts_helper.rb
|
390
391
|
- lib/morpheus/cli/mixins/backups_helper.rb
|
391
|
-
- lib/morpheus/cli/mixins/catalog_helper.rb
|
392
392
|
- lib/morpheus/cli/mixins/deployments_helper.rb
|
393
393
|
- lib/morpheus/cli/mixins/infrastructure_helper.rb
|
394
394
|
- lib/morpheus/cli/mixins/library_helper.rb
|
@@ -435,6 +435,7 @@ files:
|
|
435
435
|
- lib/morpheus/cli/search_command.rb
|
436
436
|
- lib/morpheus/cli/security_group_rules.rb
|
437
437
|
- lib/morpheus/cli/security_groups.rb
|
438
|
+
- lib/morpheus/cli/service_catalog_command.rb
|
438
439
|
- lib/morpheus/cli/service_plans_command.rb
|
439
440
|
- lib/morpheus/cli/setup.rb
|
440
441
|
- lib/morpheus/cli/shell.rb
|
@@ -1,66 +0,0 @@
|
|
1
|
-
require 'morpheus/cli/mixins/print_helper'
|
2
|
-
# Mixin for Morpheus::Cli command classes
|
3
|
-
# Provides common methods for infrastructure management
|
4
|
-
module Morpheus::Cli::CatalogHelper
|
5
|
-
|
6
|
-
def self.included(klass)
|
7
|
-
klass.send :include, Morpheus::Cli::PrintHelper
|
8
|
-
end
|
9
|
-
|
10
|
-
def catalog_item_types_interface
|
11
|
-
raise "#{self.class} has not defined @catalog_item_types_interface" if @catalog_item_types_interface.nil?
|
12
|
-
@catalog_item_types_interface
|
13
|
-
end
|
14
|
-
|
15
|
-
# def service_catalog_interface
|
16
|
-
# raise "#{self.class} has not defined @service_catalog_interface" if @service_catalog_interface.nil?
|
17
|
-
# @service_catalog_interface
|
18
|
-
# end
|
19
|
-
|
20
|
-
def catalog_item_type_object_key
|
21
|
-
'catalogItemType'
|
22
|
-
end
|
23
|
-
|
24
|
-
def catalog_item_type_list_key
|
25
|
-
'catalogItemTypes'
|
26
|
-
end
|
27
|
-
|
28
|
-
def find_catalog_item_type_by_name_or_id(val)
|
29
|
-
if val.to_s =~ /\A\d{1,}\Z/
|
30
|
-
return find_catalog_item_type_by_id(val)
|
31
|
-
else
|
32
|
-
return find_catalog_item_type_by_name(val)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
def find_catalog_item_type_by_id(id)
|
37
|
-
begin
|
38
|
-
json_response = catalog_item_types_interface.get(id.to_i)
|
39
|
-
return json_response[catalog_item_type_object_key]
|
40
|
-
rescue RestClient::Exception => e
|
41
|
-
if e.response && e.response.code == 404
|
42
|
-
print_red_alert "catalog_item_type not found by id '#{id}'"
|
43
|
-
else
|
44
|
-
raise e
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def find_catalog_item_type_by_name(name)
|
50
|
-
json_response = catalog_item_types_interface.list({name: name.to_s})
|
51
|
-
catalog_item_types = json_response[catalog_item_type_list_key]
|
52
|
-
if catalog_item_types.empty?
|
53
|
-
print_red_alert "catalog_item_type not found by name '#{name}'"
|
54
|
-
return nil
|
55
|
-
elsif catalog_item_types.size > 1
|
56
|
-
print_red_alert "#{catalog_item_types.size} catalog_item_types found by name '#{name}'"
|
57
|
-
puts_error as_pretty_table(catalog_item_types, [:id, :name], {color:red})
|
58
|
-
print_red_alert "Try using ID instead"
|
59
|
-
print reset,"\n"
|
60
|
-
return nil
|
61
|
-
else
|
62
|
-
return catalog_item_types[0]
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|