morpheus-cli 2.12.5 → 3.1.0

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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +5 -0
  3. data/lib/morpheus/api/api_client.rb +15 -30
  4. data/lib/morpheus/api/app_templates_interface.rb +34 -7
  5. data/lib/morpheus/api/apps_interface.rb +20 -1
  6. data/lib/morpheus/api/archive_buckets_interface.rb +124 -0
  7. data/lib/morpheus/api/archive_files_interface.rb +182 -0
  8. data/lib/morpheus/api/{network_pools_interface.rb → image_builder_boot_scripts_interface.rb} +6 -6
  9. data/lib/morpheus/api/{policies_interface.rb → image_builder_image_builds_interface.rb} +20 -15
  10. data/lib/morpheus/api/image_builder_interface.rb +26 -0
  11. data/lib/morpheus/api/{network_proxies_interface.rb → image_builder_preseed_scripts_interface.rb} +6 -6
  12. data/lib/morpheus/cli.rb +10 -9
  13. data/lib/morpheus/cli/alias_command.rb +10 -9
  14. data/lib/morpheus/cli/app_templates.rb +1566 -457
  15. data/lib/morpheus/cli/apps.rb +284 -108
  16. data/lib/morpheus/cli/archives_command.rb +2184 -0
  17. data/lib/morpheus/cli/boot_scripts_command.rb +382 -0
  18. data/lib/morpheus/cli/cli_command.rb +9 -35
  19. data/lib/morpheus/cli/error_handler.rb +2 -0
  20. data/lib/morpheus/cli/hosts.rb +15 -3
  21. data/lib/morpheus/cli/image_builder_command.rb +1208 -0
  22. data/lib/morpheus/cli/instances.rb +118 -47
  23. data/lib/morpheus/cli/man_command.rb +27 -24
  24. data/lib/morpheus/cli/mixins/print_helper.rb +19 -5
  25. data/lib/morpheus/cli/mixins/provisioning_helper.rb +20 -20
  26. data/lib/morpheus/cli/option_types.rb +45 -14
  27. data/lib/morpheus/cli/preseed_scripts_command.rb +381 -0
  28. data/lib/morpheus/cli/remote.rb +1 -0
  29. data/lib/morpheus/cli/roles.rb +2 -2
  30. data/lib/morpheus/cli/shell.rb +3 -2
  31. data/lib/morpheus/cli/version.rb +1 -1
  32. data/lib/morpheus/ext/hash.rb +22 -0
  33. data/lib/morpheus/formatters.rb +33 -0
  34. data/lib/morpheus/terminal.rb +1 -1
  35. metadata +13 -21
  36. data/lib/morpheus/api/cloud_policies_interface.rb +0 -47
  37. data/lib/morpheus/api/group_policies_interface.rb +0 -47
  38. data/lib/morpheus/api/network_domains_interface.rb +0 -47
  39. data/lib/morpheus/api/network_groups_interface.rb +0 -47
  40. data/lib/morpheus/api/network_pool_servers_interface.rb +0 -47
  41. data/lib/morpheus/api/network_services_interface.rb +0 -47
  42. data/lib/morpheus/api/networks_interface.rb +0 -54
  43. data/lib/morpheus/cli/network_domains_command.rb +0 -571
  44. data/lib/morpheus/cli/network_groups_command.rb +0 -602
  45. data/lib/morpheus/cli/network_pool_servers_command.rb +0 -430
  46. data/lib/morpheus/cli/network_pools_command.rb +0 -495
  47. data/lib/morpheus/cli/network_proxies_command.rb +0 -594
  48. data/lib/morpheus/cli/network_services_command.rb +0 -148
  49. data/lib/morpheus/cli/networks_command.rb +0 -855
  50. data/lib/morpheus/cli/policies_command.rb +0 -847
  51. data/scripts/generate_morpheus_commands_help.morpheus +0 -1313
@@ -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]."
@@ -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|user|yes|no|none]"
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|user|yes|no|none]")
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)
@@ -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
@@ -1,6 +1,6 @@
1
1
 
2
2
  module Morpheus
3
3
  module Cli
4
- VERSION = "2.12.5"
4
+ VERSION = "3.1.0"
5
5
  end
6
6
  end
@@ -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
@@ -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
@@ -69,7 +69,7 @@ module Morpheus
69
69
  end
70
70
 
71
71
  def self.angry_prompt
72
- "#{Term::ANSIColor.red}morpheus: #{Term::ANSIColor.reset}"
72
+ "#{Term::ANSIColor.red}morpheus:#{Term::ANSIColor.reset} "
73
73
  end
74
74
 
75
75
  def self.custom_prompt
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: 2.12.5
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-12-08 00:00:00.000000000 Z
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/policies_command.rb
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