morpheus-cli 5.3.1 → 5.3.1.1
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 +1 -7
- data/lib/morpheus/api/api_client.rb +108 -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_balancers_interface.rb +0 -6
- 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 +0 -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 +0 -6
- 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/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 +2 -1
- 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 +54 -27
- 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_container_scripts_command.rb +1 -1
- data/lib/morpheus/cli/library_container_templates_command.rb +1 -1
- data/lib/morpheus/cli/library_container_types_command.rb +6 -6
- data/lib/morpheus/cli/library_instance_types_command.rb +4 -4
- data/lib/morpheus/cli/library_layouts_command.rb +5 -5
- data/lib/morpheus/cli/library_option_lists_command.rb +4 -4
- data/lib/morpheus/cli/library_option_types_command.rb +4 -4
- data/lib/morpheus/cli/library_upgrades_command.rb +6 -6
- data/lib/morpheus/cli/license.rb +2 -2
- data/lib/morpheus/cli/load_balancers.rb +1 -1
- data/lib/morpheus/cli/login.rb +3 -1
- data/lib/morpheus/cli/mixins/provisioning_helper.rb +1 -1
- data/lib/morpheus/cli/option_types.rb +5 -1
- 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 +3 -3
- 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
- metadata +2 -2
@@ -1,28 +1,25 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::ApplianceSettingsInterface < 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/appliance-settings"
|
10
7
|
end
|
11
8
|
|
12
9
|
def get()
|
13
|
-
url =
|
10
|
+
url = base_path
|
14
11
|
headers = { params: {}, authorization: "Bearer #{@access_token}" }
|
15
12
|
execute(method: :get, url: url, headers: headers)
|
16
13
|
end
|
17
14
|
|
18
15
|
def update(payload)
|
19
|
-
url =
|
16
|
+
url = base_path
|
20
17
|
headers = { :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 cloud_types(params={})
|
25
|
-
url = "#{
|
22
|
+
url = "#{base_path}/zone-types"
|
26
23
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
27
24
|
opts = {method: :get, url: url, headers: headers}
|
28
25
|
execute(opts)
|
@@ -1,22 +1,19 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::ApprovalsInterface < 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/approvals"
|
10
7
|
end
|
11
8
|
|
12
9
|
def list(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 get(id, params={})
|
19
|
-
url = "#{
|
16
|
+
url = "#{base_path}/#{id}"
|
20
17
|
headers = { params: {}, authorization: "Bearer #{@access_token}" }
|
21
18
|
execute(method: :get, url: url, headers: headers)
|
22
19
|
end
|
@@ -1,13 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::AppsInterface < 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
|
-
|
11
4
|
|
12
5
|
def get(params={})
|
13
6
|
url = "#{@base_url}/api/apps"
|
@@ -1,17 +1,10 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
|
-
require 'uri'
|
3
2
|
|
4
3
|
class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
|
5
|
-
|
6
|
-
@access_token = access_token
|
7
|
-
@refresh_token = refresh_token
|
8
|
-
@base_url = base_url
|
9
|
-
@expires_at = expires_at
|
10
|
-
end
|
11
|
-
|
4
|
+
|
12
5
|
def get(id, params={})
|
13
6
|
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
14
|
-
url = "#{@base_url}/api/archives/buckets/#{
|
7
|
+
url = "#{@base_url}/api/archives/buckets/#{CGI::escape(id)}"
|
15
8
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
16
9
|
opts = {method: :get, url: url, headers: headers}
|
17
10
|
execute(opts)
|
@@ -32,14 +25,14 @@ class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
|
|
32
25
|
end
|
33
26
|
|
34
27
|
def update(id, payload)
|
35
|
-
url = "#{@base_url}/api/archives/buckets/#{
|
28
|
+
url = "#{@base_url}/api/archives/buckets/#{CGI::escape(id.to_s)}"
|
36
29
|
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
37
30
|
opts = {method: :put, url: url, headers: headers, payload: payload.to_json}
|
38
31
|
execute(opts)
|
39
32
|
end
|
40
33
|
|
41
34
|
def destroy(id, params={})
|
42
|
-
url = "#{@base_url}/api/archives/buckets/#{
|
35
|
+
url = "#{@base_url}/api/archives/buckets/#{CGI::escape(id.to_s)}"
|
43
36
|
headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
44
37
|
opts = {method: :delete, url: url, headers: headers}
|
45
38
|
execute(opts)
|
@@ -49,7 +42,7 @@ class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
|
|
49
42
|
if file_path.to_s.strip == "/"
|
50
43
|
file_path = ""
|
51
44
|
end
|
52
|
-
url = "#{@base_url}/api/archives/buckets/#{
|
45
|
+
url = "#{@base_url}/api/archives/buckets/#{CGI::escape(id.to_s)}" + "/files/#{CGI::escape(file_path)}".squeeze('/')
|
53
46
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
54
47
|
opts = {method: :get, url: url, headers: headers}
|
55
48
|
execute(opts)
|
@@ -68,13 +61,13 @@ class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
|
|
68
61
|
end
|
69
62
|
path_chunks = path.split("/")
|
70
63
|
filename = path_chunks.pop
|
71
|
-
safe_dirname = path_chunks.collect {|it|
|
64
|
+
safe_dirname = path_chunks.collect {|it| CGI::escape(it) }.join("/")
|
72
65
|
# filename = File.basename(destination)
|
73
66
|
# dirname = File.dirname(destination)
|
74
67
|
# if filename == "" || filename == "/"
|
75
68
|
# filename = File.basename(local_file)
|
76
69
|
# end
|
77
|
-
url = "#{@base_url}/api/archives/buckets/#{
|
70
|
+
url = "#{@base_url}/api/archives/buckets/#{CGI::escape(bucket_id.to_s)}" + "/files/#{safe_dirname}".squeeze('/')
|
78
71
|
headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/octet-stream'}
|
79
72
|
headers[:params][:filename] = filename # File.basename(destination)
|
80
73
|
if !local_file.kind_of?(File)
|
@@ -86,7 +79,7 @@ class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
|
|
86
79
|
end
|
87
80
|
|
88
81
|
def download_bucket_zip_chunked(bucket_id, outfile, params={})
|
89
|
-
url = "#{@base_url}/api/archives/buckets/#{
|
82
|
+
url = "#{@base_url}/api/archives/buckets/#{CGI::escape(bucket_id.to_s)}" + ".zip"
|
90
83
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
91
84
|
opts = {method: :get, url: url, headers: headers, timeout: 172800}
|
92
85
|
# execute(opts, {parse_json:false})
|
@@ -114,7 +107,7 @@ class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
|
|
114
107
|
end
|
115
108
|
|
116
109
|
def recalc(id, params={})
|
117
|
-
url = "#{@base_url}/api/archives/buckets/#{
|
110
|
+
url = "#{@base_url}/api/archives/buckets/#{CGI::escape(id.to_s)}/recalc"
|
118
111
|
headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
119
112
|
opts = {method: :get, url: url, headers: headers, payload: payload.to_json}
|
120
113
|
execute(opts)
|
@@ -1,11 +1,5 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
class Morpheus::ArchiveFilesInterface < Morpheus::APIClient
|
3
|
-
def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
|
4
|
-
@access_token = access_token
|
5
|
-
@refresh_token = refresh_token
|
6
|
-
@base_url = base_url
|
7
|
-
@expires_at = expires_at
|
8
|
-
end
|
9
3
|
|
10
4
|
def get(file_id, params={})
|
11
5
|
raise "#{self.class}.get() passed a blank id!" if file_id.to_s == ''
|
@@ -2,10 +2,10 @@ require 'morpheus/api/api_client'
|
|
2
2
|
|
3
3
|
class Morpheus::AuthInterface < Morpheus::APIClient
|
4
4
|
|
5
|
-
#
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
# no Authorization header is required
|
6
|
+
def authorization_required?
|
7
|
+
false
|
8
|
+
end
|
9
9
|
|
10
10
|
def login(username, password, use_client_id=nil)
|
11
11
|
if use_client_id
|
@@ -1,22 +1,19 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::BackupSettingsInterface < 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/backup-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
|
@@ -1,13 +1,7 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::BlueprintsInterface < Morpheus::APIClient
|
4
|
-
|
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)
|
12
6
|
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
13
7
|
url = "#{@base_url}/api/blueprints/#{id}"
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::BudgetsInterface < 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 == ''
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::CloudDatastoresInterface < 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(cloud_id, id, params={})
|
12
6
|
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
@@ -1,13 +1,7 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::CloudFoldersInterface < Morpheus::APIClient
|
4
|
-
|
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(cloud_id, id, params={})
|
12
6
|
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
13
7
|
url = "#{@base_url}/api/zones/#{cloud_id}/folders/#{id}"
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::CloudPoliciesInterface < 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(cloud_id, 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::CloudResourcePoolsInterface < 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(cloud_id, 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::CloudsInterface < 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 cloud_types(params={})
|
12
6
|
url = "#{@base_url}/api/zone-types"
|
@@ -1,28 +1,25 @@
|
|
1
1
|
require 'morpheus/api/api_client'
|
2
2
|
|
3
3
|
class Morpheus::ClustersInterface < 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/clusters"
|
10
7
|
end
|
11
8
|
|
12
9
|
def list(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 get(params={})
|
19
|
-
url =
|
16
|
+
url = base_path
|
20
17
|
headers = { params: {}, authorization: "Bearer #{@access_token}" }
|
21
18
|
|
22
19
|
if params.is_a?(Hash)
|
23
20
|
headers[:params].merge!(params)
|
24
21
|
elsif params.is_a?(Numeric)
|
25
|
-
url = "#{
|
22
|
+
url = "#{base_path}/#{params}"
|
26
23
|
elsif params.is_a?(String)
|
27
24
|
headers[:params]['name'] = params
|
28
25
|
end
|
@@ -30,19 +27,19 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
30
27
|
end
|
31
28
|
|
32
29
|
def create(payload)
|
33
|
-
url =
|
30
|
+
url = base_path
|
34
31
|
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
35
32
|
execute(method: :post, url: url, headers: headers, payload: payload.to_json)
|
36
33
|
end
|
37
34
|
|
38
35
|
def update(id, payload)
|
39
|
-
url = "#{
|
36
|
+
url = "#{base_path}/#{id}"
|
40
37
|
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
41
38
|
execute(method: :put, url: url, headers: headers, payload: payload.to_json)
|
42
39
|
end
|
43
40
|
|
44
41
|
def destroy(id, params={})
|
45
|
-
url = "#{
|
42
|
+
url = "#{base_path}/#{id}"
|
46
43
|
headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
47
44
|
execute(method: :delete, url: url, headers: headers)
|
48
45
|
end
|
@@ -57,13 +54,13 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
57
54
|
end
|
58
55
|
|
59
56
|
def update_permissions(id, payload)
|
60
|
-
url = "#{
|
57
|
+
url = "#{base_path}/#{id}/permissions"
|
61
58
|
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
62
59
|
execute(method: :put, url: url, headers: headers, payload: payload.to_json)
|
63
60
|
end
|
64
61
|
|
65
62
|
def list_jobs(id, params={})
|
66
|
-
url = "#{
|
63
|
+
url = "#{base_path}/#{id}/jobs"
|
67
64
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
68
65
|
execute(method: :get, url: url, headers: headers)
|
69
66
|
end
|
@@ -71,10 +68,10 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
71
68
|
def destroy_job(id, job_id=nil, params={}, payload={})
|
72
69
|
url = nil
|
73
70
|
if job_id.is_a?(Array)
|
74
|
-
url = "#{
|
71
|
+
url = "#{base_path}/#{id}/jobs"
|
75
72
|
params['jobId'] = job_id
|
76
73
|
elsif job_id.is_a?(Numeric) || job_id.is_a?(String)
|
77
|
-
url = "#{
|
74
|
+
url = "#{base_path}/#{id}/jobs/#{job_id}"
|
78
75
|
else
|
79
76
|
raise "passed a bad volume_id: #{job_id || '(none)'}" # lazy
|
80
77
|
end
|
@@ -83,19 +80,19 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
83
80
|
end
|
84
81
|
|
85
82
|
def list_masters(id, params={})
|
86
|
-
url = "#{
|
83
|
+
url = "#{base_path}/#{id}/masters"
|
87
84
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
88
85
|
execute(method: :get, url: url, headers: headers)
|
89
86
|
end
|
90
87
|
|
91
88
|
def list_workers(id, params={})
|
92
|
-
url = "#{
|
89
|
+
url = "#{base_path}/#{id}/workers"
|
93
90
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
94
91
|
execute(method: :get, url: url, headers: headers)
|
95
92
|
end
|
96
93
|
|
97
94
|
def list_services(id, params={})
|
98
|
-
url = "#{
|
95
|
+
url = "#{base_path}/#{id}/services"
|
99
96
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
100
97
|
execute(method: :get, url: url, headers: headers)
|
101
98
|
end
|
@@ -104,10 +101,10 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
104
101
|
def destroy_service(id, service_id=nil, params={}, payload={})
|
105
102
|
url = nil
|
106
103
|
if service_id.is_a?(Array)
|
107
|
-
url = "#{
|
104
|
+
url = "#{base_path}/#{id}/services"
|
108
105
|
params['serviceId'] = service_id
|
109
106
|
elsif service_id.is_a?(Numeric) || service_id.is_a?(String)
|
110
|
-
url = "#{
|
107
|
+
url = "#{base_path}/#{id}/services/#{service_id}"
|
111
108
|
else
|
112
109
|
raise "passed a bad volume_id: #{service_id || '(none)'}" # lazy
|
113
110
|
end
|
@@ -116,13 +113,13 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
116
113
|
end
|
117
114
|
|
118
115
|
def add_server(id, payload)
|
119
|
-
url = "#{
|
116
|
+
url = "#{base_path}/#{id}/servers"
|
120
117
|
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
121
118
|
execute(method: :post, url: url, headers: headers, payload: payload.to_json)
|
122
119
|
end
|
123
120
|
|
124
121
|
def list_volumes(id, params={})
|
125
|
-
url = "#{
|
122
|
+
url = "#{base_path}/#{id}/volumes"
|
126
123
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
127
124
|
execute(method: :get, url: url, headers: headers)
|
128
125
|
end
|
@@ -131,10 +128,10 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
131
128
|
def destroy_volume(id, volume_id=nil, params={}, payload={})
|
132
129
|
url = nil
|
133
130
|
if volume_id.is_a?(Array)
|
134
|
-
url = "#{
|
131
|
+
url = "#{base_path}/#{id}/volumes"
|
135
132
|
params['volumeId'] = volume_id
|
136
133
|
elsif volume_id.is_a?(Numeric) || volume_id.is_a?(String)
|
137
|
-
url = "#{
|
134
|
+
url = "#{base_path}/#{id}/volumes/#{volume_id}"
|
138
135
|
else
|
139
136
|
raise "passed a bad volume_id: #{volume_id || '(none)'}" # lazy
|
140
137
|
end
|
@@ -145,31 +142,31 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
145
142
|
alias :delete_volume :destroy_volume
|
146
143
|
|
147
144
|
def list_namespaces(id, params={})
|
148
|
-
url = "#{
|
145
|
+
url = "#{base_path}/#{id}/namespaces"
|
149
146
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
150
147
|
execute(method: :get, url: url, headers: headers)
|
151
148
|
end
|
152
149
|
|
153
150
|
def get_namespace(id, namespace_id, params={})
|
154
|
-
url = "#{
|
151
|
+
url = "#{base_path}/#{id}/namespaces/#{namespace_id}"
|
155
152
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
156
153
|
execute(method: :get, url: url, headers: headers)
|
157
154
|
end
|
158
155
|
|
159
156
|
def create_namespace(id, payload)
|
160
|
-
url = "#{
|
157
|
+
url = "#{base_path}/#{id}/namespaces"
|
161
158
|
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
162
159
|
execute(method: :post, url: url, headers: headers, payload: payload.to_json)
|
163
160
|
end
|
164
161
|
|
165
162
|
def update_namespace(id, namespace_id, payload)
|
166
|
-
url = "#{
|
163
|
+
url = "#{base_path}/#{id}/namespaces/#{namespace_id}"
|
167
164
|
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
168
165
|
execute(method: :put, url: url, headers: headers, payload: payload.to_json)
|
169
166
|
end
|
170
167
|
|
171
168
|
def destroy_namespace(id, namespace_id, params={})
|
172
|
-
url = "#{
|
169
|
+
url = "#{base_path}/#{id}/namespaces/#{namespace_id}"
|
173
170
|
headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
174
171
|
execute(method: :delete, url: url, headers: headers)
|
175
172
|
end
|
@@ -177,23 +174,23 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
177
174
|
alias :delete_namespace :destroy_namespace
|
178
175
|
|
179
176
|
def list_containers(id, params={})
|
180
|
-
url = "#{
|
177
|
+
url = "#{base_path}/#{id}/containers"
|
181
178
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
182
179
|
execute(method: :get, url: url, headers: headers)
|
183
180
|
end
|
184
181
|
|
185
182
|
def restart_container(id, container_id, params={})
|
186
|
-
url = "#{
|
183
|
+
url = "#{base_path}/#{id}/containers/#{container_id}/restart"
|
187
184
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
188
185
|
execute(method: :put, url: url, headers: headers)
|
189
186
|
end
|
190
187
|
|
191
188
|
def destroy_container(id, container_id, params={})
|
192
189
|
if container_id.is_a?(Array)
|
193
|
-
url = "#{
|
190
|
+
url = "#{base_path}/#{id}/containers"
|
194
191
|
params['containerId'] = container_id
|
195
192
|
elsif container_id.is_a?(Numeric) || container_id.is_a?(String)
|
196
|
-
url = "#{
|
193
|
+
url = "#{base_path}/#{id}/containers/#{container_id}"
|
197
194
|
else
|
198
195
|
raise "passed a bad container_id: #{container_id || '(none)'}" # lazy
|
199
196
|
end
|
@@ -202,23 +199,23 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
202
199
|
end
|
203
200
|
|
204
201
|
def list_container_groups(id, resource_type, params={})
|
205
|
-
url = "#{
|
202
|
+
url = "#{base_path}/#{id}/#{resource_type}s"
|
206
203
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
207
204
|
execute(method: :get, url: url, headers: headers)
|
208
205
|
end
|
209
206
|
|
210
207
|
def restart_container_group(id, container_group_id, resource_type, params={})
|
211
|
-
url = "#{
|
208
|
+
url = "#{base_path}/#{id}/#{resource_type}s/#{container_group_id}/restart"
|
212
209
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
213
210
|
execute(method: :put, url: url, headers: headers)
|
214
211
|
end
|
215
212
|
|
216
213
|
def destroy_container_group(id, container_group_id, resource_type, params={})
|
217
214
|
if container_group_id.is_a?(Array)
|
218
|
-
url = "#{
|
215
|
+
url = "#{base_path}/#{id}/#{resource_type}s"
|
219
216
|
params['containerGroupId'] = container_group_id
|
220
217
|
elsif container_group_id.is_a?(Numeric) || container_group_id.is_a?(String)
|
221
|
-
url = "#{
|
218
|
+
url = "#{base_path}/#{id}/#{resource_type}s/#{container_group_id}"
|
222
219
|
else
|
223
220
|
raise "passed a bad container_group_id: #{container_group_id || '(none)'}" # lazy
|
224
221
|
end
|
@@ -227,19 +224,19 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
227
224
|
end
|
228
225
|
|
229
226
|
def list_datastores(id, params={})
|
230
|
-
url = "#{
|
227
|
+
url = "#{base_path}/#{id}/datastores"
|
231
228
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
232
229
|
execute(method: :get, url: url, headers: headers)
|
233
230
|
end
|
234
231
|
|
235
232
|
def get_datastore(id, datastore_id, params={})
|
236
|
-
url = "#{
|
233
|
+
url = "#{base_path}/#{id}/datastores/#{datastore_id}"
|
237
234
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
238
235
|
execute(method: :get, url: url, headers: headers)
|
239
236
|
end
|
240
237
|
|
241
238
|
def update_datastore(id, datastore_id, payload)
|
242
|
-
url = "#{
|
239
|
+
url = "#{base_path}/#{id}/datastores/#{datastore_id}"
|
243
240
|
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
244
241
|
execute(method: :put, url: url, headers: headers, payload: payload.to_json)
|
245
242
|
end
|
@@ -259,7 +256,7 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
|
|
259
256
|
end
|
260
257
|
|
261
258
|
def api_config(id, params={})
|
262
|
-
url = "#{
|
259
|
+
url = "#{base_path}/#{id}/api-config"
|
263
260
|
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
264
261
|
execute(method: :get, url: url, headers: headers)
|
265
262
|
end
|