idcf-ilb 0.0.4 → 0.0.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 +4 -4
- data/lib/idcf/ilb/client.rb +1 -0
- data/lib/idcf/ilb/client_extensions.rb +1 -0
- data/lib/idcf/ilb/client_extensions/l7route.rb +84 -0
- data/lib/idcf/ilb/resources.rb +1 -0
- data/lib/idcf/ilb/resources/l7route.rb +13 -0
- data/lib/idcf/ilb/validators.rb +1 -0
- data/lib/idcf/ilb/validators/config.rb +1 -0
- data/lib/idcf/ilb/validators/l7route.rb +16 -0
- data/lib/idcf/ilb/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12529dd3c976b11261ced9c4a59e82ba8e441209
|
4
|
+
data.tar.gz: 21bea9b157f9407a6eae2bc27ddcfe584d227e94
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b217ebe3b2f739a711cc2e2b7a805526c9c07d48c39b84e336a03622b9aecb0ab3966cdc90f0f7bf082d1707f5b3e9f1b794d128055b2aeb2e4e26f8626bd250
|
7
|
+
data.tar.gz: 292034c6d95ca018c61969d66d3298ef220b8e655c3237656412a73fdfd091f13cb6e85b9268f44b8e0625bfd152c4e4ba4f3e523323ec83f31b8944579687a8
|
data/lib/idcf/ilb/client.rb
CHANGED
@@ -9,6 +9,7 @@ module Idcf
|
|
9
9
|
include ClientExtensions::Loadbalancer
|
10
10
|
include ClientExtensions::Config
|
11
11
|
include ClientExtensions::Server
|
12
|
+
include ClientExtensions::L7route
|
12
13
|
include ClientExtensions::Job
|
13
14
|
include ClientExtensions::Sslcert
|
14
15
|
include ClientExtensions::Sslalgorithm
|
@@ -12,6 +12,7 @@ end
|
|
12
12
|
require "idcf/ilb/client_extensions/loadbalancer"
|
13
13
|
require "idcf/ilb/client_extensions/config"
|
14
14
|
require "idcf/ilb/client_extensions/server"
|
15
|
+
require "idcf/ilb/client_extensions/l7route"
|
15
16
|
require "idcf/ilb/client_extensions/job"
|
16
17
|
require "idcf/ilb/client_extensions/sslcert"
|
17
18
|
require "idcf/ilb/client_extensions/sslalgorithm"
|
@@ -0,0 +1,84 @@
|
|
1
|
+
module Idcf
|
2
|
+
module Ilb
|
3
|
+
module ClientExtensions
|
4
|
+
# SDK APIs for l7route resource
|
5
|
+
module L7route
|
6
|
+
# Create a loadbalancer config's l7route.
|
7
|
+
#
|
8
|
+
# @param lb_id [String] ID of loadbalancer
|
9
|
+
# @param config_id [String] ID of loadbalancer's config
|
10
|
+
# @param data [Hash] add l7route hash
|
11
|
+
# @option data [Hash] :servers (required)
|
12
|
+
# @option data [String] :pattern (required)
|
13
|
+
# @param headers [Hash] HTTP request headers
|
14
|
+
# @return [Array<Hash>] An array of [loadbalancer's config server] hash
|
15
|
+
def create_l7route(lb_id, config_id, data, headers = {})
|
16
|
+
Validators::L7route.validate_attributes!(data, :create)
|
17
|
+
res = post!("loadbalancers/#{lb_id}/configs/#{config_id}/l7routes", data, headers)
|
18
|
+
check_job(res.body["job_id"], headers, ["get_l7route", lb_id, config_id, res.body["resource_id"]], false)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Get list of existing [loadbalancer's config l7routes]
|
22
|
+
#
|
23
|
+
# @param lb_id [String] ID of loadbalancer
|
24
|
+
# @param config_id [String] ID of loadbalancer's config
|
25
|
+
# @param headers [Hash] HTTP request headers
|
26
|
+
# @return [Array<Hash>] An array of [loadbalancer's config l7route] hash
|
27
|
+
def list_l7routes(lb_id, config_id, headers = {})
|
28
|
+
get!("loadbalancers/#{lb_id}/configs/#{config_id}/l7routes", {}, headers)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Get of existing [loadbalancer's config l7route]
|
32
|
+
#
|
33
|
+
# @param lb_id [String] ID of loadbalancer
|
34
|
+
# @param config_id [String] ID of loadbalancer's config
|
35
|
+
# @param id [String] ID of loadbalancer's config l7route
|
36
|
+
# @param headers [Hash] HTTP request headers
|
37
|
+
# @return [Array<Hash>] An array of [loadbalancer's config l7route] hash
|
38
|
+
def get_l7route(lb_id, config_id, id, headers = {})
|
39
|
+
get!("loadbalancers/#{lb_id}/configs/#{config_id}/l7routes/#{id}", {}, headers)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Delete a [loadbalancer's config l7route]
|
43
|
+
#
|
44
|
+
# @param lb_id [String] ID of loadbalancer
|
45
|
+
# @param config_id [String] ID of loadbalancer's config
|
46
|
+
# @param id [String] ID of loadbalancer's config l7route
|
47
|
+
# @param headers [Hash] HTTP request headers
|
48
|
+
# @return [Array<Hash>] An array of [loadbalancer's config l7route] hash
|
49
|
+
def delete_l7route(lb_id, config_id, id, headers = {})
|
50
|
+
res = delete!("loadbalancers/#{lb_id}/configs/#{config_id}/l7routes/#{id}", {}, headers)
|
51
|
+
check_job(res.body["job_id"], headers)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Patch a l7route.
|
55
|
+
#
|
56
|
+
# @param lb_id [String] ID of loadbalancer
|
57
|
+
# @param config_id [String] ID of loadbalancer's config
|
58
|
+
# @param id [String] ID of loadbalancer's config l7route
|
59
|
+
# @param data [Hash] add l7route hash
|
60
|
+
# @option data [Hash] :servers (required)
|
61
|
+
# @option data [String] :pattern (required)
|
62
|
+
# @param headers [Hash] HTTP request headers
|
63
|
+
# @return [Array<Hash>] An array of [loadbalancer's config server] hash
|
64
|
+
def patch_l7route(lb_id, config_id, id, data, headers = {})
|
65
|
+
Validators::L7route.validate_attributes!(data, :patch)
|
66
|
+
res = patch!("loadbalancers/#{lb_id}/configs/#{config_id}/l7routes/#{id}", data, headers)
|
67
|
+
check_job(res.body["job_id"], headers, ["get_l7route", lb_id, config_id, id], false)
|
68
|
+
end
|
69
|
+
|
70
|
+
# Get an array of existing l7routes objects.
|
71
|
+
#
|
72
|
+
# @param lb_id [String] ID of loadbalancer
|
73
|
+
# @param config_id [String] ID of loadbalancer's config
|
74
|
+
# @param headers [Hash] HTTP request headers
|
75
|
+
# @return [Array<Resources::L7route>] An array of l7route objects
|
76
|
+
def l7routes(lb_id, config_id, headers = {})
|
77
|
+
list_l7routes(lb_id, config_id, headers).resources.map do |l7route|
|
78
|
+
Resources::L7route.new(self, l7route)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
data/lib/idcf/ilb/resources.rb
CHANGED
@@ -10,6 +10,7 @@ require "idcf/ilb/resources/base"
|
|
10
10
|
require "idcf/ilb/resources/loadbalancer"
|
11
11
|
require "idcf/ilb/resources/config"
|
12
12
|
require "idcf/ilb/resources/server"
|
13
|
+
require "idcf/ilb/resources/l7route"
|
13
14
|
require "idcf/ilb/resources/job"
|
14
15
|
require "idcf/ilb/resources/sslcert"
|
15
16
|
require "idcf/ilb/resources/sslalgorithm"
|
data/lib/idcf/ilb/validators.rb
CHANGED
@@ -10,6 +10,7 @@ require "idcf/ilb/validators/base"
|
|
10
10
|
require "idcf/ilb/validators/loadbalancer"
|
11
11
|
require "idcf/ilb/validators/config"
|
12
12
|
require "idcf/ilb/validators/server"
|
13
|
+
require "idcf/ilb/validators/l7route"
|
13
14
|
require "idcf/ilb/validators/job"
|
14
15
|
require "idcf/ilb/validators/sslcert"
|
15
16
|
require "idcf/ilb/validators/sslalgorithm"
|
@@ -16,6 +16,7 @@ module Idcf
|
|
16
16
|
stickiness_policy: { type: String, create: :optional, patch: :optional },
|
17
17
|
algorithm: { type: String, create: :required, patch: :optional },
|
18
18
|
healthcheck: { type: Hash, create: :required, patch: :optional },
|
19
|
+
l7routes: { type: Array, create: :optional, patch: :optional },
|
19
20
|
backupserver: { type: Hash, create: :optional, patch: :optional },
|
20
21
|
state: { type: String },
|
21
22
|
created_at: { type: String },
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Idcf
|
2
|
+
module Ilb
|
3
|
+
module Validators
|
4
|
+
# L7route validator class
|
5
|
+
class L7route < Base
|
6
|
+
self.valid_attributes = {
|
7
|
+
id: { type: String },
|
8
|
+
servers: { type: Array, create: :required, patch: :optional },
|
9
|
+
pattern: { type: String, create: :required, patch: :optional },
|
10
|
+
created_at: { type: String },
|
11
|
+
updated_at: { type: String }
|
12
|
+
}
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/idcf/ilb/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: idcf-ilb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- IDC Frontier Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -166,6 +166,7 @@ files:
|
|
166
166
|
- lib/idcf/ilb/client_extensions/config.rb
|
167
167
|
- lib/idcf/ilb/client_extensions/fwgroup.rb
|
168
168
|
- lib/idcf/ilb/client_extensions/job.rb
|
169
|
+
- lib/idcf/ilb/client_extensions/l7route.rb
|
169
170
|
- lib/idcf/ilb/client_extensions/limit.rb
|
170
171
|
- lib/idcf/ilb/client_extensions/loadbalancer.rb
|
171
172
|
- lib/idcf/ilb/client_extensions/log.rb
|
@@ -183,6 +184,7 @@ files:
|
|
183
184
|
- lib/idcf/ilb/resources/config.rb
|
184
185
|
- lib/idcf/ilb/resources/fwgroup.rb
|
185
186
|
- lib/idcf/ilb/resources/job.rb
|
187
|
+
- lib/idcf/ilb/resources/l7route.rb
|
186
188
|
- lib/idcf/ilb/resources/limit.rb
|
187
189
|
- lib/idcf/ilb/resources/loadbalancer.rb
|
188
190
|
- lib/idcf/ilb/resources/log.rb
|
@@ -200,6 +202,7 @@ files:
|
|
200
202
|
- lib/idcf/ilb/validators/config.rb
|
201
203
|
- lib/idcf/ilb/validators/fwgroup.rb
|
202
204
|
- lib/idcf/ilb/validators/job.rb
|
205
|
+
- lib/idcf/ilb/validators/l7route.rb
|
203
206
|
- lib/idcf/ilb/validators/limit.rb
|
204
207
|
- lib/idcf/ilb/validators/loadbalancer.rb
|
205
208
|
- lib/idcf/ilb/validators/log.rb
|
@@ -230,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
233
|
version: '0'
|
231
234
|
requirements: []
|
232
235
|
rubyforge_project:
|
233
|
-
rubygems_version: 2.
|
236
|
+
rubygems_version: 2.4.5.1
|
234
237
|
signing_key:
|
235
238
|
specification_version: 4
|
236
239
|
summary: A Ruby client for IDCF Cloud ILB Service.
|