Class: Fog::Rackspace::LoadBalancers::LoadBalancer
- Inherits:
-
Model
- Object
- Model
- Fog::Rackspace::LoadBalancers::LoadBalancer
show all
- Defined in:
- lib/fog/rackspace/models/load_balancers/load_balancer.rb
Constant Summary
collapse
- ACTIVE =
'ACTIVE'
- ERROR =
'ERROR'
- PENDING_UPDATE =
'PENDING_UPDATE'
- PENDING_DELTE =
'PENDING_DELETE'
- SUSPENDED =
'SUSPENDED'
- DELETED =
'DELETED'
- BUILD =
'BUILD'
Instance Attribute Summary
Attributes inherited from Model
#collection, #connection
Instance Method Summary
collapse
-
#access_rules ⇒ Object
-
#access_rules=(new_access_rules = []) ⇒ Object
-
#connection_throttling ⇒ Object
-
#destroy ⇒ Object
-
#disable_connection_logging ⇒ Object
-
#disable_connection_throttling ⇒ Object
-
#disable_health_monitor ⇒ Object
-
#disable_session_persistence ⇒ Object
-
#disable_ssl_termination ⇒ Object
-
#enable_connection_logging ⇒ Object
-
#enable_connection_throttling(max_connections, min_connections, max_connection_rate, rate_interval) ⇒ Object
-
#enable_health_monitor(type, delay, timeout, attempsBeforeDeactivation, options = {}) ⇒ Object
-
#enable_session_persistence(type) ⇒ Object
-
#enable_ssl_termination(securePort, privatekey, certificate, options = {}) ⇒ Object
-
#error_page ⇒ Object
-
#error_page=(content) ⇒ Object
-
#health_monitor ⇒ Object
-
#initialize(attributes) ⇒ LoadBalancer
constructor
A new instance of LoadBalancer.
-
#nodes ⇒ Object
-
#nodes=(new_nodes = []) ⇒ Object
-
#ready? ⇒ Boolean
-
#reset_error_page ⇒ Object
-
#save ⇒ Object
-
#session_persistence ⇒ Object
-
#ssl_termination ⇒ Object
-
#usage(options = {}) ⇒ Object
-
#virtual_ips ⇒ Object
-
#virtual_ips=(new_virtual_ips = []) ⇒ Object
Methods inherited from Model
#inspect, #reload, #symbolize_keys, #to_json, #wait_for
#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes
#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #requires, #requires_one
Constructor Details
#initialize(attributes) ⇒ LoadBalancer
Returns a new instance of LoadBalancer.
31
32
33
34
35
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 31
def initialize(attributes)
@connection = attributes[:connection]
super
end
|
Instance Method Details
#access_rules ⇒ Object
37
38
39
40
41
42
43
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 37
def access_rules
@access_rules ||= begin
Fog::Rackspace::LoadBalancers::AccessRules.new({
:connection => connection,
:load_balancer => self})
end
end
|
#access_rules=(new_access_rules = []) ⇒ Object
45
46
47
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 45
def access_rules=(new_access_rules=[])
access_rules.load(new_access_rules)
end
|
#connection_throttling ⇒ Object
120
121
122
123
124
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 120
def connection_throttling
requires :identity
throttle = connection.get_connection_throttling(identity).body['connectionThrottle']
throttle.count == 0 ? nil : throttle
end
|
#destroy ⇒ Object
156
157
158
159
160
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 156
def destroy
requires :identity
connection.delete_load_balancer(identity)
true
end
|
#disable_connection_logging ⇒ Object
96
97
98
99
100
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 96
def disable_connection_logging
requires :identity
connection.set_connection_logging identity, false
attributes[:connection_logging] = false
end
|
#disable_connection_throttling ⇒ Object
132
133
134
135
136
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 132
def disable_connection_throttling
requires :identity
connection.remove_connection_throttling(identity)
true
end
|
#disable_health_monitor ⇒ Object
114
115
116
117
118
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 114
def disable_health_monitor
requires :identity
connection.remove_monitor(identity)
true
end
|
#disable_session_persistence ⇒ Object
150
151
152
153
154
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 150
def disable_session_persistence
requires :identity
connection.remove_session_persistence(identity)
true
end
|
#disable_ssl_termination ⇒ Object
73
74
75
76
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 73
def disable_ssl_termination
requires :identity
connection.remove_ssl_termination(identity)
end
|
#enable_connection_logging ⇒ Object
90
91
92
93
94
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 90
def enable_connection_logging
requires :identity
connection.set_connection_logging identity, true
attributes[:connection_logging] = true
end
|
#enable_connection_throttling(max_connections, min_connections, max_connection_rate, rate_interval) ⇒ Object
126
127
128
129
130
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 126
def enable_connection_throttling(max_connections, min_connections, max_connection_rate, rate_interval)
requires :identity
connection.set_connection_throttling(identity, max_connections, min_connections, max_connection_rate, rate_interval)
true
end
|
#enable_health_monitor(type, delay, timeout, attempsBeforeDeactivation, options = {}) ⇒ Object
108
109
110
111
112
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 108
def enable_health_monitor(type, delay, timeout, attempsBeforeDeactivation, options = {})
requires :identity
connection.set_monitor(identity, type, delay, timeout, attempsBeforeDeactivation, options)
true
end
|
#enable_session_persistence(type) ⇒ Object
144
145
146
147
148
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 144
def enable_session_persistence(type)
requires :identity
connection.set_session_persistence(identity, type)
true
end
|
#enable_ssl_termination(securePort, privatekey, certificate, options = {}) ⇒ Object
68
69
70
71
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 68
def enable_ssl_termination(securePort, privatekey, certificate, options = {})
requires :identity
connection.set_ssl_termination(identity, securePort, privatekey, certificate, options)
end
|
#error_page ⇒ Object
180
181
182
183
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 180
def error_page
requires :identity
connection.get_error_page(identity).body['errorpage']['content']
end
|
#error_page=(content) ⇒ Object
185
186
187
188
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 185
def error_page=(content)
requires :identity
connection.set_error_page identity, content
end
|
#health_monitor ⇒ Object
102
103
104
105
106
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 102
def health_monitor
requires :identity
monitor = connection.get_monitor(identity).body['healthMonitor']
monitor.count == 0 ? nil : monitor
end
|
#nodes ⇒ Object
49
50
51
52
53
54
55
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 49
def nodes
@nodes ||= begin
Fog::Rackspace::LoadBalancers::Nodes.new({
:connection => connection,
:load_balancer => self})
end
end
|
#nodes=(new_nodes = []) ⇒ Object
57
58
59
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 57
def nodes=(new_nodes=[])
nodes.load(new_nodes)
end
|
#ready? ⇒ Boolean
162
163
164
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 162
def ready?
state == ACTIVE
end
|
#reset_error_page ⇒ Object
190
191
192
193
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 190
def reset_error_page
requires :identity
connection.remove_error_page identity
end
|
#save ⇒ Object
166
167
168
169
170
171
172
173
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 166
def save
if identity
update
else
create
end
true
end
|
#session_persistence ⇒ Object
138
139
140
141
142
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 138
def session_persistence
requires :identity
persistence = connection.get_session_persistence(identity).body['sessionPersistence']
persistence.count == 0 ? nil : persistence
end
|
#ssl_termination ⇒ Object
61
62
63
64
65
66
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 61
def ssl_termination
requires :identity
ssl_termination = connection.get_ssl_termination(identity).body['sslTermination']
rescue Fog::Rackspace::LoadBalancers::NotFound
nil
end
|
#usage(options = {}) ⇒ Object
175
176
177
178
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 175
def usage(options = {})
requires :identity
connection.get_load_balancer_usage(identity, options).body
end
|
#virtual_ips ⇒ Object
78
79
80
81
82
83
84
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 78
def virtual_ips
@virtual_ips ||= begin
Fog::Rackspace::LoadBalancers::VirtualIps.new({
:connection => connection,
:load_balancer => self})
end
end
|
#virtual_ips=(new_virtual_ips = []) ⇒ Object
86
87
88
|
# File 'lib/fog/rackspace/models/load_balancers/load_balancer.rb', line 86
def virtual_ips=(new_virtual_ips=[])
virtual_ips.load(new_virtual_ips)
end
|