morpheus-cli 5.3.0.3 → 5.3.1
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/Dockerfile +1 -1
- data/README.md +1 -3
- data/lib/morpheus/api/api_client.rb +48 -14
- data/lib/morpheus/api/certificate_types_interface.rb +14 -0
- data/lib/morpheus/api/certificates_interface.rb +9 -0
- data/lib/morpheus/api/integration_types_interface.rb +14 -0
- data/lib/morpheus/api/integrations_interface.rb +7 -22
- data/lib/morpheus/api/network_services_interface.rb +14 -0
- data/lib/morpheus/api/read_interface.rb +23 -0
- data/lib/morpheus/api/rest_interface.rb +12 -10
- data/lib/morpheus/api/roles_interface.rb +7 -0
- data/lib/morpheus/api/servers_interface.rb +7 -0
- data/lib/morpheus/api/user_settings_interface.rb +38 -18
- data/lib/morpheus/api/vdi_allocations_interface.rb +9 -0
- data/lib/morpheus/api/vdi_apps_interface.rb +9 -0
- data/lib/morpheus/api/vdi_gateways_interface.rb +9 -0
- data/lib/morpheus/api/vdi_interface.rb +28 -0
- data/lib/morpheus/api/vdi_pools_interface.rb +19 -0
- data/lib/morpheus/cli.rb +9 -2
- data/lib/morpheus/cli/apps.rb +59 -75
- data/lib/morpheus/cli/catalog_item_types_command.rb +13 -13
- data/lib/morpheus/cli/certificates_command.rb +575 -0
- data/lib/morpheus/cli/cli_command.rb +61 -6
- data/lib/morpheus/cli/clouds.rb +1 -0
- data/lib/morpheus/cli/clusters.rb +1 -1
- data/lib/morpheus/cli/commands/standard/man_command.rb +4 -5
- data/lib/morpheus/cli/hosts.rb +245 -224
- data/lib/morpheus/cli/instances.rb +150 -167
- data/lib/morpheus/cli/integrations_command.rb +588 -41
- data/lib/morpheus/cli/login.rb +7 -0
- data/lib/morpheus/cli/mixins/print_helper.rb +33 -18
- data/lib/morpheus/cli/mixins/provisioning_helper.rb +3 -3
- data/lib/morpheus/cli/mixins/vdi_helper.rb +246 -0
- data/lib/morpheus/cli/network_routers_command.rb +22 -9
- data/lib/morpheus/cli/networks_command.rb +2 -2
- data/lib/morpheus/cli/option_types.rb +34 -33
- data/lib/morpheus/cli/remote.rb +1 -1
- data/lib/morpheus/cli/reports_command.rb +4 -1
- data/lib/morpheus/cli/roles.rb +215 -55
- data/lib/morpheus/cli/subnets_command.rb +11 -2
- data/lib/morpheus/cli/user_settings_command.rb +268 -57
- data/lib/morpheus/cli/vdi_allocations_command.rb +159 -0
- data/lib/morpheus/cli/vdi_apps_command.rb +317 -0
- data/lib/morpheus/cli/vdi_command.rb +359 -0
- data/lib/morpheus/cli/vdi_gateways_command.rb +290 -0
- data/lib/morpheus/cli/vdi_pools_command.rb +571 -0
- data/lib/morpheus/cli/version.rb +1 -1
- data/lib/morpheus/rest_client.rb +30 -0
- data/lib/morpheus/terminal.rb +15 -7
- metadata +18 -2
data/lib/morpheus/cli/version.rb
CHANGED
data/lib/morpheus/rest_client.rb
CHANGED
@@ -44,8 +44,22 @@ module Morpheus
|
|
44
44
|
end
|
45
45
|
query_string = params
|
46
46
|
if query_string.respond_to?(:map)
|
47
|
+
if options[:grails_params] != false
|
48
|
+
query_string = grails_params(query_string)
|
49
|
+
end
|
47
50
|
query_string = URI.encode_www_form(query_string)
|
48
51
|
end
|
52
|
+
# grails expects dot notation in body params
|
53
|
+
if opts[:method] == :post || opts[:method] == :put
|
54
|
+
if opts[:headers]['Content-Type'].nil? || opts[:headers]['Content-Type'] == 'application/x-www-form-urlencoded' || opts[:headers]['Content-Type'] == 'multipart/form-data'
|
55
|
+
if opts[:payload].respond_to?(:map)
|
56
|
+
if opts[:grails_params] != false
|
57
|
+
# puts "grailsifying it!"
|
58
|
+
opts[:payload] = grails_params(opts[:payload])
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
49
63
|
if query_string && !query_string.empty?
|
50
64
|
opts[:url] = "#{opts[:url]}?#{query_string}"
|
51
65
|
end
|
@@ -69,6 +83,22 @@ module Morpheus
|
|
69
83
|
@@ssl_verification_enabled = verify
|
70
84
|
end
|
71
85
|
|
86
|
+
def grails_params(data, context=nil)
|
87
|
+
params = {}
|
88
|
+
data.each do |k,v|
|
89
|
+
if v.is_a?(Hash)
|
90
|
+
params.merge!(grails_params(v, context ? "#{context}.#{k.to_s}" : k))
|
91
|
+
else
|
92
|
+
if context
|
93
|
+
params["#{context}.#{k.to_s}"] = v
|
94
|
+
else
|
95
|
+
params[k] = v
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
return params
|
100
|
+
end
|
101
|
+
|
72
102
|
end
|
73
103
|
end
|
74
104
|
end
|
data/lib/morpheus/terminal.rb
CHANGED
@@ -19,17 +19,25 @@ module Morpheus
|
|
19
19
|
#
|
20
20
|
# ==== Example Usage
|
21
21
|
#
|
22
|
-
#
|
23
|
-
#
|
22
|
+
# require 'morpheus/terminal'
|
23
|
+
#
|
24
|
+
# # Write output to STDOUT is the default behavior
|
25
|
+
#
|
26
|
+
# terminal = Morpheus::Terminal.new
|
27
|
+
# exit_code, err = terminal.execute("instances list -m 10")
|
24
28
|
# assert exit_code == 0
|
25
29
|
# assert err == nil
|
26
30
|
#
|
27
|
-
#
|
28
|
-
#
|
31
|
+
# # Write command output to a file instead
|
32
|
+
# terminal = Morpheus::Terminal.new(stdout: File.new("morpheus-terminal.log", "w+"))
|
33
|
+
# terminal.execute("version")
|
34
|
+
# terminal.execute("instances list")
|
35
|
+
# terminal.execute("apps list")
|
29
36
|
#
|
30
|
-
#
|
31
|
-
#
|
32
|
-
#
|
37
|
+
# # Overwrite file with output of a command
|
38
|
+
# terminal = Morpheus::Terminal.new(stdout: File.new("instance23.json", "w"))
|
39
|
+
# terminal.execute("instances get 23 --json")
|
40
|
+
# puts "Instance 23 Details: ", File.read("instance23.json")
|
33
41
|
#
|
34
42
|
class Terminal
|
35
43
|
include Morpheus::Benchmarking::HasBenchmarking
|
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.3.
|
4
|
+
version: 5.3.1
|
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: 2021-
|
14
|
+
date: 2021-05-20 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|
@@ -189,6 +189,8 @@ files:
|
|
189
189
|
- lib/morpheus/api/blueprints_interface.rb
|
190
190
|
- lib/morpheus/api/budgets_interface.rb
|
191
191
|
- lib/morpheus/api/catalog_item_types_interface.rb
|
192
|
+
- lib/morpheus/api/certificate_types_interface.rb
|
193
|
+
- lib/morpheus/api/certificates_interface.rb
|
192
194
|
- lib/morpheus/api/cloud_datastores_interface.rb
|
193
195
|
- lib/morpheus/api/cloud_folders_interface.rb
|
194
196
|
- lib/morpheus/api/cloud_policies_interface.rb
|
@@ -218,6 +220,7 @@ files:
|
|
218
220
|
- lib/morpheus/api/image_builder_preseed_scripts_interface.rb
|
219
221
|
- lib/morpheus/api/instance_types_interface.rb
|
220
222
|
- lib/morpheus/api/instances_interface.rb
|
223
|
+
- lib/morpheus/api/integration_types_interface.rb
|
221
224
|
- lib/morpheus/api/integrations_interface.rb
|
222
225
|
- lib/morpheus/api/invoice_line_items_interface.rb
|
223
226
|
- lib/morpheus/api/invoices_interface.rb
|
@@ -271,6 +274,7 @@ files:
|
|
271
274
|
- lib/morpheus/api/provisioning_license_types_interface.rb
|
272
275
|
- lib/morpheus/api/provisioning_licenses_interface.rb
|
273
276
|
- lib/morpheus/api/provisioning_settings_interface.rb
|
277
|
+
- lib/morpheus/api/read_interface.rb
|
274
278
|
- lib/morpheus/api/reports_interface.rb
|
275
279
|
- lib/morpheus/api/rest_interface.rb
|
276
280
|
- lib/morpheus/api/roles_interface.rb
|
@@ -292,6 +296,11 @@ files:
|
|
292
296
|
- lib/morpheus/api/user_settings_interface.rb
|
293
297
|
- lib/morpheus/api/user_sources_interface.rb
|
294
298
|
- lib/morpheus/api/users_interface.rb
|
299
|
+
- lib/morpheus/api/vdi_allocations_interface.rb
|
300
|
+
- lib/morpheus/api/vdi_apps_interface.rb
|
301
|
+
- lib/morpheus/api/vdi_gateways_interface.rb
|
302
|
+
- lib/morpheus/api/vdi_interface.rb
|
303
|
+
- lib/morpheus/api/vdi_pools_interface.rb
|
295
304
|
- lib/morpheus/api/virtual_images_interface.rb
|
296
305
|
- lib/morpheus/api/whitelabel_settings_interface.rb
|
297
306
|
- lib/morpheus/api/whoami_interface.rb
|
@@ -312,6 +321,7 @@ files:
|
|
312
321
|
- lib/morpheus/cli/boot_scripts_command.rb
|
313
322
|
- lib/morpheus/cli/budgets_command.rb
|
314
323
|
- lib/morpheus/cli/catalog_item_types_command.rb
|
324
|
+
- lib/morpheus/cli/certificates_command.rb
|
315
325
|
- lib/morpheus/cli/change_password_command.rb
|
316
326
|
- lib/morpheus/cli/cli_command.rb
|
317
327
|
- lib/morpheus/cli/cli_registry.rb
|
@@ -400,6 +410,7 @@ files:
|
|
400
410
|
- lib/morpheus/cli/mixins/processes_helper.rb
|
401
411
|
- lib/morpheus/cli/mixins/provisioning_helper.rb
|
402
412
|
- lib/morpheus/cli/mixins/remote_helper.rb
|
413
|
+
- lib/morpheus/cli/mixins/vdi_helper.rb
|
403
414
|
- lib/morpheus/cli/mixins/whoami_helper.rb
|
404
415
|
- lib/morpheus/cli/monitoring_alerts_command.rb
|
405
416
|
- lib/morpheus/cli/monitoring_apps_command.rb
|
@@ -448,6 +459,11 @@ files:
|
|
448
459
|
- lib/morpheus/cli/user_settings_command.rb
|
449
460
|
- lib/morpheus/cli/user_sources_command.rb
|
450
461
|
- lib/morpheus/cli/users.rb
|
462
|
+
- lib/morpheus/cli/vdi_allocations_command.rb
|
463
|
+
- lib/morpheus/cli/vdi_apps_command.rb
|
464
|
+
- lib/morpheus/cli/vdi_command.rb
|
465
|
+
- lib/morpheus/cli/vdi_gateways_command.rb
|
466
|
+
- lib/morpheus/cli/vdi_pools_command.rb
|
451
467
|
- lib/morpheus/cli/version.rb
|
452
468
|
- lib/morpheus/cli/virtual_images.rb
|
453
469
|
- lib/morpheus/cli/whitelabel_settings_command.rb
|