morpheus-cli 2.12.4 → 2.12.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b980bc7c2a00f5b68e939530252141590e2f787b
4
- data.tar.gz: 5e29d80365f8fea25225cb12e2dd29eb40aadf87
3
+ metadata.gz: 7adf1a762199012489186d652c92c9add309fbd4
4
+ data.tar.gz: 1edf55118de5d3957a91ea6ec33dab8177b740fb
5
5
  SHA512:
6
- metadata.gz: a86f6cd4acc16da2a54a6f22900ee4c4d12e010e5b7da5521b2ebe61166d53885724ab42f4a155d520468aec93bda688c45f0e71855fe27b91aee05f5bf22ceb
7
- data.tar.gz: 75207d59b6dcb48403f95f299472a071f8ec8e84069a8303570f763bd3cb4e59a6e95896924c5196b396a16df9ef9c5a614adc8bf283c7b5fc9f68d8dda03a87
6
+ metadata.gz: 8d70dd26d92a1effcb2b176e229528462c217ac5ea8c59cd6d5b192e9f290b022015608e33a99b5273089ba345445da7e13eebfdf52e7d0461eba86d63b0c4d8
7
+ data.tar.gz: d77eed8fba4c9e8ce4615568e9c4a94cc11b04882daa278d8ed0932754a5089118a5c0fa2ee36981db73b1c8be0b6fb5693158c973d63765d2252f87dfcc7b9c
@@ -203,4 +203,31 @@ class Morpheus::APIClient
203
203
  Morpheus::CloudPoliciesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
204
204
  end
205
205
 
206
+ def networks
207
+ Morpheus::NetworksInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
208
+ end
209
+
210
+ def network_groups
211
+ Morpheus::NetworkGroupsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
212
+ end
213
+
214
+ def network_pools
215
+ Morpheus::NetworkPoolsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
216
+ end
217
+
218
+ def network_services
219
+ Morpheus::NetworkServicesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
220
+ end
221
+
222
+ def network_pool_servers
223
+ Morpheus::NetworkPoolServersInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
224
+ end
225
+
226
+ def network_domains
227
+ Morpheus::NetworkDomainsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
228
+ end
229
+
230
+ def network_proxies
231
+ Morpheus::NetworkProxiesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
232
+ end
206
233
  end
@@ -0,0 +1,47 @@
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
@@ -0,0 +1,47 @@
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
@@ -0,0 +1,47 @@
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
@@ -0,0 +1,47 @@
1
+ require 'morpheus/api/api_client'
2
+
3
+ class Morpheus::NetworkPoolsInterface < 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/pools/#{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/pools"
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/pools"
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/pools/#{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/pools/#{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
@@ -0,0 +1,47 @@
1
+ require 'morpheus/api/api_client'
2
+
3
+ class Morpheus::NetworkProxiesInterface < 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/proxies/#{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/proxies"
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/proxies"
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/proxies/#{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/proxies/#{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
@@ -0,0 +1,47 @@
1
+ require 'morpheus/api/api_client'
2
+
3
+ class Morpheus::NetworkServicesInterface < 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/services/#{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/services"
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/services"
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/services/#{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/services/#{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
@@ -0,0 +1,54 @@
1
+ require 'morpheus/api/api_client'
2
+
3
+ class Morpheus::NetworksInterface < 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/#{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"
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"
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/#{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/#{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
+ def generate_pool(id, payload={})
48
+ url = "#{@base_url}/api/networks/#{id}/generate-pool"
49
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
50
+ opts = {method: :post, url: url, headers: headers, payload: payload.to_json}
51
+ execute(opts)
52
+ end
53
+
54
+ end
@@ -95,6 +95,13 @@ module Morpheus
95
95
  load 'morpheus/cli/monitoring_groups_command.rb'
96
96
  load 'morpheus/cli/monitoring_apps_command.rb'
97
97
  load 'morpheus/cli/policies_command.rb'
98
+ load 'morpheus/cli/networks_command.rb'
99
+ load 'morpheus/cli/network_groups_command.rb'
100
+ load 'morpheus/cli/network_pools_command.rb'
101
+ load 'morpheus/cli/network_services_command.rb'
102
+ load 'morpheus/cli/network_pool_servers_command.rb'
103
+ load 'morpheus/cli/network_domains_command.rb'
104
+ load 'morpheus/cli/network_proxies_command.rb'
98
105
  # nice to have commands
99
106
  load 'morpheus/cli/curl_command.rb'
100
107
  load 'morpheus/cli/set_prompt_command.rb'
@@ -1,3 +1,5 @@
1
+ require 'yaml'
2
+ require 'json'
1
3
  require 'morpheus/logging'
2
4
  require 'morpheus/cli/option_parser'
3
5
  require 'morpheus/cli/cli_registry'
@@ -222,6 +224,38 @@ module Morpheus
222
224
  options[:options][:no_prompt] = true
223
225
  end
224
226
 
227
+ when :payload
228
+ opts.on('--payload JSON', String, "Payload JSON, skip all prompting") do |val|
229
+ begin
230
+ options[:payload] = JSON.parse(val.to_s)
231
+ rescue => ex
232
+ raise ::OptionParser::InvalidOption.new("Failed to parse payload as JSON. Error: #{ex.message}")
233
+ end
234
+ end
235
+ opts.on('--payload-yaml YAML', String, "Payload YAML, skip all prompting") do |val|
236
+ begin
237
+ options[:payload] = YAML.load(val.to_s)
238
+ rescue => ex
239
+ raise ::OptionParser::InvalidOption.new("Failed to parse payload as YAML. Error: #{ex.message}")
240
+ end
241
+ end
242
+ opts.on('--payload-file FILE', String, "Payload from a local JSON or YAML file, skip all prompting") do |val|
243
+ options[:payload_file] = val.to_s
244
+ begin
245
+ payload_file = File.expand_path(options[:payload_file])
246
+ if !File.exists?(payload_file) || !File.file?(payload_file)
247
+ raise ::OptionParser::InvalidOption.new("File not found: #{payload_file}")
248
+ #return false
249
+ end
250
+ if payload_file =~ /\.ya?ml\Z/
251
+ option[:payload] = YAML.load_file(payload_file)
252
+ else
253
+ option[:payload] = JSON.parse(File.read(payload_file))
254
+ end
255
+ rescue => ex
256
+ raise ::OptionParser::InvalidOption.new("Failed to parse payload file: #{payload_file} Error: #{ex.message}")
257
+ end
258
+ end
225
259
  when :list
226
260
  opts.on( '-m', '--max MAX', "Max Results" ) do |max|
227
261
  options[:max] = max.to_i