morpheus-cli 5.3.1 → 5.3.2.2
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/account_groups_interface.rb +0 -6
- data/lib/morpheus/api/accounts_interface.rb +4 -36
- data/lib/morpheus/api/api_client.rb +120 -106
- data/lib/morpheus/api/appliance_settings_interface.rb +6 -9
- data/lib/morpheus/api/approvals_interface.rb +5 -8
- data/lib/morpheus/api/apps_interface.rb +0 -7
- data/lib/morpheus/api/archive_buckets_interface.rb +9 -16
- data/lib/morpheus/api/archive_files_interface.rb +0 -6
- data/lib/morpheus/api/auth_interface.rb +4 -4
- data/lib/morpheus/api/backup_settings_interface.rb +5 -8
- data/lib/morpheus/api/blueprints_interface.rb +1 -7
- data/lib/morpheus/api/budgets_interface.rb +0 -6
- data/lib/morpheus/api/cloud_datastores_interface.rb +0 -6
- data/lib/morpheus/api/cloud_folders_interface.rb +1 -7
- data/lib/morpheus/api/cloud_policies_interface.rb +0 -6
- data/lib/morpheus/api/cloud_resource_pools_interface.rb +0 -6
- data/lib/morpheus/api/clouds_interface.rb +0 -6
- data/lib/morpheus/api/clusters_interface.rb +39 -42
- data/lib/morpheus/api/containers_interface.rb +0 -6
- data/lib/morpheus/api/custom_instance_types_interface.rb +0 -6
- data/lib/morpheus/api/cypher_interface.rb +0 -6
- data/lib/morpheus/api/datastores_interface.rb +4 -7
- data/lib/morpheus/api/deploy_interface.rb +1 -6
- data/lib/morpheus/api/environments_interface.rb +0 -6
- data/lib/morpheus/api/execute_schedules_interface.rb +0 -6
- data/lib/morpheus/api/execution_request_interface.rb +0 -6
- data/lib/morpheus/api/file_copy_request_interface.rb +2 -9
- data/lib/morpheus/api/group_policies_interface.rb +0 -6
- data/lib/morpheus/api/groups_interface.rb +0 -7
- data/lib/morpheus/api/guidance_interface.rb +9 -12
- data/lib/morpheus/api/health_interface.rb +0 -6
- data/lib/morpheus/api/image_builder_boot_scripts_interface.rb +0 -6
- data/lib/morpheus/api/image_builder_image_builds_interface.rb +0 -6
- data/lib/morpheus/api/image_builder_interface.rb +3 -9
- data/lib/morpheus/api/image_builder_preseed_scripts_interface.rb +0 -6
- data/lib/morpheus/api/instance_types_interface.rb +0 -7
- data/lib/morpheus/api/instances_interface.rb +8 -19
- data/lib/morpheus/api/integrations_interface.rb +30 -0
- data/lib/morpheus/api/invoice_line_items_interface.rb +4 -9
- data/lib/morpheus/api/jobs_interface.rb +11 -14
- data/lib/morpheus/api/key_pairs_interface.rb +0 -6
- data/lib/morpheus/api/library_cluster_layouts_interface.rb +0 -6
- data/lib/morpheus/api/library_container_scripts_interface.rb +0 -6
- data/lib/morpheus/api/library_container_templates_interface.rb +0 -6
- data/lib/morpheus/api/library_container_types_interface.rb +0 -6
- data/lib/morpheus/api/library_container_upgrades_interface.rb +0 -6
- data/lib/morpheus/api/library_instance_types_interface.rb +0 -6
- data/lib/morpheus/api/library_layouts_interface.rb +0 -6
- data/lib/morpheus/api/library_spec_template_types_interface.rb +0 -6
- data/lib/morpheus/api/library_spec_templates_interface.rb +0 -6
- data/lib/morpheus/api/license_interface.rb +0 -6
- data/lib/morpheus/api/load_balancer_pools_interface.rb +9 -0
- data/lib/morpheus/api/load_balancer_types_interface.rb +9 -0
- data/lib/morpheus/api/load_balancer_virtual_servers_interface.rb +9 -0
- data/lib/morpheus/api/load_balancers_interface.rb +4 -59
- data/lib/morpheus/api/log_settings_interface.rb +9 -12
- data/lib/morpheus/api/logs_interface.rb +0 -6
- data/lib/morpheus/api/monitoring_alerts_interface.rb +0 -6
- data/lib/morpheus/api/monitoring_apps_interface.rb +0 -6
- data/lib/morpheus/api/monitoring_checks_interface.rb +0 -6
- data/lib/morpheus/api/monitoring_contacts_interface.rb +0 -6
- data/lib/morpheus/api/monitoring_groups_interface.rb +0 -6
- data/lib/morpheus/api/monitoring_incidents_interface.rb +0 -6
- data/lib/morpheus/api/monitoring_interface.rb +6 -12
- data/lib/morpheus/api/network_domain_records_interface.rb +0 -6
- data/lib/morpheus/api/network_domains_interface.rb +0 -6
- data/lib/morpheus/api/network_groups_interface.rb +0 -6
- data/lib/morpheus/api/network_pool_ips_interface.rb +0 -6
- data/lib/morpheus/api/network_pool_servers_interface.rb +0 -6
- data/lib/morpheus/api/network_pools_interface.rb +0 -6
- data/lib/morpheus/api/network_proxies_interface.rb +0 -6
- data/lib/morpheus/api/network_routers_interface.rb +56 -6
- data/lib/morpheus/api/network_security_servers_interface.rb +6 -9
- data/lib/morpheus/api/network_services_interface.rb +0 -14
- data/lib/morpheus/api/network_subnets_interface.rb +0 -6
- data/lib/morpheus/api/network_types_interface.rb +1 -7
- data/lib/morpheus/api/networks_interface.rb +0 -6
- data/lib/morpheus/api/option_type_lists_interface.rb +18 -12
- data/lib/morpheus/api/option_types_interface.rb +0 -6
- data/lib/morpheus/api/options_interface.rb +0 -6
- data/lib/morpheus/api/packages_interface.rb +0 -6
- data/lib/morpheus/api/policies_interface.rb +1 -8
- data/lib/morpheus/api/power_schedules_interface.rb +0 -6
- data/lib/morpheus/api/price_sets_interface.rb +8 -11
- data/lib/morpheus/api/prices_interface.rb +12 -15
- data/lib/morpheus/api/processes_interface.rb +0 -6
- data/lib/morpheus/api/provision_types_interface.rb +0 -6
- data/lib/morpheus/api/provisioning_license_types_interface.rb +0 -6
- data/lib/morpheus/api/provisioning_licenses_interface.rb +0 -6
- data/lib/morpheus/api/provisioning_settings_interface.rb +6 -9
- data/lib/morpheus/api/reports_interface.rb +0 -6
- data/lib/morpheus/api/roles_interface.rb +0 -6
- data/lib/morpheus/api/secondary_read_interface.rb +25 -0
- data/lib/morpheus/api/secondary_rest_interface.rb +42 -0
- data/lib/morpheus/api/security_group_rules_interface.rb +0 -7
- data/lib/morpheus/api/security_groups_interface.rb +0 -6
- data/lib/morpheus/api/server_types_interface.rb +0 -6
- data/lib/morpheus/api/servers_interface.rb +0 -6
- data/lib/morpheus/api/service_plans_interface.rb +11 -14
- data/lib/morpheus/api/storage_providers_interface.rb +9 -16
- data/lib/morpheus/api/subnet_types_interface.rb +1 -7
- data/lib/morpheus/api/subnets_interface.rb +0 -6
- data/lib/morpheus/api/task_sets_interface.rb +0 -6
- data/lib/morpheus/api/tasks_interface.rb +0 -6
- data/lib/morpheus/api/user_groups_interface.rb +0 -6
- data/lib/morpheus/api/user_sources_interface.rb +0 -6
- data/lib/morpheus/api/users_interface.rb +0 -6
- data/lib/morpheus/api/virtual_images_interface.rb +0 -6
- data/lib/morpheus/api/whitelabel_settings_interface.rb +8 -11
- data/lib/morpheus/api/wiki_interface.rb +0 -6
- data/lib/morpheus/cli/access_token_command.rb +1 -1
- data/lib/morpheus/cli/account_groups_command.rb +4 -4
- data/lib/morpheus/cli/apps.rb +9 -9
- data/lib/morpheus/cli/archives_command.rb +5 -5
- data/lib/morpheus/cli/blueprints_command.rb +5 -5
- data/lib/morpheus/cli/boot_scripts_command.rb +1 -1
- data/lib/morpheus/cli/change_password_command.rb +4 -4
- data/lib/morpheus/cli/cli_command.rb +11 -10
- data/lib/morpheus/cli/clouds.rb +2 -2
- data/lib/morpheus/cli/clusters.rb +2 -2
- data/lib/morpheus/cli/credentials.rb +4 -11
- data/lib/morpheus/cli/environments_command.rb +1 -1
- data/lib/morpheus/cli/execute_schedules_command.rb +3 -3
- data/lib/morpheus/cli/hosts.rb +8 -8
- data/lib/morpheus/cli/image_builder_command.rb +6 -6
- data/lib/morpheus/cli/instance_types.rb +1 -1
- data/lib/morpheus/cli/instances.rb +93 -64
- data/lib/morpheus/cli/integrations_command.rb +567 -1
- data/lib/morpheus/cli/invoices_command.rb +75 -67
- data/lib/morpheus/cli/key_pairs.rb +2 -2
- data/lib/morpheus/cli/library_cluster_layouts_command.rb +2 -3
- data/lib/morpheus/cli/library_container_scripts_command.rb +4 -5
- data/lib/morpheus/cli/library_container_templates_command.rb +5 -1
- data/lib/morpheus/cli/library_container_types_command.rb +8 -9
- data/lib/morpheus/cli/library_instance_types_command.rb +6 -7
- data/lib/morpheus/cli/library_layouts_command.rb +9 -5
- data/lib/morpheus/cli/library_option_lists_command.rb +72 -20
- data/lib/morpheus/cli/library_option_types_command.rb +8 -4
- data/lib/morpheus/cli/library_spec_templates_command.rb +3 -4
- data/lib/morpheus/cli/library_upgrades_command.rb +6 -6
- data/lib/morpheus/cli/license.rb +2 -2
- data/lib/morpheus/cli/load_balancer_types.rb +37 -0
- data/lib/morpheus/cli/load_balancers.rb +149 -314
- data/lib/morpheus/cli/log_settings_command.rb +7 -3
- data/lib/morpheus/cli/login.rb +3 -1
- data/lib/morpheus/cli/mixins/load_balancers_helper.rb +156 -0
- data/lib/morpheus/cli/mixins/print_helper.rb +11 -0
- data/lib/morpheus/cli/mixins/provisioning_helper.rb +2 -2
- data/lib/morpheus/cli/mixins/rest_command.rb +657 -0
- data/lib/morpheus/cli/network_routers_command.rb +1183 -185
- data/lib/morpheus/cli/networks_command.rb +194 -101
- data/lib/morpheus/cli/option_types.rb +34 -40
- data/lib/morpheus/cli/policies_command.rb +0 -1
- data/lib/morpheus/cli/power_schedules_command.rb +3 -3
- data/lib/morpheus/cli/preseed_scripts_command.rb +1 -1
- data/lib/morpheus/cli/remote.rb +1 -1
- data/lib/morpheus/cli/roles.rb +9 -9
- data/lib/morpheus/cli/security_group_rules.rb +1 -1
- data/lib/morpheus/cli/setup.rb +0 -1
- data/lib/morpheus/cli/tenants_command.rb +21 -23
- data/lib/morpheus/cli/user_groups_command.rb +3 -3
- data/lib/morpheus/cli/user_sources_command.rb +3 -3
- data/lib/morpheus/cli/users.rb +3 -3
- data/lib/morpheus/cli/version.rb +1 -1
- data/lib/morpheus/cli/virtual_images.rb +1 -1
- data/lib/morpheus/cli/whoami.rb +0 -15
- data/lib/morpheus/cli/wiki_command.rb +1 -1
- data/lib/morpheus/cli.rb +1 -0
- data/lib/morpheus/ext/string.rb +41 -0
- data/lib/morpheus/formatters.rb +4 -0
- metadata +11 -2
@@ -1,14 +1,8 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::SubnetTypesInterface < Morpheus::APIClient
|
4
|
-
def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
|
5
|
-
@access_token = access_token
|
6
|
-
@refresh_token = refresh_token
|
7
|
-
@base_url = base_url
|
8
|
-
@expires_at = expires_at
|
9
|
-
end
|
10
4
|
|
11
|
-
def get(id, params={})
|
5
|
+
def get(id, params={})
|
12
6
|
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
13
7
|
url = "#{@base_url}/api/subnet-types/#{id}"
|
14
8
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::SubnetsInterface < Morpheus::APIClient
|
4
|
-
def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
|
5
|
-
@access_token = access_token
|
6
|
-
@refresh_token = refresh_token
|
7
|
-
@base_url = base_url
|
8
|
-
@expires_at = expires_at
|
9
|
-
end
|
10
4
|
|
11
5
|
def get(id, params={})
|
12
6
|
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::TaskSetsInterface < Morpheus::APIClient
|
4
|
-
def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
|
5
|
-
@access_token = access_token
|
6
|
-
@refresh_token = refresh_token
|
7
|
-
@base_url = base_url
|
8
|
-
@expires_at = expires_at
|
9
|
-
end
|
10
4
|
|
11
5
|
def list(params={})
|
12
6
|
url = "#{@base_url}/api/task-sets"
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::TasksInterface < Morpheus::APIClient
|
4
|
-
def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
|
5
|
-
@access_token = access_token
|
6
|
-
@refresh_token = refresh_token
|
7
|
-
@base_url = base_url
|
8
|
-
@expires_at = expires_at
|
9
|
-
end
|
10
4
|
|
11
5
|
def list(params={})
|
12
6
|
url = "#{@base_url}/api/tasks"
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::UserGroupsInterface < Morpheus::APIClient
|
4
|
-
def initialize(access_token, refresh_token, expires_at = nil, base_url=nil)
|
5
|
-
@access_token = access_token
|
6
|
-
@refresh_token = refresh_token
|
7
|
-
@base_url = base_url
|
8
|
-
@expires_at = expires_at
|
9
|
-
end
|
10
4
|
|
11
5
|
def get(account_id, id)
|
12
6
|
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::UserSourcesInterface < Morpheus::APIClient
|
4
|
-
def initialize(access_token, refresh_token, expires_at = nil, base_url=nil)
|
5
|
-
@access_token = access_token
|
6
|
-
@refresh_token = refresh_token
|
7
|
-
@base_url = base_url
|
8
|
-
@expires_at = expires_at
|
9
|
-
end
|
10
4
|
|
11
5
|
def get(account_id, id)
|
12
6
|
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::UsersInterface < Morpheus::APIClient
|
4
|
-
def initialize(access_token, refresh_token, expires_at = nil, base_url=nil)
|
5
|
-
@access_token = access_token
|
6
|
-
@refresh_token = refresh_token
|
7
|
-
@base_url = base_url
|
8
|
-
@expires_at = expires_at
|
9
|
-
end
|
10
4
|
|
11
5
|
def get(account_id, id, params={})
|
12
6
|
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
@@ -4,12 +4,6 @@ require 'zlib'
|
|
4
4
|
require 'forwardable'
|
5
5
|
|
6
6
|
class Morpheus::VirtualImagesInterface < Morpheus::APIClient
|
7
|
-
def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
|
8
|
-
@access_token = access_token
|
9
|
-
@refresh_token = refresh_token
|
10
|
-
@base_url = base_url
|
11
|
-
@expires_at = expires_at
|
12
|
-
end
|
13
7
|
|
14
8
|
def virtual_image_types(options={})
|
15
9
|
url = "#{@base_url}/api/virtual-image-types"
|
@@ -1,41 +1,38 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::WhitelabelSettingsInterface < Morpheus::APIClient
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
@base_url = base_url
|
8
|
-
@api_url = "#{base_url}/api/#{api}"
|
9
|
-
@expires_at = expires_at
|
4
|
+
|
5
|
+
def base_path
|
6
|
+
"/api/whitelabel-settings"
|
10
7
|
end
|
11
8
|
|
12
9
|
def get(params={})
|
13
|
-
url =
|
10
|
+
url = base_path
|
14
11
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
15
12
|
execute(method: :get, url: url, headers: headers)
|
16
13
|
end
|
17
14
|
|
18
15
|
def update(payload, params={})
|
19
|
-
url =
|
16
|
+
url = base_path
|
20
17
|
headers = { params: params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
21
18
|
execute(method: :put, url: url, headers: headers, payload: payload.to_json)
|
22
19
|
end
|
23
20
|
|
24
21
|
def update_images(payload, params={})
|
25
|
-
url = "#{
|
22
|
+
url = "#{base_path}/images"
|
26
23
|
headers = { params: params, :authorization => "Bearer #{@access_token}" }
|
27
24
|
payload[:multipart] = true
|
28
25
|
execute(method: :post, url: url, headers: headers, payload: payload)
|
29
26
|
end
|
30
27
|
|
31
28
|
def reset_image(image_type, params={})
|
32
|
-
url = "#{
|
29
|
+
url = "#{base_path}/images/#{image_type}"
|
33
30
|
headers = { params: params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
34
31
|
execute(method: :delete, url: url, headers: headers)
|
35
32
|
end
|
36
33
|
|
37
34
|
def download_image(image_type, outfile, params={})
|
38
|
-
url = "#{
|
35
|
+
url = "#{base_path}/images/#{image_type}"
|
39
36
|
headers = { params: params, :authorization => "Bearer #{@access_token}" }
|
40
37
|
opts = {method: :get, url: url, headers: headers, timeout: 172800}
|
41
38
|
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::WikiInterface < Morpheus::APIClient
|
4
|
-
def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
|
5
|
-
@access_token = access_token
|
6
|
-
@refresh_token = refresh_token
|
7
|
-
@base_url = base_url
|
8
|
-
@expires_at = expires_at
|
9
|
-
end
|
10
4
|
|
11
5
|
def get(id, params={})
|
12
6
|
raise "#{self.class}.get() passed a blank name!" if id.to_s == ''
|
@@ -156,7 +156,7 @@ class Morpheus::Cli::AccessTokenCommand
|
|
156
156
|
end
|
157
157
|
end
|
158
158
|
if options[:dry_run]
|
159
|
-
print_dry_run
|
159
|
+
print_dry_run @api_client.auth.dry.use_refresh_token(refresh_token_value)
|
160
160
|
return 0
|
161
161
|
end
|
162
162
|
unless options[:quiet]
|
@@ -28,11 +28,11 @@ class Morpheus::Cli::AccountGroupsCommand
|
|
28
28
|
|
29
29
|
def connect(opts)
|
30
30
|
@api_client = establish_remote_appliance_connection(opts)
|
31
|
-
@account_groups_interface =
|
32
|
-
@accounts_interface =
|
31
|
+
@account_groups_interface = @api_client.account_groups
|
32
|
+
@accounts_interface = @api_client.accounts
|
33
33
|
|
34
|
-
@groups_interface =
|
35
|
-
@clouds_interface =
|
34
|
+
@groups_interface = @api_client.groups
|
35
|
+
@clouds_interface = @api_client.clouds
|
36
36
|
end
|
37
37
|
|
38
38
|
def handle(args)
|
data/lib/morpheus/cli/apps.rb
CHANGED
@@ -37,15 +37,15 @@ class Morpheus::Cli::Apps
|
|
37
37
|
@api_client = establish_remote_appliance_connection(opts)
|
38
38
|
@accounts_interface = @api_client.accounts
|
39
39
|
@users_interface = @api_client.users
|
40
|
-
@apps_interface =
|
41
|
-
@blueprints_interface =
|
42
|
-
@instance_types_interface =
|
43
|
-
@library_layouts_interface =
|
44
|
-
@instances_interface =
|
45
|
-
@options_interface =
|
46
|
-
@groups_interface =
|
47
|
-
@clouds_interface =
|
48
|
-
@logs_interface =
|
40
|
+
@apps_interface = @api_client.apps
|
41
|
+
@blueprints_interface = @api_client.blueprints
|
42
|
+
@instance_types_interface = @api_client.instance_types
|
43
|
+
@library_layouts_interface = @api_client.library_layouts
|
44
|
+
@instances_interface = @api_client.instances
|
45
|
+
@options_interface = @api_client.options
|
46
|
+
@groups_interface = @api_client.groups
|
47
|
+
@clouds_interface = @api_client.clouds
|
48
|
+
@logs_interface = @api_client.logs
|
49
49
|
@processes_interface = @api_client.processes
|
50
50
|
@active_group_id = Morpheus::Cli::Groups.active_groups[@appliance_name]
|
51
51
|
end
|
@@ -48,9 +48,9 @@ class Morpheus::Cli::ArchivesCommand
|
|
48
48
|
|
49
49
|
def connect(opts)
|
50
50
|
@api_client = establish_remote_appliance_connection(opts)
|
51
|
-
@archive_buckets_interface =
|
52
|
-
@archive_files_interface =
|
53
|
-
@options_interface =
|
51
|
+
@archive_buckets_interface = @api_client.archive_buckets
|
52
|
+
@archive_files_interface = @api_client.archive_files
|
53
|
+
@options_interface = @api_client.options
|
54
54
|
# @active_group_id = Morpheus::Cli::Groups.active_groups[@appliance_name]
|
55
55
|
end
|
56
56
|
|
@@ -979,10 +979,10 @@ class Morpheus::Cli::ArchivesCommand
|
|
979
979
|
|
980
980
|
|
981
981
|
print_h2 "Download URLs"
|
982
|
-
private_download_url = "#{@appliance_url}/api/archives/download/#{
|
982
|
+
private_download_url = "#{@appliance_url}/api/archives/download/#{CGI::escape(bucket_id)}" + "/#{CGI::escape(archive_file['filePath'])}".squeeze('/')
|
983
983
|
public_download_url = nil
|
984
984
|
if archive_file['archiveBucket'] && archive_file['archiveBucket']['isPublic']
|
985
|
-
public_download_url = "#{@appliance_url}/public-archives/download/#{
|
985
|
+
public_download_url = "#{@appliance_url}/public-archives/download/#{CGI::escape(bucket_id)}" + "/#{CGI::escape(archive_file['filePath'])}".squeeze('/')
|
986
986
|
end
|
987
987
|
print cyan
|
988
988
|
puts "Private URL: #{private_download_url}"
|
@@ -29,11 +29,11 @@ class Morpheus::Cli::BlueprintsCommand
|
|
29
29
|
|
30
30
|
def connect(opts)
|
31
31
|
@api_client = establish_remote_appliance_connection(opts)
|
32
|
-
@blueprints_interface =
|
33
|
-
@groups_interface =
|
34
|
-
@instances_interface =
|
35
|
-
@instance_types_interface =
|
36
|
-
@options_interface =
|
32
|
+
@blueprints_interface = @api_client.blueprints
|
33
|
+
@groups_interface = @api_client.groups
|
34
|
+
@instances_interface = @api_client.instances
|
35
|
+
@instance_types_interface = @api_client.instance_types
|
36
|
+
@options_interface = @api_client.options
|
37
37
|
@active_group_id = Morpheus::Cli::Groups.active_groups[@appliance_name]
|
38
38
|
@clouds_interface = @api_client.clouds
|
39
39
|
@users_interface = @api_client.users
|
@@ -24,7 +24,7 @@ class Morpheus::Cli::BootScriptsCommand
|
|
24
24
|
|
25
25
|
def connect(opts)
|
26
26
|
@api_client = establish_remote_appliance_connection(opts)
|
27
|
-
@image_builder_interface =
|
27
|
+
@image_builder_interface = @api_client.image_builder
|
28
28
|
@boot_scripts_interface = @image_builder_interface.boot_scripts
|
29
29
|
end
|
30
30
|
|
@@ -19,10 +19,10 @@ class Morpheus::Cli::ChangePasswordCommand
|
|
19
19
|
|
20
20
|
def connect(opts)
|
21
21
|
@api_client = establish_remote_appliance_connection(opts)
|
22
|
-
@whoami_interface =
|
23
|
-
@users_interface =
|
24
|
-
@accounts_interface =
|
25
|
-
@roles_interface =
|
22
|
+
@whoami_interface = @api_client.whoami
|
23
|
+
@users_interface = @api_client.users
|
24
|
+
@accounts_interface = @api_client.accounts
|
25
|
+
@roles_interface = @api_client.roles
|
26
26
|
end
|
27
27
|
|
28
28
|
def handle(args)
|
@@ -18,11 +18,11 @@ module Morpheus
|
|
18
18
|
# todo: use delegate
|
19
19
|
module CliCommand
|
20
20
|
|
21
|
-
def self.included(
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
Morpheus::Cli::CliRegistry.add(
|
21
|
+
def self.included(base)
|
22
|
+
base.send :include, Morpheus::Cli::PrintHelper
|
23
|
+
base.send :include, Morpheus::Benchmarking::HasBenchmarking
|
24
|
+
base.extend ClassMethods
|
25
|
+
Morpheus::Cli::CliRegistry.add(base, base.command_name)
|
26
26
|
end
|
27
27
|
|
28
28
|
# the beginning of instance variables from optparse !
|
@@ -983,10 +983,11 @@ module Morpheus
|
|
983
983
|
out = ""
|
984
984
|
out << usage.to_s.strip if usage
|
985
985
|
out << "\n"
|
986
|
-
|
986
|
+
my_subcommands = visible_subcommands
|
987
|
+
if !my_subcommands.empty?
|
987
988
|
out << "Commands:"
|
988
989
|
out << "\n"
|
989
|
-
|
990
|
+
my_subcommands.sort.each {|subcmd, method|
|
990
991
|
desc = get_subcommand_description(subcmd)
|
991
992
|
out << "\t#{subcmd.to_s}"
|
992
993
|
out << "\t#{desc}" if desc
|
@@ -1124,6 +1125,7 @@ module Morpheus
|
|
1124
1125
|
if options[:insecure] || appliance[:insecure] || Morpheus::Cli::Shell.insecure
|
1125
1126
|
allow_insecure = true
|
1126
1127
|
end
|
1128
|
+
@verify_ssl = !allow_insecure
|
1127
1129
|
# Morpheus::RestClient.enable_ssl_verification = allow_insecure != true
|
1128
1130
|
if allow_insecure && Morpheus::RestClient.ssl_verification_enabled?
|
1129
1131
|
Morpheus::RestClient.enable_ssl_verification = false
|
@@ -1189,7 +1191,7 @@ module Morpheus
|
|
1189
1191
|
end
|
1190
1192
|
|
1191
1193
|
# ok, connect to the appliance.. actually this just instantiates an ApiClient
|
1192
|
-
api_client = Morpheus::APIClient.new(@access_token,nil,nil, @appliance_url)
|
1194
|
+
api_client = Morpheus::APIClient.new(@access_token,nil,nil, @appliance_url, @verify_ssl)
|
1193
1195
|
@api_client = api_client # meh, just return w/o setting instance attrs
|
1194
1196
|
return api_client
|
1195
1197
|
end
|
@@ -1526,8 +1528,7 @@ module Morpheus
|
|
1526
1528
|
cmds = subcommands.clone
|
1527
1529
|
if @hidden_subcommands && !@hidden_subcommands.empty?
|
1528
1530
|
@hidden_subcommands.each do |hidden_cmd|
|
1529
|
-
cmds.delete(hidden_cmd.to_s)
|
1530
|
-
cmds.delete(hidden_cmd.to_sym)
|
1531
|
+
cmds.delete(hidden_cmd.to_s.gsub('_', '-'))
|
1531
1532
|
end
|
1532
1533
|
end
|
1533
1534
|
cmds
|
data/lib/morpheus/cli/clouds.rb
CHANGED
@@ -24,8 +24,8 @@ class Morpheus::Cli::Clouds
|
|
24
24
|
|
25
25
|
def connect(opts)
|
26
26
|
@api_client = establish_remote_appliance_connection(opts)
|
27
|
-
@clouds_interface =
|
28
|
-
@groups_interface =
|
27
|
+
@clouds_interface = @api_client.clouds
|
28
|
+
@groups_interface = @api_client.groups
|
29
29
|
@active_group_id = Morpheus::Cli::Groups.active_groups[@appliance_name]
|
30
30
|
# preload stuff
|
31
31
|
get_available_cloud_types()
|
@@ -45,8 +45,8 @@ class Morpheus::Cli::Clusters
|
|
45
45
|
@provision_types_interface = @api_client.provision_types
|
46
46
|
@service_plans_interface = @api_client.service_plans
|
47
47
|
@user_groups_interface = @api_client.user_groups
|
48
|
-
@accounts_interface =
|
49
|
-
@logs_interface =
|
48
|
+
@accounts_interface = @api_client.accounts
|
49
|
+
@logs_interface = @api_client.logs
|
50
50
|
#@active_security_group = ::Morpheus::Cli::SecurityGroups.load_security_group_file
|
51
51
|
end
|
52
52
|
|
@@ -56,8 +56,7 @@ module Morpheus
|
|
56
56
|
# OR whoami should return other wallet info like access token or maybe just the expiration date
|
57
57
|
# for now, it just stores the access token without other wallet info
|
58
58
|
begin
|
59
|
-
|
60
|
-
whoami_interface = Morpheus::WhoamiInterface.new({url: @appliance_url, access_token: options[:remote_token]})
|
59
|
+
whoami_interface = Morpheus::WhoamiInterface.new({url: @appliance_url, access_token: options[:remote_token], verify_ssl: !options[:insecure]})
|
61
60
|
whoami_interface.setopts(options)
|
62
61
|
if options[:dry_run]
|
63
62
|
print_dry_run whoami_interface.dry.get()
|
@@ -104,13 +103,7 @@ module Morpheus
|
|
104
103
|
end
|
105
104
|
if wallet.nil?
|
106
105
|
unless options[:quiet] || options[:no_prompt]
|
107
|
-
#
|
108
|
-
if options[:test_only]
|
109
|
-
print "Test Morpheus Credentials for #{display_appliance(@appliance_name, @appliance_url)}", "\n", reset
|
110
|
-
else
|
111
|
-
print "Enter Morpheus Credentials for #{display_appliance(@appliance_name, @appliance_url)}", "\n", reset
|
112
|
-
end
|
113
|
-
# end
|
106
|
+
print "Enter Morpheus Credentials for #{display_appliance(@appliance_name, @appliance_url)}", "\n", reset
|
114
107
|
if options[:client_id].empty?
|
115
108
|
# print "Client ID: #{required_blue_prompt} #{options[:client_id]}", "\n", reset
|
116
109
|
else
|
@@ -138,7 +131,7 @@ module Morpheus
|
|
138
131
|
return nil
|
139
132
|
end
|
140
133
|
begin
|
141
|
-
auth_interface = Morpheus::AuthInterface.new({url:@appliance_url, client_id: options[:client_id]})
|
134
|
+
auth_interface = Morpheus::AuthInterface.new({url:@appliance_url, client_id: options[:client_id], verify_ssl: !options[:insecure]})
|
142
135
|
auth_interface.setopts(options)
|
143
136
|
if options[:dry_run]
|
144
137
|
print_dry_run auth_interface.dry.login(username, password)
|
@@ -276,7 +269,7 @@ module Morpheus
|
|
276
269
|
username = wallet['username']
|
277
270
|
|
278
271
|
begin
|
279
|
-
auth_interface = Morpheus::AuthInterface.new({url:@appliance_url})
|
272
|
+
auth_interface = Morpheus::AuthInterface.new({url:@appliance_url, client_id: options[:client_id], verify_ssl: !options[:insecure]})
|
280
273
|
auth_interface.setopts(options)
|
281
274
|
if options[:dry_run]
|
282
275
|
print_dry_run auth_interface.dry.use_refresh_token(refresh_token_value)
|
@@ -16,7 +16,7 @@ class Morpheus::Cli::EnvironmentsCommand
|
|
16
16
|
|
17
17
|
def connect(opts)
|
18
18
|
@api_client = establish_remote_appliance_connection(opts)
|
19
|
-
@environments_interface =
|
19
|
+
@environments_interface = @api_client.environments
|
20
20
|
end
|
21
21
|
|
22
22
|
def handle(args)
|
@@ -13,9 +13,9 @@ class Morpheus::Cli::ExecuteSchedulesCommand
|
|
13
13
|
|
14
14
|
def connect(opts)
|
15
15
|
@api_client = establish_remote_appliance_connection(opts)
|
16
|
-
@execute_schedules_interface =
|
17
|
-
@instances_interface =
|
18
|
-
@servers_interface =
|
16
|
+
@execute_schedules_interface = @api_client.execute_schedules
|
17
|
+
@instances_interface = @api_client.instances
|
18
|
+
@servers_interface = @api_client.servers
|
19
19
|
end
|
20
20
|
|
21
21
|
def handle(args)
|