vcloud-edge_gateway 0.4.0 → 0.5.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 (39) hide show
  1. data/CHANGELOG.md +6 -0
  2. data/README.md +28 -0
  3. data/bin/vcloud-configure-edge +3 -2
  4. data/lib/vcloud/edge_gateway.rb +5 -6
  5. data/lib/vcloud/edge_gateway/configuration_generator/load_balancer_service.rb +14 -10
  6. data/lib/vcloud/edge_gateway/configure.rb +32 -0
  7. data/lib/vcloud/edge_gateway/schema/edge_gateway.rb +18 -0
  8. data/lib/vcloud/edge_gateway/schema/firewall_service.rb +41 -0
  9. data/lib/vcloud/edge_gateway/schema/load_balancer_service.rb +183 -0
  10. data/lib/vcloud/edge_gateway/schema/nat_service.rb +38 -0
  11. data/lib/vcloud/edge_gateway/version.rb +1 -1
  12. data/spec/integration/edge_gateway/data/load_balancer_config.yaml.mustache +4 -0
  13. data/spec/integration/edge_gateway/edge_gateway_services_spec.rb +6 -6
  14. data/spec/integration/edge_gateway/firewall_service_spec.rb +9 -9
  15. data/spec/integration/edge_gateway/load_balancer_service_spec.rb +10 -10
  16. data/spec/integration/edge_gateway/nat_service_spec.rb +10 -10
  17. data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-input.yaml +1 -1
  18. data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-output.yaml +2 -2
  19. data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-tcp-healthcheck-input.yaml +41 -0
  20. data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-tcp-healthcheck-with-uri-input.yaml +42 -0
  21. data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-healthcheck-uri-input.yaml +42 -0
  22. data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-output.yaml +2 -2
  23. data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_mixed_complex-output.yaml +3 -3
  24. data/spec/vcloud/edge_gateway/configuration_generator/load_balancer_service_spec.rb +64 -3
  25. data/spec/vcloud/edge_gateway/edge_gateway_configuration_spec.rb +6 -6
  26. data/spec/vcloud/edge_gateway/firewall_schema_validation_spec.rb +2 -2
  27. data/spec/vcloud/edge_gateway/load_balancer_schema_validation_spec.rb +123 -7
  28. data/spec/vcloud/edge_gateway/nat_schema_validation_spec.rb +4 -4
  29. metadata +14 -18
  30. data/lib/vcloud/edge_gateway_services.rb +0 -31
  31. data/lib/vcloud/schema/edge_gateway.rb +0 -16
  32. data/lib/vcloud/schema/firewall_service.rb +0 -39
  33. data/lib/vcloud/schema/load_balancer_service.rb +0 -132
  34. data/lib/vcloud/schema/nat_service.rb +0 -35
  35. data/spec/vcloud/data/basic_preamble_test.erb +0 -8
  36. data/spec/vcloud/data/basic_preamble_test.erb.OUT +0 -8
  37. data/spec/vcloud/data/working.json +0 -21
  38. data/spec/vcloud/data/working.yaml +0 -22
  39. data/spec/vcloud/data/working_with_defaults.yaml +0 -25
@@ -22,3 +22,7 @@ load_balancer_service:
22
22
  service_profiles:
23
23
  http:
24
24
  port: 8080
25
+ persistence:
26
+ method: COOKIE
27
+ cookie_name: JSESSIONID
28
+ cookie_mode: APP
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
  require 'tempfile'
3
3
 
4
4
  module Vcloud
5
- describe EdgeGatewayServices do
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 EdgeGatewayServices with multiple services" do
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
- EdgeGatewayServices.new.update(@initial_config_file, @vars_config_file)
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
- EdgeGatewayServices.new.update(@initial_config_file, @vars_config_file)
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
- EdgeGatewayServices.new.update(@adding_load_balancer_config_file, @vars_config_file)
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
- EdgeGatewayServices.new.update(@adding_load_balancer_config_file, @vars_config_file)
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 EdgeGatewayServices do
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 of EdgeGatewayServices" do
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
- EdgeGatewayServices.new.update(@initial_firewall_config_file, @vars_config_file)
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('EdgeGatewayServices.update: Configuration is already up to date. Skipping.')
63
- EdgeGatewayServices.new.update(@initial_firewall_config_file, @vars_config_file)
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
- EdgeGatewayServices.new.update(
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 EdgeGatewayServices do
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 of EdgeGatewayServices" do
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
- EdgeGatewayServices.new.update(@initial_load_balancer_config_file, @vars_config_file)
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('EdgeGatewayServices.update: Configuration is already up to date. Skipping.')
93
- EdgeGatewayServices.new.update(@initial_load_balancer_config_file, @vars_config_file)
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
- EdgeGatewayServices.new.update(config_file, @vars_config_file)
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
- EdgeGatewayServices.new.update(config_file, @vars_config_file)
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 { EdgeGatewayServices.new.update(config_file, @vars_config_file) }.
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 { EdgeGatewayServices.new.update(config_file, @vars_config_file) }.
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 EdgeGatewayServices do
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 of EdgeGatewayServices" do
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
- EdgeGatewayServices.new.update(@initial_nat_config_file, @vars_config_file)
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('EdgeGatewayServices.update: Configuration is already up to date. Skipping.')
75
- EdgeGatewayServices.new.update(@initial_nat_config_file, @vars_config_file)
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
- EdgeGatewayServices.new.update(
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
- EdgeGatewayServices.new.update(
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' , #req
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: '/', HealthThreshold: '2', UnhealthThreshold: '3', Interval: '5', Timeout: '15'
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: '/', HealthThreshold: '2', UnhealthThreshold: '3', Interval: '5', Timeout: '15'
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'