zeus-api 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,134 @@
1
+
2
+ require 'rubygems'
3
+ gem 'soap4r'
4
+
5
+ require 'soap/mapping'
6
+
7
+ module PoolMappingRegistry
8
+ EncodedRegistry = ::SOAP::Mapping::EncodedRegistry.new
9
+ LiteralRegistry = ::SOAP::Mapping::LiteralRegistry.new
10
+ NsC_10 = "http://soap.zeus.com/zxtm/1.0/"
11
+
12
+ EncodedRegistry.set(
13
+ PoolLoadBalancingAlgorithmArray,
14
+ ::SOAP::SOAPArray,
15
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
16
+ { :type => XSD::QName.new("http://soap.zeus.com/zxtm/1.0/", "Pool.LoadBalancingAlgorithm") }
17
+ )
18
+
19
+ EncodedRegistry.register(
20
+ :class => PoolPriorityValueDefinition,
21
+ :schema_type => XSD::QName.new(NsC_10, "Pool.PriorityValueDefinition"),
22
+ :schema_element => [
23
+ ["node", ["SOAP::SOAPString", XSD::QName.new(nil, "node")]],
24
+ ["priority", ["SOAP::SOAPInt", XSD::QName.new(nil, "priority")]]
25
+ ]
26
+ )
27
+
28
+ EncodedRegistry.set(
29
+ PoolPriorityValueDefinitionArray,
30
+ ::SOAP::SOAPArray,
31
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
32
+ { :type => XSD::QName.new(NsC_10, "Pool.PriorityValueDefinition") }
33
+ )
34
+
35
+ EncodedRegistry.set(
36
+ PoolPriorityValueDefinitionArrayArray,
37
+ ::SOAP::SOAPArray,
38
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
39
+ { :type => XSD::QName.new(NsC_10, "Pool.PriorityValueDefinitionArray") }
40
+ )
41
+
42
+ EncodedRegistry.register(
43
+ :class => PoolWeightingsDefinition,
44
+ :schema_type => XSD::QName.new(NsC_10, "Pool.WeightingsDefinition"),
45
+ :schema_element => [
46
+ ["node", ["SOAP::SOAPString", XSD::QName.new(nil, "node")]],
47
+ ["weighting", ["SOAP::SOAPInt", XSD::QName.new(nil, "weighting")]]
48
+ ]
49
+ )
50
+
51
+ EncodedRegistry.set(
52
+ PoolWeightingsDefinitionArray,
53
+ ::SOAP::SOAPArray,
54
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
55
+ { :type => XSD::QName.new(NsC_10, "Pool.WeightingsDefinition") }
56
+ )
57
+
58
+ EncodedRegistry.set(
59
+ PoolWeightingsDefinitionArrayArray,
60
+ ::SOAP::SOAPArray,
61
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
62
+ { :type => XSD::QName.new(NsC_10, "Pool.WeightingsDefinitionArray") }
63
+ )
64
+
65
+ EncodedRegistry.set(
66
+ StringArray,
67
+ ::SOAP::SOAPArray,
68
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
69
+ { :type => XSD::QName.new("http://www.w3.org/2001/XMLSchema", "string") }
70
+ )
71
+
72
+ EncodedRegistry.set(
73
+ StringArrayArray,
74
+ ::SOAP::SOAPArray,
75
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
76
+ { :type => XSD::QName.new(NsC_10, "StringArray") }
77
+ )
78
+
79
+ EncodedRegistry.set(
80
+ BooleanArray,
81
+ ::SOAP::SOAPArray,
82
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
83
+ { :type => XSD::QName.new("http://www.w3.org/2001/XMLSchema", "boolean") }
84
+ )
85
+
86
+ EncodedRegistry.set(
87
+ BooleanArrayArray,
88
+ ::SOAP::SOAPArray,
89
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
90
+ { :type => XSD::QName.new(NsC_10, "booleanArray") }
91
+ )
92
+
93
+ EncodedRegistry.set(
94
+ IntArray,
95
+ ::SOAP::SOAPArray,
96
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
97
+ { :type => XSD::QName.new("http://www.w3.org/2001/XMLSchema", "int") }
98
+ )
99
+
100
+ EncodedRegistry.set(
101
+ UnsignedIntArray,
102
+ ::SOAP::SOAPArray,
103
+ ::SOAP::Mapping::EncodedRegistry::TypedArrayFactory,
104
+ { :type => XSD::QName.new("http://www.w3.org/2001/XMLSchema", "unsignedInt") }
105
+ )
106
+
107
+ EncodedRegistry.register(
108
+ :class => PoolLoadBalancingAlgorithm,
109
+ :schema_type => XSD::QName.new(NsC_10, "Pool.LoadBalancingAlgorithm")
110
+ )
111
+
112
+ LiteralRegistry.register(
113
+ :class => PoolPriorityValueDefinition,
114
+ :schema_type => XSD::QName.new(NsC_10, "Pool.PriorityValueDefinition"),
115
+ :schema_element => [
116
+ ["node", ["SOAP::SOAPString", XSD::QName.new(nil, "node")]],
117
+ ["priority", ["SOAP::SOAPInt", XSD::QName.new(nil, "priority")]]
118
+ ]
119
+ )
120
+
121
+ LiteralRegistry.register(
122
+ :class => PoolWeightingsDefinition,
123
+ :schema_type => XSD::QName.new(NsC_10, "Pool.WeightingsDefinition"),
124
+ :schema_element => [
125
+ ["node", ["SOAP::SOAPString", XSD::QName.new(nil, "node")]],
126
+ ["weighting", ["SOAP::SOAPInt", XSD::QName.new(nil, "weighting")]]
127
+ ]
128
+ )
129
+
130
+ LiteralRegistry.register(
131
+ :class => PoolLoadBalancingAlgorithm,
132
+ :schema_type => XSD::QName.new(NsC_10, "Pool.LoadBalancingAlgorithm")
133
+ )
134
+ end
@@ -0,0 +1,245 @@
1
+
2
+ #
3
+ # PoolService
4
+ #
5
+ # This class provides a facade for SOAP method calls to the
6
+ # ZXTM Pool web service.
7
+ class PoolService
8
+
9
+ attr_accessor :driver
10
+
11
+ def initialize(endpoint=nil, username=nil, password=nil)
12
+ @driver = PoolPort.new(endpoint)
13
+ @driver.options["protocol.http.ssl_config.verify_mode"] = OpenSSL::SSL::VERIFY_NONE
14
+ @driver.options["protocol.http.basic_auth"] << [endpoint, username, password]
15
+ end
16
+
17
+ # Returns a list of pool names
18
+ #
19
+ # Args
20
+ # N/A
21
+ #
22
+ # Examples
23
+ # list() - Returns all pool names
24
+ #
25
+ def list()
26
+ result = []
27
+ pools = @driver.getPoolNames
28
+ pools.length.times do |i|
29
+ result << pools[i]
30
+ end
31
+ return result
32
+ end
33
+
34
+ # Creates new pool
35
+ #
36
+ # Args
37
+ # name (String) - Pool's name
38
+ # vs_info (Array) - Pool's nodes
39
+ #
40
+ # Examples
41
+ # create("web-pool", ["10.0.0.2", "10.0.0.3"]) - Creates new pool called "web-pool" with 2 nodes
42
+ #
43
+ def create(name=nil, nodes=[])
44
+ @driver.addPool([name], [nodes])
45
+ end
46
+
47
+ # Copies a pool
48
+ #
49
+ # Args
50
+ # name (String) - Name of current pool
51
+ # new_name (String) - Name of new pool
52
+ #
53
+ # Examples
54
+ # copy(name, new_name) - Copies pool called "name" to a new pool, called "new_name"
55
+ #
56
+ def copy(name, new_name)
57
+ @driver.copyPool([name], [new_name])
58
+ end
59
+
60
+ # Renames a pool
61
+ #
62
+ # Args
63
+ # name (String) - Current name of pool
64
+ # new_name (String) - New name of pool
65
+ #
66
+ # Examples
67
+ # rename(name, new_name) - Renames pool "name" to "new_name"
68
+ #
69
+ def rename(name, new_name)
70
+ @driver.renamePool([name], [new_name])
71
+ end
72
+
73
+ # Deletes a pool
74
+ #
75
+ # Args
76
+ # name (String) - Name of pool
77
+ #
78
+ # Examples
79
+ # delete(name) - Deletes pool called "name"
80
+ #
81
+ def delete(name)
82
+ @driver.deletePool([name])
83
+ end
84
+
85
+ # Sets or return failure pool for pool
86
+ #
87
+ # Args
88
+ # name (String) - Pool name
89
+ # nodes (Array) - Nodes (["host1:port", "host2:port"])
90
+ #
91
+ # Examples
92
+ # failure_pool("test", "failure_pool")
93
+ # failure_pool("test") - Returns
94
+ #
95
+ def failure_pool(name, failure_name=nil)
96
+ if failure_name.nil?
97
+ @driver.getFailurePool([name])
98
+ else
99
+ @driver.setFailurePool([name],[failure_name])
100
+ end
101
+ end
102
+
103
+
104
+ # Returns a list of nodes within a pool
105
+ #
106
+ # Args
107
+ # name (String) - Pool name
108
+ #
109
+ # Examples
110
+ # list_nodes(name) - Returns nodes for pool "name"
111
+ #
112
+ def list_nodes(name, status=nil)
113
+ result = []
114
+ valid_status = [:all, :draining]
115
+ status = :all if status.nil? or !valid_status.include?(status)
116
+
117
+ case status
118
+ when :all
119
+ result = @driver.getNodes([name])
120
+ when :draining
121
+ result = @driver.getDrainingNodes([name])
122
+ end
123
+
124
+ return result
125
+
126
+ end
127
+
128
+ # Adds a node to a pool
129
+ #
130
+ # Args
131
+ # name (String) - Pool name
132
+ # node (String) - Node ("host:port")
133
+ #
134
+ # Examples
135
+ # add_node("pool", "host:80") - Returns nodes for pool "name"
136
+ #
137
+ def add_node(name, node)
138
+ @driver.addNodes([name], [[node]])
139
+ end
140
+
141
+ # Adds nodes to a pool
142
+ #
143
+ # Args
144
+ # name (String) - Pool name
145
+ # nodes (Array) - Nodes (["host1:port", "host2:port"])
146
+ #
147
+ # Examples
148
+ # add_nodes("pool",["host1:80", "host2:80"])
149
+ #
150
+ def add_nodes(name, nodes)
151
+ @driver.addNodes([name], [nodes])
152
+ end
153
+
154
+ # Removes a node from a pool
155
+ #
156
+ # Args
157
+ # name (String) - Pool name
158
+ # node (String) - Node ("host:port")
159
+ #
160
+ # Examples
161
+ # remove_node("pool", "host:80")
162
+ #
163
+ def remove_node(name, node)
164
+ @driver.removeNodes([name], [[node]])
165
+ end
166
+
167
+ # Removes nodes to a pool
168
+ #
169
+ # Args
170
+ # name (String) - Pool name
171
+ # nodes (Array) - Nodes (["host1:port", "host2:port"])
172
+ #
173
+ # Examples
174
+ # remove_nodes("pool",["host1:80", "host2:80"])
175
+ #
176
+ def remove_nodes(name, nodes)
177
+ @driver.removeNodes([name], [nodes])
178
+ end
179
+
180
+ # Mark a node as draining
181
+ #
182
+ # Args
183
+ # name (String) - Pool name
184
+ # node (String) - Node ("host:port")
185
+ #
186
+ # Examples
187
+ # add_draining_node("pool", "host:80")
188
+ #
189
+ def drain_node(name, node)
190
+ @driver.addDrainingNodes([name], [[node]])
191
+ end
192
+
193
+ # Mark nodes as draining
194
+ #
195
+ # Args
196
+ # name (String) - Pool name
197
+ # nodes (Array) - Nodes (["host1:port", "host2:port"])
198
+ #
199
+ # Examples
200
+ # add_draining_nodes("pool",["host1:80", "host2:80"])
201
+ #
202
+ def drain_nodes(name, nodes)
203
+ @driver.addDrainingNodes([name], [nodes])
204
+ end
205
+
206
+ # Mark a draining node as active
207
+ #
208
+ # Args
209
+ # name (String) - Pool name
210
+ # node (String) - Node ("host:port")
211
+ #
212
+ # Examples
213
+ # remove_draining_node("pool", "host:80")
214
+ #
215
+ def undrain_node(name, node)
216
+ @driver.removeDrainingNodes([name], [[node]])
217
+ end
218
+
219
+ # Mark draining nodes as active
220
+ #
221
+ # Args
222
+ # name (String) - Pool name
223
+ # nodes (Array) - Nodes (["host1:port", "host2:port"])
224
+ #
225
+ # Examples
226
+ # remove_draining_nodes("pool",["host1:80", "host2:80"])
227
+ #
228
+ def undrain_nodes(name, nodes)
229
+ @driver.removeDrainingNodes([name], [nodes])
230
+ end
231
+
232
+ # Return current connection count for node
233
+ #
234
+ # Args
235
+ # name (String) - Pool name
236
+ # nodes (Array) - Nodes (["host1:port", "host2:port"])
237
+ #
238
+ # Examples
239
+ # remove_draining_nodes("pool",["host1:80", "host2:80"])
240
+ #
241
+ def connection_count(node)
242
+ @driver.getNodesConnectionCounts([node])
243
+ end
244
+
245
+ end
@@ -0,0 +1,255 @@
1
+ require 'xsd/qname'
2
+
3
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.BasicInfo
4
+ # port - SOAP::SOAPInt
5
+ # protocol - VirtualServerProtocol
6
+ # default_pool - SOAP::SOAPString
7
+ class VirtualServerBasicInfo
8
+ attr_accessor :port
9
+ attr_accessor :protocol
10
+ attr_accessor :default_pool
11
+
12
+ def initialize(port = nil, protocol = nil, default_pool = nil)
13
+ @port = port
14
+ @protocol = protocol
15
+ @default_pool = default_pool
16
+ end
17
+ end
18
+
19
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.FTPPortRange
20
+ # low - SOAP::SOAPInt
21
+ # high - SOAP::SOAPInt
22
+ class VirtualServerFTPPortRange
23
+ attr_accessor :low
24
+ attr_accessor :high
25
+
26
+ def initialize(low = nil, high = nil)
27
+ @low = low
28
+ @high = high
29
+ end
30
+ end
31
+
32
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.PortRange
33
+ # low - SOAP::SOAPInt
34
+ # high - SOAP::SOAPInt
35
+ class VirtualServerPortRange
36
+ attr_accessor :low
37
+ attr_accessor :high
38
+
39
+ def initialize(low = nil, high = nil)
40
+ @low = low
41
+ @high = high
42
+ end
43
+ end
44
+
45
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.RegexReplacement
46
+ # regex - SOAP::SOAPString
47
+ # replacement - SOAP::SOAPString
48
+ class VirtualServerRegexReplacement
49
+ attr_accessor :regex
50
+ attr_accessor :replacement
51
+
52
+ def initialize(regex = nil, replacement = nil)
53
+ @regex = regex
54
+ @replacement = replacement
55
+ end
56
+ end
57
+
58
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.Rule
59
+ # name - SOAP::SOAPString
60
+ # enabled - SOAP::SOAPBoolean
61
+ # run_frequency - VirtualServerRuleRunFlag
62
+ class VirtualServerRule
63
+ attr_accessor :name
64
+ attr_accessor :enabled
65
+ attr_accessor :run_frequency
66
+
67
+ def initialize(name = nil, enabled = nil, run_frequency = nil)
68
+ @name = name
69
+ @enabled = enabled
70
+ @run_frequency = run_frequency
71
+ end
72
+ end
73
+
74
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SSLSite
75
+ # dest_address - SOAP::SOAPString
76
+ # certificate - SOAP::SOAPString
77
+ class VirtualServerSSLSite
78
+ attr_accessor :dest_address
79
+ attr_accessor :certificate
80
+
81
+ def initialize(dest_address = nil, certificate = nil)
82
+ @dest_address = dest_address
83
+ @certificate = certificate
84
+ end
85
+ end
86
+
87
+ # {http://soap.zeus.com/zxtm/1.0/}StringArray
88
+ class StringArray < ::Array
89
+ end
90
+
91
+ # {http://soap.zeus.com/zxtm/1.0/}StringArrayArray
92
+ class StringArrayArray < ::Array
93
+ end
94
+
95
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.BasicInfoArray
96
+ class VirtualServerBasicInfoArray < ::Array
97
+ end
98
+
99
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.CookieDomainRewriteModeArray
100
+ class VirtualServerCookieDomainRewriteModeArray < ::Array
101
+ end
102
+
103
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.CookieSecureFlagRewriteModeArray
104
+ class VirtualServerCookieSecureFlagRewriteModeArray < ::Array
105
+ end
106
+
107
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.FTPPortRangeArray
108
+ class VirtualServerFTPPortRangeArray < ::Array
109
+ end
110
+
111
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.LocationDefaultRewriteModeArray
112
+ class VirtualServerLocationDefaultRewriteModeArray < ::Array
113
+ end
114
+
115
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.PortRangeArray
116
+ class VirtualServerPortRangeArray < ::Array
117
+ end
118
+
119
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.ProtocolArray
120
+ class VirtualServerProtocolArray < ::Array
121
+ end
122
+
123
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.RegexReplacementArray
124
+ class VirtualServerRegexReplacementArray < ::Array
125
+ end
126
+
127
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.RuleArray
128
+ class VirtualServerRuleArray < ::Array
129
+ end
130
+
131
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.RuleArrayArray
132
+ class VirtualServerRuleArrayArray < ::Array
133
+ end
134
+
135
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SIPDangerousRequestModeArray
136
+ class VirtualServerSIPDangerousRequestModeArray < ::Array
137
+ end
138
+
139
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SIPModeArray
140
+ class VirtualServerSIPModeArray < ::Array
141
+ end
142
+
143
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SSLClientCertificateHeadersArray
144
+ class VirtualServerSSLClientCertificateHeadersArray < ::Array
145
+ end
146
+
147
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SSLRequestClientCertModeArray
148
+ class VirtualServerSSLRequestClientCertModeArray < ::Array
149
+ end
150
+
151
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SSLSiteArray
152
+ class VirtualServerSSLSiteArray < ::Array
153
+ end
154
+
155
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SSLSiteArrayArray
156
+ class VirtualServerSSLSiteArrayArray < ::Array
157
+ end
158
+
159
+ # {http://soap.zeus.com/zxtm/1.0/}booleanArray
160
+ class BooleanArray < ::Array
161
+ end
162
+
163
+ # {http://soap.zeus.com/zxtm/1.0/}booleanArrayArray
164
+ class BooleanArrayArray < ::Array
165
+ end
166
+
167
+ # {http://soap.zeus.com/zxtm/1.0/}intArray
168
+ class IntArray < ::Array
169
+ end
170
+
171
+ # {http://soap.zeus.com/zxtm/1.0/}unsignedIntArray
172
+ class UnsignedIntArray < ::Array
173
+ end
174
+
175
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.CookieDomainRewriteMode
176
+ class VirtualServerCookieDomainRewriteMode < ::String
177
+ No_rewrite = VirtualServerCookieDomainRewriteMode.new("no_rewrite")
178
+ Set_to_named = VirtualServerCookieDomainRewriteMode.new("set_to_named")
179
+ Set_to_request = VirtualServerCookieDomainRewriteMode.new("set_to_request")
180
+ end
181
+
182
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.CookieSecureFlagRewriteMode
183
+ class VirtualServerCookieSecureFlagRewriteMode < ::String
184
+ No_modify = VirtualServerCookieSecureFlagRewriteMode.new("no_modify")
185
+ Set_secure = VirtualServerCookieSecureFlagRewriteMode.new("set_secure")
186
+ Unset_secure = VirtualServerCookieSecureFlagRewriteMode.new("unset_secure")
187
+ end
188
+
189
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.LocationDefaultRewriteMode
190
+ class VirtualServerLocationDefaultRewriteMode < ::String
191
+ Always = VirtualServerLocationDefaultRewriteMode.new("always")
192
+ If_host_matches = VirtualServerLocationDefaultRewriteMode.new("if_host_matches")
193
+ Never = VirtualServerLocationDefaultRewriteMode.new("never")
194
+ end
195
+
196
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.Protocol
197
+ class VirtualServerProtocol < ::String
198
+ Client_first = VirtualServerProtocol.new("client_first")
199
+ Dns = VirtualServerProtocol.new("dns")
200
+ DnsTcp = VirtualServerProtocol.new("dns-tcp")
201
+ Ftp = VirtualServerProtocol.new("ftp")
202
+ Http = VirtualServerProtocol.new("http")
203
+ Https = VirtualServerProtocol.new("https")
204
+ Imaps = VirtualServerProtocol.new("imaps")
205
+ Imapv2 = VirtualServerProtocol.new("imapv2")
206
+ Imapv3 = VirtualServerProtocol.new("imapv3")
207
+ Imapv4 = VirtualServerProtocol.new("imapv4")
208
+ Ldap = VirtualServerProtocol.new("ldap")
209
+ Ldaps = VirtualServerProtocol.new("ldaps")
210
+ Pop3 = VirtualServerProtocol.new("pop3")
211
+ Pop3s = VirtualServerProtocol.new("pop3s")
212
+ Rtsp = VirtualServerProtocol.new("rtsp")
213
+ Server_first = VirtualServerProtocol.new("server_first")
214
+ Siptcp = VirtualServerProtocol.new("siptcp")
215
+ Sipudp = VirtualServerProtocol.new("sipudp")
216
+ Smtp = VirtualServerProtocol.new("smtp")
217
+ Ssl = VirtualServerProtocol.new("ssl")
218
+ Telnet = VirtualServerProtocol.new("telnet")
219
+ Udp = VirtualServerProtocol.new("udp")
220
+ Udpstreaming = VirtualServerProtocol.new("udpstreaming")
221
+ end
222
+
223
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.RuleRunFlag
224
+ class VirtualServerRuleRunFlag < ::String
225
+ Only_first = VirtualServerRuleRunFlag.new("only_first")
226
+ Run_every = VirtualServerRuleRunFlag.new("run_every")
227
+ end
228
+
229
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SIPDangerousRequestMode
230
+ class VirtualServerSIPDangerousRequestMode < ::String
231
+ Forbid = VirtualServerSIPDangerousRequestMode.new("forbid")
232
+ Forward = VirtualServerSIPDangerousRequestMode.new("forward")
233
+ Node = VirtualServerSIPDangerousRequestMode.new("node")
234
+ end
235
+
236
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SIPMode
237
+ class VirtualServerSIPMode < ::String
238
+ Fullgw = VirtualServerSIPMode.new("fullgw")
239
+ Route = VirtualServerSIPMode.new("route")
240
+ Sipgw = VirtualServerSIPMode.new("sipgw")
241
+ end
242
+
243
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SSLClientCertificateHeaders
244
+ class VirtualServerSSLClientCertificateHeaders < ::String
245
+ All = VirtualServerSSLClientCertificateHeaders.new("all")
246
+ None = VirtualServerSSLClientCertificateHeaders.new("none")
247
+ Simple = VirtualServerSSLClientCertificateHeaders.new("simple")
248
+ end
249
+
250
+ # {http://soap.zeus.com/zxtm/1.0/}VirtualServer.SSLRequestClientCertMode
251
+ class VirtualServerSSLRequestClientCertMode < ::String
252
+ Dont_request = VirtualServerSSLRequestClientCertMode.new("dont_request")
253
+ Request = VirtualServerSSLRequestClientCertMode.new("request")
254
+ Require = VirtualServerSSLRequestClientCertMode.new("require")
255
+ end