vcloud-edge_gateway 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +6 -0
- data/README.md +28 -0
- data/bin/vcloud-configure-edge +3 -2
- data/lib/vcloud/edge_gateway.rb +5 -6
- data/lib/vcloud/edge_gateway/configuration_generator/load_balancer_service.rb +14 -10
- data/lib/vcloud/edge_gateway/configure.rb +32 -0
- data/lib/vcloud/edge_gateway/schema/edge_gateway.rb +18 -0
- data/lib/vcloud/edge_gateway/schema/firewall_service.rb +41 -0
- data/lib/vcloud/edge_gateway/schema/load_balancer_service.rb +183 -0
- data/lib/vcloud/edge_gateway/schema/nat_service.rb +38 -0
- data/lib/vcloud/edge_gateway/version.rb +1 -1
- data/spec/integration/edge_gateway/data/load_balancer_config.yaml.mustache +4 -0
- data/spec/integration/edge_gateway/edge_gateway_services_spec.rb +6 -6
- data/spec/integration/edge_gateway/firewall_service_spec.rb +9 -9
- data/spec/integration/edge_gateway/load_balancer_service_spec.rb +10 -10
- data/spec/integration/edge_gateway/nat_service_spec.rb +10 -10
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-input.yaml +1 -1
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-output.yaml +2 -2
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-tcp-healthcheck-input.yaml +41 -0
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-tcp-healthcheck-with-uri-input.yaml +42 -0
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-healthcheck-uri-input.yaml +42 -0
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-output.yaml +2 -2
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_mixed_complex-output.yaml +3 -3
- data/spec/vcloud/edge_gateway/configuration_generator/load_balancer_service_spec.rb +64 -3
- data/spec/vcloud/edge_gateway/edge_gateway_configuration_spec.rb +6 -6
- data/spec/vcloud/edge_gateway/firewall_schema_validation_spec.rb +2 -2
- data/spec/vcloud/edge_gateway/load_balancer_schema_validation_spec.rb +123 -7
- data/spec/vcloud/edge_gateway/nat_schema_validation_spec.rb +4 -4
- metadata +14 -18
- data/lib/vcloud/edge_gateway_services.rb +0 -31
- data/lib/vcloud/schema/edge_gateway.rb +0 -16
- data/lib/vcloud/schema/firewall_service.rb +0 -39
- data/lib/vcloud/schema/load_balancer_service.rb +0 -132
- data/lib/vcloud/schema/nat_service.rb +0 -35
- data/spec/vcloud/data/basic_preamble_test.erb +0 -8
- data/spec/vcloud/data/basic_preamble_test.erb.OUT +0 -8
- data/spec/vcloud/data/working.json +0 -21
- data/spec/vcloud/data/working.yaml +0 -22
- data/spec/vcloud/data/working_with_defaults.yaml +0 -25
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
require 'tempfile'
|
3
3
|
|
4
4
|
module Vcloud
|
5
|
-
describe
|
5
|
+
describe EdgeGateway::Configure do
|
6
6
|
|
7
7
|
before(:all) do
|
8
8
|
IntegrationHelper.verify_env_vars
|
@@ -16,7 +16,7 @@ module Vcloud
|
|
16
16
|
@files_to_delete = []
|
17
17
|
end
|
18
18
|
|
19
|
-
context "
|
19
|
+
context "with multiple services" do
|
20
20
|
|
21
21
|
before(:all) do
|
22
22
|
reset_edge_gateway
|
@@ -39,7 +39,7 @@ module Vcloud
|
|
39
39
|
it "should only create one edgeGateway update task when updating the configuration" do
|
40
40
|
start_time = Time.now.getutc
|
41
41
|
task_list_before_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
42
|
-
|
42
|
+
EdgeGateway::Configure.new(@initial_config_file, @vars_config_file).update
|
43
43
|
task_list_after_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
44
44
|
expect(task_list_after_update.size - task_list_before_update.size).to be(1)
|
45
45
|
end
|
@@ -55,7 +55,7 @@ module Vcloud
|
|
55
55
|
it "should not update the EdgeGateway again if the config hasn't changed" do
|
56
56
|
start_time = Time.now.getutc
|
57
57
|
task_list_before_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
58
|
-
|
58
|
+
EdgeGateway::Configure.new(@initial_config_file, @vars_config_file).update
|
59
59
|
task_list_after_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
60
60
|
expect(task_list_after_update.size - task_list_before_update.size).to be(0)
|
61
61
|
end
|
@@ -63,7 +63,7 @@ module Vcloud
|
|
63
63
|
it "should only create one additional edgeGateway update task when adding the LoadBalancer config" do
|
64
64
|
start_time = Time.now.getutc
|
65
65
|
task_list_before_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
66
|
-
|
66
|
+
EdgeGateway::Configure.new(@adding_load_balancer_config_file, @vars_config_file).update
|
67
67
|
task_list_after_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
68
68
|
expect(task_list_after_update.size - task_list_before_update.size).to be(1)
|
69
69
|
end
|
@@ -71,7 +71,7 @@ module Vcloud
|
|
71
71
|
it "should not update the EdgeGateway again if we reapply the 'adding load balancer' config" do
|
72
72
|
start_time = Time.now.getutc
|
73
73
|
task_list_before_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
74
|
-
|
74
|
+
EdgeGateway::Configure.new(@adding_load_balancer_config_file, @vars_config_file).update
|
75
75
|
task_list_after_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
76
76
|
expect(task_list_after_update.size - task_list_before_update.size).to be(0)
|
77
77
|
end
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
require 'tempfile'
|
3
3
|
|
4
4
|
module Vcloud
|
5
|
-
describe
|
5
|
+
describe EdgeGateway::Configure do
|
6
6
|
|
7
7
|
before(:all) do
|
8
8
|
IntegrationHelper.verify_env_vars
|
@@ -16,7 +16,7 @@ module Vcloud
|
|
16
16
|
@files_to_delete = []
|
17
17
|
end
|
18
18
|
|
19
|
-
context "Test FirewallService specifics
|
19
|
+
context "Test FirewallService specifics" do
|
20
20
|
|
21
21
|
before(:all) do
|
22
22
|
reset_edge_gateway
|
@@ -31,7 +31,7 @@ module Vcloud
|
|
31
31
|
before(:all) do
|
32
32
|
local_config = Core::ConfigLoader.new.load_config(
|
33
33
|
@initial_firewall_config_file,
|
34
|
-
Vcloud::Schema::EDGE_GATEWAY_SERVICES,
|
34
|
+
Vcloud::EdgeGateway::Schema::EDGE_GATEWAY_SERVICES,
|
35
35
|
@vars_config_file
|
36
36
|
)
|
37
37
|
@local_vcloud_config = EdgeGateway::ConfigurationGenerator::FirewallService.new.generate_fog_config(local_config[:firewall_service])
|
@@ -44,7 +44,7 @@ module Vcloud
|
|
44
44
|
|
45
45
|
it "should only need to make one call to Core::EdgeGateway.update_configuration" do
|
46
46
|
expect_any_instance_of(Core::EdgeGateway).to receive(:update_configuration).exactly(1).times.and_call_original
|
47
|
-
|
47
|
+
EdgeGateway::Configure.new(@initial_firewall_config_file, @vars_config_file).update
|
48
48
|
end
|
49
49
|
|
50
50
|
it "should have configured at least one firewall rule" do
|
@@ -59,8 +59,8 @@ module Vcloud
|
|
59
59
|
end
|
60
60
|
|
61
61
|
it "and then should not configure the firewall service if updated again with the same configuration (idempotency)" do
|
62
|
-
expect(Vcloud::Core.logger).to receive(:info).with('
|
63
|
-
|
62
|
+
expect(Vcloud::Core.logger).to receive(:info).with('EdgeGateway::Configure.update: Configuration is already up to date. Skipping.')
|
63
|
+
EdgeGateway::Configure.new(@initial_firewall_config_file, @vars_config_file).update
|
64
64
|
end
|
65
65
|
|
66
66
|
it "ConfigurationDiffer should return empty if local and remote firewall configs match" do
|
@@ -73,7 +73,7 @@ module Vcloud
|
|
73
73
|
it "should highlight a difference if local firewall config has been updated" do
|
74
74
|
local_config = Core::ConfigLoader.new.load_config(
|
75
75
|
IntegrationHelper.fixture_file('firewall_config_updated_rule.yaml.mustache'),
|
76
|
-
Vcloud::Schema::EDGE_GATEWAY_SERVICES,
|
76
|
+
Vcloud::EdgeGateway::Schema::EDGE_GATEWAY_SERVICES,
|
77
77
|
@vars_config_file
|
78
78
|
)
|
79
79
|
local_firewall_config = EdgeGateway::ConfigurationGenerator::FirewallService.new.generate_fog_config(local_config[:firewall_service])
|
@@ -132,10 +132,10 @@ module Vcloud
|
|
132
132
|
context "Specific FirewallService update tests" do
|
133
133
|
|
134
134
|
it "should have the same rule order as the input rule order" do
|
135
|
-
|
135
|
+
EdgeGateway::Configure.new(
|
136
136
|
IntegrationHelper.fixture_file('firewall_rule_order_test.yaml.mustache'),
|
137
137
|
@vars_config_file
|
138
|
-
)
|
138
|
+
).update
|
139
139
|
remote_rules = @edge_gateway.vcloud_attributes[:Configuration][:EdgeGatewayServiceConfiguration][:FirewallService][:FirewallRule]
|
140
140
|
remote_descriptions_list = remote_rules.map {|rule| rule[:Description]}
|
141
141
|
expect(remote_descriptions_list).
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
require 'tempfile'
|
3
3
|
|
4
4
|
module Vcloud
|
5
|
-
describe
|
5
|
+
describe EdgeGateway::Configure do
|
6
6
|
|
7
7
|
before(:all) do
|
8
8
|
IntegrationHelper.verify_env_vars
|
@@ -16,7 +16,7 @@ module Vcloud
|
|
16
16
|
@files_to_delete = []
|
17
17
|
end
|
18
18
|
|
19
|
-
context "Test LoadBalancerService specifics
|
19
|
+
context "Test LoadBalancerService specifics" do
|
20
20
|
|
21
21
|
before(:all) do
|
22
22
|
reset_edge_gateway
|
@@ -30,7 +30,7 @@ module Vcloud
|
|
30
30
|
before(:all) do
|
31
31
|
local_config = Core::ConfigLoader.new.load_config(
|
32
32
|
@initial_load_balancer_config_file,
|
33
|
-
Vcloud::Schema::EDGE_GATEWAY_SERVICES,
|
33
|
+
Vcloud::EdgeGateway::Schema::EDGE_GATEWAY_SERVICES,
|
34
34
|
@vars_config_file
|
35
35
|
)
|
36
36
|
@local_vcloud_config = EdgeGateway::ConfigurationGenerator::LoadBalancerService.new(
|
@@ -48,7 +48,7 @@ module Vcloud
|
|
48
48
|
it "should only make one EdgeGateway update task, to minimise EdgeGateway reload events" do
|
49
49
|
start_time = Time.now.getutc
|
50
50
|
task_list_before_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
51
|
-
|
51
|
+
EdgeGateway::Configure.new(@initial_load_balancer_config_file, @vars_config_file).update
|
52
52
|
task_list_after_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
53
53
|
expect(task_list_after_update.size - task_list_before_update.size).to be(1)
|
54
54
|
end
|
@@ -89,8 +89,8 @@ module Vcloud
|
|
89
89
|
|
90
90
|
it "should not then configure the LoadBalancerService if updated again with the same configuration" do
|
91
91
|
expect(Vcloud::Core.logger).
|
92
|
-
to receive(:info).with('
|
93
|
-
|
92
|
+
to receive(:info).with('EdgeGateway::Configure.update: Configuration is already up to date. Skipping.')
|
93
|
+
EdgeGateway::Configure.new(@initial_load_balancer_config_file, @vars_config_file).update
|
94
94
|
end
|
95
95
|
|
96
96
|
end
|
@@ -99,7 +99,7 @@ module Vcloud
|
|
99
99
|
|
100
100
|
it "should be able to configure with no pools and virtual_servers" do
|
101
101
|
config_file = IntegrationHelper.fixture_file('load_balancer_empty.yaml.mustache')
|
102
|
-
|
102
|
+
EdgeGateway::Configure.new(config_file, @vars_config_file).update
|
103
103
|
edge_config = @edge_gateway.vcloud_attributes[:Configuration]
|
104
104
|
remote_vcloud_config = edge_config[:EdgeGatewayServiceConfiguration][:LoadBalancerService]
|
105
105
|
expect(remote_vcloud_config[:Pool].size).to be == 0
|
@@ -108,7 +108,7 @@ module Vcloud
|
|
108
108
|
|
109
109
|
it "should be able to configure with a single Pool and no VirtualServers" do
|
110
110
|
config_file = IntegrationHelper.fixture_file('load_balancer_single_pool.yaml.mustache')
|
111
|
-
|
111
|
+
EdgeGateway::Configure.new(config_file, @vars_config_file).update
|
112
112
|
edge_config = @edge_gateway.vcloud_attributes[:Configuration]
|
113
113
|
remote_vcloud_config = edge_config[:EdgeGatewayServiceConfiguration][:LoadBalancerService]
|
114
114
|
expect(remote_vcloud_config[:Pool].size).to be == 1
|
@@ -116,13 +116,13 @@ module Vcloud
|
|
116
116
|
|
117
117
|
it "should raise an error when trying configure with a single VirtualServer, and no pool mentioned" do
|
118
118
|
config_file = IntegrationHelper.fixture_file('load_balancer_single_virtual_server_missing_pool.yaml.mustache')
|
119
|
-
expect {
|
119
|
+
expect { EdgeGateway::Configure.new(config_file, @vars_config_file).update }.
|
120
120
|
to raise_error('Supplied configuration does not match supplied schema')
|
121
121
|
end
|
122
122
|
|
123
123
|
it "should raise an error when trying configure with a single VirtualServer, with an unconfigured pool" do
|
124
124
|
config_file = IntegrationHelper.fixture_file('load_balancer_single_virtual_server_invalid_pool.yaml.mustache')
|
125
|
-
expect {
|
125
|
+
expect { EdgeGateway::Configure.new(config_file, @vars_config_file).update }.
|
126
126
|
to raise_error(
|
127
127
|
'Load balancer virtual server integration-test-vs-1 does not have a valid backing pool.'
|
128
128
|
)
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
require 'tempfile'
|
3
3
|
|
4
4
|
module Vcloud
|
5
|
-
describe
|
5
|
+
describe EdgeGateway::Configure do
|
6
6
|
|
7
7
|
before(:all) do
|
8
8
|
IntegrationHelper.verify_env_vars
|
@@ -16,7 +16,7 @@ module Vcloud
|
|
16
16
|
@files_to_delete = []
|
17
17
|
end
|
18
18
|
|
19
|
-
context "Test NatService specifics
|
19
|
+
context "Test NatService specifics" do
|
20
20
|
|
21
21
|
before(:all) do
|
22
22
|
reset_edge_gateway
|
@@ -30,7 +30,7 @@ module Vcloud
|
|
30
30
|
before(:all) do
|
31
31
|
local_config = Core::ConfigLoader.new.load_config(
|
32
32
|
@initial_nat_config_file,
|
33
|
-
Vcloud::Schema::EDGE_GATEWAY_SERVICES,
|
33
|
+
Vcloud::EdgeGateway::Schema::EDGE_GATEWAY_SERVICES,
|
34
34
|
@vars_config_file
|
35
35
|
)
|
36
36
|
@local_vcloud_config = EdgeGateway::ConfigurationGenerator::NatService.new(
|
@@ -47,7 +47,7 @@ module Vcloud
|
|
47
47
|
it "should only make one EdgeGateway update task, to minimise EdgeGateway reload events" do
|
48
48
|
start_time = Time.now.getutc
|
49
49
|
task_list_before_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
50
|
-
|
50
|
+
EdgeGateway::Configure.new(@initial_nat_config_file, @vars_config_file).update
|
51
51
|
task_list_after_update = get_all_edge_gateway_update_tasks_ordered_by_start_date_since_time(start_time)
|
52
52
|
expect(task_list_after_update.size - task_list_before_update.size).to be(1)
|
53
53
|
end
|
@@ -71,8 +71,8 @@ module Vcloud
|
|
71
71
|
end
|
72
72
|
|
73
73
|
it "and then should not configure the firewall service if updated again with the same configuration (idempotency)" do
|
74
|
-
expect(Vcloud::Core.logger).to receive(:info).with('
|
75
|
-
|
74
|
+
expect(Vcloud::Core.logger).to receive(:info).with('EdgeGateway::Configure.update: Configuration is already up to date. Skipping.')
|
75
|
+
EdgeGateway::Configure.new(@initial_nat_config_file, @vars_config_file).update
|
76
76
|
end
|
77
77
|
|
78
78
|
end
|
@@ -118,10 +118,10 @@ module Vcloud
|
|
118
118
|
original_ip: @int_net_ip,
|
119
119
|
})
|
120
120
|
|
121
|
-
|
121
|
+
EdgeGateway::Configure.new(
|
122
122
|
IntegrationHelper.fixture_file('hairpin_nat_config.yaml.mustache'),
|
123
123
|
vars_file
|
124
|
-
)
|
124
|
+
).update
|
125
125
|
|
126
126
|
edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@edge_name)
|
127
127
|
nat_service = edge_gateway.vcloud_attributes[:Configuration][:EdgeGatewayServiceConfiguration][:NatService]
|
@@ -148,10 +148,10 @@ module Vcloud
|
|
148
148
|
})
|
149
149
|
|
150
150
|
expect {
|
151
|
-
|
151
|
+
EdgeGateway::Configure.new(
|
152
152
|
IntegrationHelper.fixture_file('nat_config.yaml.mustache'),
|
153
153
|
vars_file
|
154
|
-
)
|
154
|
+
).update
|
155
155
|
}.to raise_error("unable to find gateway network interface with id #{random_network_id}")
|
156
156
|
end
|
157
157
|
end
|
@@ -11,7 +11,7 @@
|
|
11
11
|
port: 80, #req
|
12
12
|
protocol: 'HTTP', #req
|
13
13
|
health_check: {
|
14
|
-
port: '80' , #
|
14
|
+
port: '80' , #opt, default is ''
|
15
15
|
protocol: 'HTTP', #opt, default same as service port protocol, HTTPS => SSL
|
16
16
|
health_threshold: '1', #opt default = 2
|
17
17
|
unhealth_threshold: '6', #opt default = 3
|
@@ -24,7 +24,7 @@
|
|
24
24
|
HealthCheckPort: '',
|
25
25
|
HealthCheck:
|
26
26
|
{
|
27
|
-
Mode: "SSL", Uri: '
|
27
|
+
Mode: "SSL", Uri: '', HealthThreshold: '2', UnhealthThreshold: '3', Interval: '5', Timeout: '15'
|
28
28
|
}
|
29
29
|
},
|
30
30
|
{
|
@@ -35,7 +35,7 @@
|
|
35
35
|
HealthCheckPort: '',
|
36
36
|
HealthCheck:
|
37
37
|
{
|
38
|
-
Mode: "TCP", Uri: '
|
38
|
+
Mode: "TCP", Uri: '', HealthThreshold: '2', UnhealthThreshold: '3', Interval: '5', Timeout: '15'
|
39
39
|
}
|
40
40
|
}
|
41
41
|
],
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{
|
2
|
+
enabled: 'true', #opt
|
3
|
+
pools: [
|
4
|
+
{
|
5
|
+
name: 'web-app',
|
6
|
+
description: 'web-app',#opt
|
7
|
+
service: {
|
8
|
+
http: {
|
9
|
+
enabled: 'true', #opt, default true
|
10
|
+
algorithm: 'ROUND_ROBIN', #opt default RRB
|
11
|
+
port: 80, #req
|
12
|
+
protocol: 'HTTP', #req
|
13
|
+
health_check: {
|
14
|
+
port: '80' , #opt, default is ''
|
15
|
+
protocol: 'TCP', #opt, default same as service port protocol, HTTPS => SSL
|
16
|
+
health_threshold: '1', #opt default = 2
|
17
|
+
unhealth_threshold: '6', #opt default = 3
|
18
|
+
interval: '20', #opt default 5 sec
|
19
|
+
timeout: '25' } #optional default 15sec
|
20
|
+
}
|
21
|
+
},
|
22
|
+
members: [{ ip_address: '192.168.254.100', #req
|
23
|
+
weight: '1', #opt default = 1, NB: 0 == 'disabled',
|
24
|
+
}],
|
25
|
+
|
26
|
+
}
|
27
|
+
],
|
28
|
+
virtual_servers: [
|
29
|
+
{
|
30
|
+
name: 'router', #req
|
31
|
+
description: 'describe it', #opt
|
32
|
+
ip_address: '192.2.0.55', #req
|
33
|
+
network: '12345678-1234-1234-1234-123456789012', #req
|
34
|
+
pool: 'web-app', #req
|
35
|
+
logging: 'false', #opt, default false
|
36
|
+
service_profiles: {
|
37
|
+
http: { enabled: true, port: '80' }
|
38
|
+
},
|
39
|
+
}
|
40
|
+
]
|
41
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
{
|
2
|
+
enabled: 'true', #opt
|
3
|
+
pools: [
|
4
|
+
{
|
5
|
+
name: 'web-app',
|
6
|
+
description: 'web-app',#opt
|
7
|
+
service: {
|
8
|
+
http: {
|
9
|
+
enabled: 'true', #opt, default true
|
10
|
+
algorithm: 'ROUND_ROBIN', #opt default RRB
|
11
|
+
port: 80, #req
|
12
|
+
protocol: 'HTTP', #req
|
13
|
+
health_check: {
|
14
|
+
port: '80' , #opt, default is ''
|
15
|
+
protocol: 'TCP', #opt, default same as service port protocol, HTTPS => SSL
|
16
|
+
uri: '/notsupported', #opt
|
17
|
+
health_threshold: '1', #opt default = 2
|
18
|
+
unhealth_threshold: '6', #opt default = 3
|
19
|
+
interval: '20', #opt default 5 sec
|
20
|
+
timeout: '25' } #optional default 15sec
|
21
|
+
}
|
22
|
+
},
|
23
|
+
members: [{ ip_address: '192.168.254.100', #req
|
24
|
+
weight: '1', #opt default = 1, NB: 0 == 'disabled',
|
25
|
+
}],
|
26
|
+
|
27
|
+
}
|
28
|
+
],
|
29
|
+
virtual_servers: [
|
30
|
+
{
|
31
|
+
name: 'router', #req
|
32
|
+
description: 'describe it', #opt
|
33
|
+
ip_address: '192.2.0.55', #req
|
34
|
+
network: '12345678-1234-1234-1234-123456789012', #req
|
35
|
+
pool: 'web-app', #req
|
36
|
+
logging: 'false', #opt, default false
|
37
|
+
service_profiles: {
|
38
|
+
http: { enabled: true, port: '80' }
|
39
|
+
},
|
40
|
+
}
|
41
|
+
]
|
42
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
{
|
2
|
+
enabled: 'true', #opt
|
3
|
+
pools: [
|
4
|
+
{
|
5
|
+
name: 'test-pool-1',
|
6
|
+
description: 'Our Pool description',
|
7
|
+
service: {
|
8
|
+
https: {
|
9
|
+
algorithm: 'IP_HASH',
|
10
|
+
port: 443,
|
11
|
+
protocol: 'HTTPS',
|
12
|
+
health_check: {
|
13
|
+
uri: '/notsupported',
|
14
|
+
}
|
15
|
+
}
|
16
|
+
},
|
17
|
+
members: [
|
18
|
+
{ ip_address: '10.10.10.10', },
|
19
|
+
{ ip_address: '10.10.10.11', },
|
20
|
+
],
|
21
|
+
|
22
|
+
}
|
23
|
+
],
|
24
|
+
virtual_servers: [
|
25
|
+
{
|
26
|
+
name: 'test-vs-1',
|
27
|
+
description: 'Our VirtualServer description',
|
28
|
+
ip_address: '192.2.0.88',
|
29
|
+
network: '12345678-1234-1234-1234-123456789012',
|
30
|
+
pool: 'test-pool-1',
|
31
|
+
service_profiles: {
|
32
|
+
https: {
|
33
|
+
enabled: true,
|
34
|
+
port: '443',
|
35
|
+
persistence: {
|
36
|
+
method: 'SSL_SESSION_ID'
|
37
|
+
}
|
38
|
+
},
|
39
|
+
},
|
40
|
+
}
|
41
|
+
]
|
42
|
+
}
|
@@ -23,7 +23,7 @@
|
|
23
23
|
:HealthCheckPort: ''
|
24
24
|
:HealthCheck:
|
25
25
|
:Mode: SSL
|
26
|
-
:Uri: '
|
26
|
+
:Uri: ''
|
27
27
|
:HealthThreshold: '2'
|
28
28
|
:UnhealthThreshold: '3'
|
29
29
|
:Interval: '5'
|
@@ -35,7 +35,7 @@
|
|
35
35
|
:HealthCheckPort: ''
|
36
36
|
:HealthCheck:
|
37
37
|
:Mode: TCP
|
38
|
-
:Uri: '
|
38
|
+
:Uri: ''
|
39
39
|
:HealthThreshold: '2'
|
40
40
|
:UnhealthThreshold: '3'
|
41
41
|
:Interval: '5'
|