morpheus-cli 2.12.4 → 2.12.5

Sign up to get free protection for your applications and to get access to all the features.
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