morpheus-cli 2.12.5 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Dockerfile +5 -0
- data/lib/morpheus/api/api_client.rb +15 -30
- data/lib/morpheus/api/app_templates_interface.rb +34 -7
- data/lib/morpheus/api/apps_interface.rb +20 -1
- data/lib/morpheus/api/archive_buckets_interface.rb +124 -0
- data/lib/morpheus/api/archive_files_interface.rb +182 -0
- data/lib/morpheus/api/{network_pools_interface.rb → image_builder_boot_scripts_interface.rb} +6 -6
- data/lib/morpheus/api/{policies_interface.rb → image_builder_image_builds_interface.rb} +20 -15
- data/lib/morpheus/api/image_builder_interface.rb +26 -0
- data/lib/morpheus/api/{network_proxies_interface.rb → image_builder_preseed_scripts_interface.rb} +6 -6
- data/lib/morpheus/cli.rb +10 -9
- data/lib/morpheus/cli/alias_command.rb +10 -9
- data/lib/morpheus/cli/app_templates.rb +1566 -457
- data/lib/morpheus/cli/apps.rb +284 -108
- data/lib/morpheus/cli/archives_command.rb +2184 -0
- data/lib/morpheus/cli/boot_scripts_command.rb +382 -0
- data/lib/morpheus/cli/cli_command.rb +9 -35
- data/lib/morpheus/cli/error_handler.rb +2 -0
- data/lib/morpheus/cli/hosts.rb +15 -3
- data/lib/morpheus/cli/image_builder_command.rb +1208 -0
- data/lib/morpheus/cli/instances.rb +118 -47
- data/lib/morpheus/cli/man_command.rb +27 -24
- data/lib/morpheus/cli/mixins/print_helper.rb +19 -5
- data/lib/morpheus/cli/mixins/provisioning_helper.rb +20 -20
- data/lib/morpheus/cli/option_types.rb +45 -14
- data/lib/morpheus/cli/preseed_scripts_command.rb +381 -0
- data/lib/morpheus/cli/remote.rb +1 -0
- data/lib/morpheus/cli/roles.rb +2 -2
- data/lib/morpheus/cli/shell.rb +3 -2
- data/lib/morpheus/cli/version.rb +1 -1
- data/lib/morpheus/ext/hash.rb +22 -0
- data/lib/morpheus/formatters.rb +33 -0
- data/lib/morpheus/terminal.rb +1 -1
- metadata +13 -21
- data/lib/morpheus/api/cloud_policies_interface.rb +0 -47
- data/lib/morpheus/api/group_policies_interface.rb +0 -47
- data/lib/morpheus/api/network_domains_interface.rb +0 -47
- data/lib/morpheus/api/network_groups_interface.rb +0 -47
- data/lib/morpheus/api/network_pool_servers_interface.rb +0 -47
- data/lib/morpheus/api/network_services_interface.rb +0 -47
- data/lib/morpheus/api/networks_interface.rb +0 -54
- data/lib/morpheus/cli/network_domains_command.rb +0 -571
- data/lib/morpheus/cli/network_groups_command.rb +0 -602
- data/lib/morpheus/cli/network_pool_servers_command.rb +0 -430
- data/lib/morpheus/cli/network_pools_command.rb +0 -495
- data/lib/morpheus/cli/network_proxies_command.rb +0 -594
- data/lib/morpheus/cli/network_services_command.rb +0 -148
- data/lib/morpheus/cli/networks_command.rb +0 -855
- data/lib/morpheus/cli/policies_command.rb +0 -847
- data/scripts/generate_morpheus_commands_help.morpheus +0 -1313
data/lib/morpheus/cli/remote.rb
CHANGED
@@ -388,6 +388,7 @@ EOT
|
|
388
388
|
opts.footer = "This can be used to update remote appliance settings.\n"
|
389
389
|
end
|
390
390
|
optparse.parse!(args)
|
391
|
+
puts "args is #{args.inspect}"
|
391
392
|
if args.count != 1
|
392
393
|
print_error Morpheus::Terminal.angry_prompt
|
393
394
|
puts_error "#{command_name} update expects argument [name]."
|
data/lib/morpheus/cli/roles.rb
CHANGED
@@ -463,10 +463,10 @@ class Morpheus::Cli::Roles
|
|
463
463
|
end
|
464
464
|
|
465
465
|
def update_feature_access(args)
|
466
|
-
usage = "Usage: morpheus roles update-feature-access [name] [code] [full|read|
|
466
|
+
usage = "Usage: morpheus roles update-feature-access [name] [code] [full|read|none]"
|
467
467
|
options = {}
|
468
468
|
optparse = OptionParser.new do|opts|
|
469
|
-
opts.banner = subcommand_usage("[name] [code] [full|read|
|
469
|
+
opts.banner = subcommand_usage("[name] [code] [full|read|none]")
|
470
470
|
build_common_options(opts, options, [:json, :dry_run])
|
471
471
|
end
|
472
472
|
optparse.parse!(args)
|
data/lib/morpheus/cli/shell.rb
CHANGED
@@ -215,6 +215,9 @@ class Morpheus::Cli::Shell
|
|
215
215
|
puts "For more information, see https://github.com/gomorpheus/morpheus-cli/wiki"
|
216
216
|
#print "\n"
|
217
217
|
return 0
|
218
|
+
elsif input =~ /^\s*#/
|
219
|
+
Morpheus::Logging::DarkPrinter.puts "comment ignored" if Morpheus::Logging.debug?
|
220
|
+
return 0
|
218
221
|
elsif input =~ /^sleep/
|
219
222
|
sleep_sec = input.sub("sleep ", "").to_f
|
220
223
|
if (!(sleep_sec > 0))
|
@@ -374,8 +377,6 @@ class Morpheus::Cli::Shell
|
|
374
377
|
puts_error "#{Morpheus::Terminal.angry_prompt}'#{cmd_name}' is not a morpheus command. Use 'help' to see the list of available commands."
|
375
378
|
@history_logger.warn "Unrecognized Command #{cmd_name}" if @history_logger
|
376
379
|
end
|
377
|
-
# rescue ArgumentError
|
378
|
-
# puts "Argument Syntax Error..."
|
379
380
|
rescue Interrupt
|
380
381
|
# nothing to do
|
381
382
|
@history_logger.warn "shell interrupt" if @history_logger
|
data/lib/morpheus/cli/version.rb
CHANGED
data/lib/morpheus/ext/hash.rb
CHANGED
@@ -39,4 +39,26 @@ class Hash
|
|
39
39
|
|
40
40
|
self
|
41
41
|
end
|
42
|
+
|
43
|
+
def deep_compact!
|
44
|
+
self.each_pair do |k, v|
|
45
|
+
if v.is_a?(Hash)
|
46
|
+
self[k].deep_compact!
|
47
|
+
elsif v.is_a?(Array)
|
48
|
+
self[k].each do |it|
|
49
|
+
if it.is_a?(Hash)
|
50
|
+
it.deep_compact!
|
51
|
+
elsif self[k] == nil || self[k] == ''
|
52
|
+
# meh, preserve 'empty' array elements
|
53
|
+
end
|
54
|
+
end
|
55
|
+
else
|
56
|
+
if self[k] == nil || self[k] == ''
|
57
|
+
self.delete(k)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
self
|
62
|
+
end
|
63
|
+
|
42
64
|
end
|
data/lib/morpheus/formatters.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'time'
|
2
|
+
require 'filesize'
|
2
3
|
|
3
4
|
DEFAULT_TIME_FORMAT = "%x %I:%M %p %Z"
|
4
5
|
|
@@ -241,3 +242,35 @@ def filter_data(data, include_fields=nil, exclude_fields=nil)
|
|
241
242
|
return data # .clone
|
242
243
|
end
|
243
244
|
end
|
245
|
+
|
246
|
+
def format_bytes(bytes)
|
247
|
+
out = ""
|
248
|
+
if bytes
|
249
|
+
if bytes < 1024
|
250
|
+
out = "#{bytes.to_i} B"
|
251
|
+
else
|
252
|
+
out = Filesize.from("#{bytes} B").pretty.strip
|
253
|
+
end
|
254
|
+
end
|
255
|
+
return out
|
256
|
+
end
|
257
|
+
|
258
|
+
# returns bytes in an abbreviated format
|
259
|
+
# eg. 3.1K instead of 3.10 KiB
|
260
|
+
def format_bytes_short(bytes)
|
261
|
+
out = format_bytes(bytes)
|
262
|
+
if out.include?(" ")
|
263
|
+
val, units = out.split(" ")
|
264
|
+
val = val.to_f
|
265
|
+
# round to 0 or 1 decimal point
|
266
|
+
if val % 1 == 0
|
267
|
+
val = val.round(0).to_s
|
268
|
+
else
|
269
|
+
val = val.round(1).to_s
|
270
|
+
end
|
271
|
+
# K instead of KiB
|
272
|
+
units = units[0].chr
|
273
|
+
out = "#{val}#{units}"
|
274
|
+
end
|
275
|
+
return out
|
276
|
+
end
|
data/lib/morpheus/terminal.rb
CHANGED
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:
|
4
|
+
version: 3.1.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: 2017-
|
14
|
+
date: 2017-11-09 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|
@@ -135,6 +135,7 @@ extensions: []
|
|
135
135
|
extra_rdoc_files: []
|
136
136
|
files:
|
137
137
|
- ".gitignore"
|
138
|
+
- Dockerfile
|
138
139
|
- Gemfile
|
139
140
|
- LICENSE.txt
|
140
141
|
- README.md
|
@@ -144,17 +145,21 @@ files:
|
|
144
145
|
- lib/morpheus/api/api_client.rb
|
145
146
|
- lib/morpheus/api/app_templates_interface.rb
|
146
147
|
- lib/morpheus/api/apps_interface.rb
|
148
|
+
- lib/morpheus/api/archive_buckets_interface.rb
|
149
|
+
- lib/morpheus/api/archive_files_interface.rb
|
147
150
|
- lib/morpheus/api/auth_interface.rb
|
148
151
|
- lib/morpheus/api/checks_interface.rb
|
149
|
-
- lib/morpheus/api/cloud_policies_interface.rb
|
150
152
|
- lib/morpheus/api/clouds_interface.rb
|
151
153
|
- lib/morpheus/api/containers_interface.rb
|
152
154
|
- lib/morpheus/api/custom_instance_types_interface.rb
|
153
155
|
- lib/morpheus/api/dashboard_interface.rb
|
154
156
|
- lib/morpheus/api/deploy_interface.rb
|
155
157
|
- lib/morpheus/api/deployments_interface.rb
|
156
|
-
- lib/morpheus/api/group_policies_interface.rb
|
157
158
|
- lib/morpheus/api/groups_interface.rb
|
159
|
+
- lib/morpheus/api/image_builder_boot_scripts_interface.rb
|
160
|
+
- lib/morpheus/api/image_builder_image_builds_interface.rb
|
161
|
+
- lib/morpheus/api/image_builder_interface.rb
|
162
|
+
- lib/morpheus/api/image_builder_preseed_scripts_interface.rb
|
158
163
|
- lib/morpheus/api/incidents_interface.rb
|
159
164
|
- lib/morpheus/api/instance_types_interface.rb
|
160
165
|
- lib/morpheus/api/instances_interface.rb
|
@@ -166,17 +171,9 @@ files:
|
|
166
171
|
- lib/morpheus/api/monitoring_contacts_interface.rb
|
167
172
|
- lib/morpheus/api/monitoring_groups_interface.rb
|
168
173
|
- lib/morpheus/api/monitoring_interface.rb
|
169
|
-
- lib/morpheus/api/network_domains_interface.rb
|
170
|
-
- lib/morpheus/api/network_groups_interface.rb
|
171
|
-
- lib/morpheus/api/network_pool_servers_interface.rb
|
172
|
-
- lib/morpheus/api/network_pools_interface.rb
|
173
|
-
- lib/morpheus/api/network_proxies_interface.rb
|
174
|
-
- lib/morpheus/api/network_services_interface.rb
|
175
|
-
- lib/morpheus/api/networks_interface.rb
|
176
174
|
- lib/morpheus/api/option_type_lists_interface.rb
|
177
175
|
- lib/morpheus/api/option_types_interface.rb
|
178
176
|
- lib/morpheus/api/options_interface.rb
|
179
|
-
- lib/morpheus/api/policies_interface.rb
|
180
177
|
- lib/morpheus/api/provision_types_interface.rb
|
181
178
|
- lib/morpheus/api/roles_interface.rb
|
182
179
|
- lib/morpheus/api/security_group_rules_interface.rb
|
@@ -193,6 +190,8 @@ files:
|
|
193
190
|
- lib/morpheus/cli/alias_command.rb
|
194
191
|
- lib/morpheus/cli/app_templates.rb
|
195
192
|
- lib/morpheus/cli/apps.rb
|
193
|
+
- lib/morpheus/cli/archives_command.rb
|
194
|
+
- lib/morpheus/cli/boot_scripts_command.rb
|
196
195
|
- lib/morpheus/cli/cli_command.rb
|
197
196
|
- lib/morpheus/cli/cli_registry.rb
|
198
197
|
- lib/morpheus/cli/clouds.rb
|
@@ -209,6 +208,7 @@ files:
|
|
209
208
|
- lib/morpheus/cli/error_handler.rb
|
210
209
|
- lib/morpheus/cli/groups.rb
|
211
210
|
- lib/morpheus/cli/hosts.rb
|
211
|
+
- lib/morpheus/cli/image_builder_command.rb
|
212
212
|
- lib/morpheus/cli/instance_types.rb
|
213
213
|
- lib/morpheus/cli/instances.rb
|
214
214
|
- lib/morpheus/cli/key_pairs.rb
|
@@ -230,16 +230,9 @@ files:
|
|
230
230
|
- lib/morpheus/cli/monitoring_contacts_command.rb
|
231
231
|
- lib/morpheus/cli/monitoring_groups_command.rb
|
232
232
|
- lib/morpheus/cli/monitoring_incidents_command.rb
|
233
|
-
- lib/morpheus/cli/network_domains_command.rb
|
234
|
-
- lib/morpheus/cli/network_groups_command.rb
|
235
|
-
- lib/morpheus/cli/network_pool_servers_command.rb
|
236
|
-
- lib/morpheus/cli/network_pools_command.rb
|
237
|
-
- lib/morpheus/cli/network_proxies_command.rb
|
238
|
-
- lib/morpheus/cli/network_services_command.rb
|
239
|
-
- lib/morpheus/cli/networks_command.rb
|
240
233
|
- lib/morpheus/cli/option_parser.rb
|
241
234
|
- lib/morpheus/cli/option_types.rb
|
242
|
-
- lib/morpheus/cli/
|
235
|
+
- lib/morpheus/cli/preseed_scripts_command.rb
|
243
236
|
- lib/morpheus/cli/recent_activity_command.rb
|
244
237
|
- lib/morpheus/cli/remote.rb
|
245
238
|
- lib/morpheus/cli/roles.rb
|
@@ -263,7 +256,6 @@ files:
|
|
263
256
|
- lib/morpheus/rest_client.rb
|
264
257
|
- lib/morpheus/terminal.rb
|
265
258
|
- morpheus-cli.gemspec
|
266
|
-
- scripts/generate_morpheus_commands_help.morpheus
|
267
259
|
homepage: http://www.morpheusdata.com
|
268
260
|
licenses:
|
269
261
|
- MIT
|
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'morpheus/api/api_client'
|
2
|
-
|
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
|
-
|
11
|
-
def get(cloud_id, id, params={})
|
12
|
-
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
13
|
-
url = "#{@base_url}/api/zones/#{cloud_id}/policies/#{id}"
|
14
|
-
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
15
|
-
opts = {method: :get, url: url, headers: headers}
|
16
|
-
execute(opts)
|
17
|
-
end
|
18
|
-
|
19
|
-
def list(cloud_id, params={})
|
20
|
-
url = "#{@base_url}/api/zones/#{cloud_id}/policies"
|
21
|
-
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
22
|
-
opts = {method: :get, url: url, headers: headers}
|
23
|
-
execute(opts)
|
24
|
-
end
|
25
|
-
|
26
|
-
def create(cloud_id, payload)
|
27
|
-
url = "#{@base_url}/api/zones/#{cloud_id}/policies"
|
28
|
-
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
29
|
-
opts = {method: :post, url: url, headers: headers, payload: payload.to_json}
|
30
|
-
execute(opts)
|
31
|
-
end
|
32
|
-
|
33
|
-
def update(cloud_id, id, payload)
|
34
|
-
url = "#{@base_url}/api/zones/#{cloud_id}/policies/#{id}"
|
35
|
-
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
36
|
-
opts = {method: :put, url: url, headers: headers, payload: payload.to_json}
|
37
|
-
execute(opts)
|
38
|
-
end
|
39
|
-
|
40
|
-
def destroy(cloud_id, id, params={})
|
41
|
-
url = "#{@base_url}/api/zones/#{cloud_id}/policies/#{id}"
|
42
|
-
headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
43
|
-
opts = {method: :delete, url: url, timeout: 30, headers: headers}
|
44
|
-
execute(opts)
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'morpheus/api/api_client'
|
2
|
-
|
3
|
-
class Morpheus::GroupPoliciesInterface < 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
|
-
def get(group_id, id, params={})
|
12
|
-
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
13
|
-
url = "#{@base_url}/api/groups/#{group_id}/policies/#{id}"
|
14
|
-
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
15
|
-
opts = {method: :get, url: url, headers: headers}
|
16
|
-
execute(opts)
|
17
|
-
end
|
18
|
-
|
19
|
-
def list(group_id, params={})
|
20
|
-
url = "#{@base_url}/api/groups/#{group_id}/policies"
|
21
|
-
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
22
|
-
opts = {method: :get, url: url, headers: headers}
|
23
|
-
execute(opts)
|
24
|
-
end
|
25
|
-
|
26
|
-
def create(group_id, payload)
|
27
|
-
url = "#{@base_url}/api/groups/#{group_id}/policies"
|
28
|
-
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
29
|
-
opts = {method: :post, url: url, headers: headers, payload: payload.to_json}
|
30
|
-
execute(opts)
|
31
|
-
end
|
32
|
-
|
33
|
-
def update(group_id, id, payload)
|
34
|
-
url = "#{@base_url}/api/groups/#{group_id}/policies/#{id}"
|
35
|
-
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
36
|
-
opts = {method: :put, url: url, headers: headers, payload: payload.to_json}
|
37
|
-
execute(opts)
|
38
|
-
end
|
39
|
-
|
40
|
-
def destroy(group_id, id, params={})
|
41
|
-
url = "#{@base_url}/api/groups/#{group_id}/policies/#{id}"
|
42
|
-
headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
43
|
-
opts = {method: :delete, url: url, timeout: 30, headers: headers}
|
44
|
-
execute(opts)
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'morpheus/api/api_client'
|
2
|
-
|
3
|
-
class Morpheus::NetworkDomainsInterface < 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
|
-
def get(id, params={})
|
12
|
-
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
13
|
-
url = "#{@base_url}/api/networks/domains/#{id}"
|
14
|
-
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
15
|
-
opts = {method: :get, url: url, headers: headers}
|
16
|
-
execute(opts)
|
17
|
-
end
|
18
|
-
|
19
|
-
def list(params={})
|
20
|
-
url = "#{@base_url}/api/networks/domains"
|
21
|
-
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
22
|
-
opts = {method: :get, url: url, headers: headers}
|
23
|
-
execute(opts)
|
24
|
-
end
|
25
|
-
|
26
|
-
def create(payload)
|
27
|
-
url = "#{@base_url}/api/networks/domains"
|
28
|
-
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
29
|
-
opts = {method: :post, url: url, headers: headers, payload: payload.to_json}
|
30
|
-
execute(opts)
|
31
|
-
end
|
32
|
-
|
33
|
-
def update(id, payload)
|
34
|
-
url = "#{@base_url}/api/networks/domains/#{id}"
|
35
|
-
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
36
|
-
opts = {method: :put, url: url, headers: headers, payload: payload.to_json}
|
37
|
-
execute(opts)
|
38
|
-
end
|
39
|
-
|
40
|
-
def destroy(id, params={})
|
41
|
-
url = "#{@base_url}/api/networks/domains/#{id}"
|
42
|
-
headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
43
|
-
opts = {method: :delete, url: url, timeout: 30, headers: headers}
|
44
|
-
execute(opts)
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'morpheus/api/api_client'
|
2
|
-
|
3
|
-
class Morpheus::NetworkGroupsInterface < 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
|
-
def get(id, params={})
|
12
|
-
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
13
|
-
url = "#{@base_url}/api/networks/groups/#{id}"
|
14
|
-
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
15
|
-
opts = {method: :get, url: url, headers: headers}
|
16
|
-
execute(opts)
|
17
|
-
end
|
18
|
-
|
19
|
-
def list(params={})
|
20
|
-
url = "#{@base_url}/api/networks/groups"
|
21
|
-
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
22
|
-
opts = {method: :get, url: url, headers: headers}
|
23
|
-
execute(opts)
|
24
|
-
end
|
25
|
-
|
26
|
-
def create(payload)
|
27
|
-
url = "#{@base_url}/api/networks/groups"
|
28
|
-
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
29
|
-
opts = {method: :post, url: url, headers: headers, payload: payload.to_json}
|
30
|
-
execute(opts)
|
31
|
-
end
|
32
|
-
|
33
|
-
def update(id, payload)
|
34
|
-
url = "#{@base_url}/api/networks/groups/#{id}"
|
35
|
-
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
36
|
-
opts = {method: :put, url: url, headers: headers, payload: payload.to_json}
|
37
|
-
execute(opts)
|
38
|
-
end
|
39
|
-
|
40
|
-
def destroy(id, params={})
|
41
|
-
url = "#{@base_url}/api/networks/groups/#{id}"
|
42
|
-
headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
43
|
-
opts = {method: :delete, url: url, timeout: 30, headers: headers}
|
44
|
-
execute(opts)
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'morpheus/api/api_client'
|
2
|
-
|
3
|
-
class Morpheus::NetworkPoolServersInterface < 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
|
-
def get(id, params={})
|
12
|
-
raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
|
13
|
-
url = "#{@base_url}/api/networks/pool-servers/#{id}"
|
14
|
-
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
15
|
-
opts = {method: :get, url: url, headers: headers}
|
16
|
-
execute(opts)
|
17
|
-
end
|
18
|
-
|
19
|
-
def list(params={})
|
20
|
-
url = "#{@base_url}/api/networks/pool-servers"
|
21
|
-
headers = { params: params, authorization: "Bearer #{@access_token}" }
|
22
|
-
opts = {method: :get, url: url, headers: headers}
|
23
|
-
execute(opts)
|
24
|
-
end
|
25
|
-
|
26
|
-
def create(payload)
|
27
|
-
url = "#{@base_url}/api/networks/pool-servers"
|
28
|
-
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
29
|
-
opts = {method: :post, url: url, headers: headers, payload: payload.to_json}
|
30
|
-
execute(opts)
|
31
|
-
end
|
32
|
-
|
33
|
-
def update(id, payload)
|
34
|
-
url = "#{@base_url}/api/networks/pool-servers/#{id}"
|
35
|
-
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
36
|
-
opts = {method: :put, url: url, headers: headers, payload: payload.to_json}
|
37
|
-
execute(opts)
|
38
|
-
end
|
39
|
-
|
40
|
-
def destroy(id, params={})
|
41
|
-
url = "#{@base_url}/api/networks/pool-servers/#{id}"
|
42
|
-
headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
|
43
|
-
opts = {method: :delete, url: url, timeout: 30, headers: headers}
|
44
|
-
execute(opts)
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|