Class: Fog::Rackspace::LoadBalancers::Real
- Inherits:
-
Service
- Object
- Service
- Fog::Rackspace::LoadBalancers::Real
show all
- Includes:
- Shared
- Defined in:
- lib/fog/rackspace/load_balancers.rb,
lib/fog/rackspace/requests/load_balancers/get_node.rb,
lib/fog/rackspace/requests/load_balancers/get_stats.rb,
lib/fog/rackspace/requests/load_balancers/get_usage.rb,
lib/fog/rackspace/requests/load_balancers/list_nodes.rb,
lib/fog/rackspace/requests/load_balancers/create_node.rb,
lib/fog/rackspace/requests/load_balancers/delete_node.rb,
lib/fog/rackspace/requests/load_balancers/get_monitor.rb,
lib/fog/rackspace/requests/load_balancers/set_monitor.rb,
lib/fog/rackspace/requests/load_balancers/update_node.rb,
lib/fog/rackspace/requests/load_balancers/delete_nodes.rb,
lib/fog/rackspace/requests/load_balancers/get_error_page.rb,
lib/fog/rackspace/requests/load_balancers/list_protocols.rb,
lib/fog/rackspace/requests/load_balancers/remove_monitor.rb,
lib/fog/rackspace/requests/load_balancers/set_error_page.rb,
lib/fog/rackspace/requests/load_balancers/list_algorithms.rb,
lib/fog/rackspace/requests/load_balancers/list_virtual_ips.rb,
lib/fog/rackspace/requests/load_balancers/create_virtual_ip.rb,
lib/fog/rackspace/requests/load_balancers/delete_virtual_ip.rb,
lib/fog/rackspace/requests/load_balancers/get_load_balancer.rb,
lib/fog/rackspace/requests/load_balancers/list_access_rules.rb,
lib/fog/rackspace/requests/load_balancers/remove_error_page.rb,
lib/fog/rackspace/requests/load_balancers/create_access_rule.rb,
lib/fog/rackspace/requests/load_balancers/delete_access_rule.rb,
lib/fog/rackspace/requests/load_balancers/get_content_caching.rb,
lib/fog/rackspace/requests/load_balancers/get_ssl_termination.rb,
lib/fog/rackspace/requests/load_balancers/list_load_balancers.rb,
lib/fog/rackspace/requests/load_balancers/set_content_caching.rb,
lib/fog/rackspace/requests/load_balancers/set_ssl_termination.rb,
lib/fog/rackspace/requests/load_balancers/create_load_balancer.rb,
lib/fog/rackspace/requests/load_balancers/delete_load_balancer.rb,
lib/fog/rackspace/requests/load_balancers/update_load_balancer.rb,
lib/fog/rackspace/requests/load_balancers/get_connection_logging.rb,
lib/fog/rackspace/requests/load_balancers/remove_ssl_termination.rb,
lib/fog/rackspace/requests/load_balancers/set_connection_logging.rb,
lib/fog/rackspace/requests/load_balancers/delete_all_access_rules.rb,
lib/fog/rackspace/requests/load_balancers/get_load_balancer_usage.rb,
lib/fog/rackspace/requests/load_balancers/get_session_persistence.rb,
lib/fog/rackspace/requests/load_balancers/set_session_persistence.rb,
lib/fog/rackspace/requests/load_balancers/get_connection_throttling.rb,
lib/fog/rackspace/requests/load_balancers/set_connection_throttling.rb,
lib/fog/rackspace/requests/load_balancers/remove_session_persistence.rb,
lib/fog/rackspace/requests/load_balancers/remove_connection_throttling.rb
Instance Method Summary
collapse
-
#authenticate(options = {}) ⇒ Object
-
#create_access_rule(load_balancer_id, address, type) ⇒ Object
-
#create_load_balancer(name, protocol, port = nil, virtual_ips = [{'type' => 'PUBLIC'}], nodes = nil, options = {}) ⇒ Object
Issue an asynchronous request to create a new Load Balancer.
-
#create_node(load_balancer_id, address, port, condition, options = {}) ⇒ Object
-
#create_virtual_ip(load_balancer_id, type) ⇒ Object
-
#delete_access_rule(load_balancer_id, access_rule_id) ⇒ Object
-
#delete_all_access_rules(load_balancer_id) ⇒ Object
-
#delete_load_balancer(load_balancer_id) ⇒ Object
-
#delete_node(load_balancer_id, node_id) ⇒ Object
-
#delete_nodes(load_balancer_id, *node_ids) ⇒ Object
-
#delete_virtual_ip(load_balancer_id, virtual_ip_id) ⇒ Object
-
#endpoint_uri(service_endpoint_url = nil) ⇒ Object
-
#get_connection_logging(load_balancer_id) ⇒ Object
-
#get_connection_throttling(load_balancer_id) ⇒ Object
-
#get_content_caching(load_balancer_id) ⇒ Object
-
#get_error_page(load_balancer_id) ⇒ Object
-
#get_load_balancer(load_balancer_id) ⇒ Object
-
#get_load_balancer_usage(load_balancer_id, options = {}) ⇒ Object
-
#get_monitor(load_balancer_id) ⇒ Object
-
#get_node(load_balancer_id, node_id) ⇒ Object
-
#get_session_persistence(load_balancer_id) ⇒ Object
-
#get_ssl_termination(load_balancer_id) ⇒ Object
-
#get_stats(load_balancer_id) ⇒ Object
-
#get_usage(options = {}) ⇒ Object
-
#initialize(options = {}) ⇒ Real
constructor
-
#list_access_rules(load_balancer_id) ⇒ Object
-
#list_algorithms ⇒ Object
-
#list_load_balancers(options = {}) ⇒ Object
-
#list_nodes(load_balancer_id) ⇒ Object
-
#list_protocols ⇒ Object
-
#list_virtual_ips(load_balancer_id) ⇒ Object
-
#region ⇒ Object
-
#remove_connection_throttling(load_balancer_id) ⇒ Object
-
#remove_error_page(load_balancer_id) ⇒ Object
-
#remove_monitor(load_balancer_id) ⇒ Object
-
#remove_session_persistence(load_balancer_id) ⇒ Object
-
#remove_ssl_termination(load_balancer_id) ⇒ Object
-
#request(params, parse_json = true) ⇒ Object
-
#service_name ⇒ Object
-
#set_connection_logging(load_balancer_id, value) ⇒ Object
-
#set_connection_throttling(load_balancer_id, max_connections, min_connections, max_connection_rate, rate_interval) ⇒ Object
-
#set_content_caching(load_balancer_id, value) ⇒ Object
-
#set_error_page(load_balancer_id, content) ⇒ Object
-
#set_monitor(load_balancer_id, type, delay, timeout, attempsBeforeDeactivation, options = {}) ⇒ Object
-
#set_session_persistence(load_balancer_id, persistence_type) ⇒ Object
-
#set_ssl_termination(load_balancer_id, securePort, privatekey, certificate, options = {}) ⇒ Object
-
#update_load_balancer(load_balancer_id, options = {}) ⇒ Object
-
#update_node(load_balancer_id, node_id, options = {}) ⇒ Object
Methods included from Shared
#algorithms, #protocols, #usage
Methods inherited from Service
#request_without_retry, #service_net?
Constructor Details
#initialize(options = {}) ⇒ Real
Returns a new instance of Real.
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# File 'lib/fog/rackspace/load_balancers.rb', line 105
def initialize(options={})
@rackspace_api_key = options[:rackspace_api_key]
@rackspace_username = options[:rackspace_username]
@rackspace_auth_url = options[:rackspace_auth_url]
@rackspace_must_reauthenticate = false
@connection_options = options[:connection_options] || {}
setup_custom_endpoint(options)
authenticate
deprecation_warnings(options)
@persistent = options[:persistent] || false
@connection = Fog::Core::Connection.new(endpoint_uri.to_s, @persistent, @connection_options)
end
|
Instance Method Details
#authenticate(options = {}) ⇒ Object
134
135
136
137
138
139
140
141
|
# File 'lib/fog/rackspace/load_balancers.rb', line 134
def authenticate(options={})
super({
:rackspace_api_key => @rackspace_api_key,
:rackspace_username => @rackspace_username,
:rackspace_auth_url => @rackspace_auth_url,
:connection_options => @connection_options
})
end
|
#create_access_rule(load_balancer_id, address, type) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/fog/rackspace/requests/load_balancers/create_access_rule.rb', line 5
def create_access_rule(load_balancer_id, address, type)
data = {
'accessList' => [
{
'address' => address,
'type' => type
}
]}
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:method => 'POST',
:path => "loadbalancers/#{load_balancer_id}/accesslist"
)
end
|
#create_load_balancer(name, protocol, port = nil, virtual_ips = [{'type' => 'PUBLIC'}], nodes = nil, options = {}) ⇒ Object
Issue an asynchronous request to create a new Load Balancer.
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/fog/rackspace/requests/load_balancers/create_load_balancer.rb', line 22
def create_load_balancer(name, protocol, port = nil, virtual_ips = [{'type' => 'PUBLIC'}], nodes = nil, options = {})
lb_data = {
'name' => name,
'protocol' => protocol,
'virtualIps' => virtual_ips
}
lb_data['nodes'] = nodes if nodes && !nodes.empty?
lb_data['port'] = port if port
lb_data['algorithm'] = options[:algorithm] if options.key? :algorithm
lb_data['timeout'] = options[:timeout] if options.key? :timeout
lb_data['httpsRedirect'] = options[:https_redirect] if options.key? :https_redirect
data = { 'loadBalancer' => lb_data }
request(
:body => Fog::JSON.encode(data),
:expects => 202,
:method => 'POST',
:path => 'loadbalancers.json'
)
end
|
#create_node(load_balancer_id, address, port, condition, options = {}) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/fog/rackspace/requests/load_balancers/create_node.rb', line 5
def create_node(load_balancer_id, address, port, condition, options = {})
data = {
'nodes' => [
{
'address' => address,
'port' => port,
'condition' => condition
}
]}
if options.key?(:weight)
data['nodes'][0]['weight'] = options[:weight]
end
if options.key? :type
data['nodes'][0]['type'] = options[:type]
end
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:method => 'POST',
:path => "loadbalancers/#{load_balancer_id}/nodes.json"
)
end
|
#create_virtual_ip(load_balancer_id, type) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/fog/rackspace/requests/load_balancers/create_virtual_ip.rb', line 5
def create_virtual_ip(load_balancer_id, type)
data = {
'type' => type,
'ipVersion' => 'IPV6'
}
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:method => 'POST',
:path => "loadbalancers/#{load_balancer_id}/virtualips.json"
)
end
|
#delete_access_rule(load_balancer_id, access_rule_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/delete_access_rule.rb', line 5
def delete_access_rule(load_balancer_id, access_rule_id)
request(
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/accesslist/#{access_rule_id}",
:method => 'DELETE'
)
end
|
#delete_all_access_rules(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/delete_all_access_rules.rb', line 5
def delete_all_access_rules(load_balancer_id)
request(
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/accesslist",
:method => 'DELETE'
)
end
|
#delete_load_balancer(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/delete_load_balancer.rb', line 5
def delete_load_balancer(load_balancer_id)
request(
:expects => 202,
:path => "loadbalancers/#{load_balancer_id}.json",
:method => 'DELETE'
)
end
|
#delete_node(load_balancer_id, node_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/delete_node.rb', line 5
def delete_node(load_balancer_id, node_id)
request(
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/nodes/#{node_id}",
:method => 'DELETE'
)
end
|
#delete_nodes(load_balancer_id, *node_ids) ⇒ Object
5
6
7
8
9
10
11
12
|
# File 'lib/fog/rackspace/requests/load_balancers/delete_nodes.rb', line 5
def delete_nodes(load_balancer_id, *node_ids)
query_string = node_ids.map { |node_id| "id=#{node_id}" }.join('&')
request(
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/nodes?#{query_string}",
:method => 'DELETE'
)
end
|
#delete_virtual_ip(load_balancer_id, virtual_ip_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/delete_virtual_ip.rb', line 5
def delete_virtual_ip(load_balancer_id, virtual_ip_id)
request(
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/virtualips/#{virtual_ip_id}",
:method => 'DELETE'
)
end
|
#endpoint_uri(service_endpoint_url = nil) ⇒ Object
151
152
153
|
# File 'lib/fog/rackspace/load_balancers.rb', line 151
def endpoint_uri(service_endpoint_url=nil)
@uri = super(@rackspace_endpoint || service_endpoint_url, :rackspace_load_balancers_url)
end
|
#get_connection_logging(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/get_connection_logging.rb', line 5
def get_connection_logging(load_balancer_id)
request(
:expects => 200,
:path => "loadbalancers/#{load_balancer_id}/connectionlogging",
:method => 'GET'
)
end
|
#get_connection_throttling(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/get_connection_throttling.rb', line 5
def get_connection_throttling(load_balancer_id)
request(
:expects => 200,
:path => "loadbalancers/#{load_balancer_id}/connectionthrottle",
:method => 'GET'
)
end
|
#get_content_caching(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/get_content_caching.rb', line 5
def get_content_caching(load_balancer_id)
request(
:expects => 200,
:path => "loadbalancers/#{load_balancer_id}/contentcaching",
:method => 'GET'
)
end
|
#get_error_page(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/get_error_page.rb', line 5
def get_error_page(load_balancer_id)
request(
:expects => 200,
:path => "loadbalancers/#{load_balancer_id}/errorpage",
:method => 'GET'
)
end
|
#get_load_balancer(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/get_load_balancer.rb', line 5
def get_load_balancer(load_balancer_id)
request(
:expects => 200,
:path => "loadbalancers/#{load_balancer_id}.json",
:method => 'GET'
)
end
|
#get_load_balancer_usage(load_balancer_id, options = {}) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/fog/rackspace/requests/load_balancers/get_load_balancer_usage.rb', line 5
def get_load_balancer_usage(load_balancer_id, options = {})
if options.key? :start_time and options.key? :end_time
query = "?startTime=#{options[:start_time]}&endTime=#{options[:end_time]}"
else
query = ''
end
request(
:expects => 200,
:path => "loadbalancers/#{load_balancer_id}/usage#{query}",
:method => 'GET'
)
end
|
#get_monitor(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/get_monitor.rb', line 5
def get_monitor(load_balancer_id)
request(
:expects => 200,
:path => "loadbalancers/#{load_balancer_id}/healthmonitor",
:method => 'GET'
)
end
|
#get_node(load_balancer_id, node_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/get_node.rb', line 5
def get_node(load_balancer_id, node_id)
request(
:expects => 200,
:path => "loadbalancers/#{load_balancer_id}/nodes/#{node_id}.json",
:method => 'GET'
)
end
|
#get_session_persistence(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/get_session_persistence.rb', line 5
def get_session_persistence(load_balancer_id)
request(
:expects => 200,
:path => "loadbalancers/#{load_balancer_id}/sessionpersistence",
:method => 'GET'
)
end
|
#get_ssl_termination(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/get_ssl_termination.rb', line 5
def get_ssl_termination(load_balancer_id)
request(
:expects => [200],
:path => "loadbalancers/#{load_balancer_id}/ssltermination",
:method => 'GET'
)
end
|
#get_stats(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/get_stats.rb', line 5
def get_stats(load_balancer_id)
request(
:expects => 200,
:path => "loadbalancers/#{load_balancer_id}/stats",
:method => 'GET'
)
end
|
#get_usage(options = {}) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/fog/rackspace/requests/load_balancers/get_usage.rb', line 5
def get_usage(options = {})
if options.key? :start_time and options.key? :end_time
query = "?startTime=#{options[:start_time]}&endTime=#{options[:end_time]}"
else
query = ''
end
request(
:expects => 200,
:path => "loadbalancers/usage#{query}",
:method => 'GET'
)
end
|
#list_access_rules(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/list_access_rules.rb', line 5
def list_access_rules(load_balancer_id)
request(
:expects => 200,
:method => 'GET',
:path => "loadbalancers/#{load_balancer_id}/accesslist"
)
end
|
#list_algorithms ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/list_algorithms.rb', line 5
def list_algorithms
request(
:expects => 200,
:method => 'GET',
:path => 'loadbalancers/algorithms'
)
end
|
#list_load_balancers(options = {}) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/fog/rackspace/requests/load_balancers/list_load_balancers.rb', line 5
def list_load_balancers(options = {})
if options.key? :node_address
query_string = "?nodeaddress=#{options[:node_address]}"
else
query_string = ''
end
request(
:expects => 200,
:method => 'GET',
:path => "loadbalancers.json?#{query_string}"
)
end
|
#list_nodes(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/list_nodes.rb', line 5
def list_nodes(load_balancer_id)
request(
:expects => 200,
:method => 'GET',
:path => "loadbalancers/#{load_balancer_id}/nodes.json"
)
end
|
#list_protocols ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/list_protocols.rb', line 5
def list_protocols
request(
:expects => 200,
:method => 'GET',
:path => 'loadbalancers/protocols'
)
end
|
#list_virtual_ips(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/list_virtual_ips.rb', line 5
def list_virtual_ips(load_balancer_id)
request(
:expects => 200,
:method => 'GET',
:path => "loadbalancers/#{load_balancer_id}/virtualips.json"
)
end
|
#region ⇒ Object
147
148
149
|
# File 'lib/fog/rackspace/load_balancers.rb', line 147
def region
@rackspace_region
end
|
#remove_connection_throttling(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/remove_connection_throttling.rb', line 5
def remove_connection_throttling(load_balancer_id)
request(
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/connectionthrottle",
:method => 'DELETE'
)
end
|
#remove_error_page(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/remove_error_page.rb', line 5
def remove_error_page(load_balancer_id)
request(
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/errorpage",
:method => 'DELETE'
)
end
|
#remove_monitor(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/remove_monitor.rb', line 5
def remove_monitor(load_balancer_id)
request(
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/healthmonitor",
:method => 'DELETE'
)
end
|
#remove_session_persistence(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/remove_session_persistence.rb', line 5
def remove_session_persistence(load_balancer_id)
request(
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/sessionpersistence",
:method => 'DELETE'
)
end
|
#remove_ssl_termination(load_balancer_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/rackspace/requests/load_balancers/remove_ssl_termination.rb', line 5
def remove_ssl_termination(load_balancer_id)
request(
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/ssltermination",
:method => 'DELETE'
)
end
|
#request(params, parse_json = true) ⇒ Object
122
123
124
125
126
127
128
129
130
131
132
|
# File 'lib/fog/rackspace/load_balancers.rb', line 122
def request(params, parse_json = true)
super
rescue Excon::Errors::NotFound => error
raise NotFound.slurp(error, self)
rescue Excon::Errors::BadRequest => error
raise BadRequest.slurp(error, self)
rescue Excon::Errors::InternalServerError => error
raise InternalServerError.slurp(error, self)
rescue Excon::Errors::HTTPStatusError => error
raise ServiceError.slurp(error, self)
end
|
#service_name ⇒ Object
143
144
145
|
# File 'lib/fog/rackspace/load_balancers.rb', line 143
def service_name
:cloudLoadBalancers
end
|
#set_connection_logging(load_balancer_id, value) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/fog/rackspace/requests/load_balancers/set_connection_logging.rb', line 5
def set_connection_logging(load_balancer_id, value)
data = {
'connectionLogging' => {
'enabled' => value.to_s
}
}
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/connectionlogging",
:method => 'PUT'
)
end
|
#set_connection_throttling(load_balancer_id, max_connections, min_connections, max_connection_rate, rate_interval) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/fog/rackspace/requests/load_balancers/set_connection_throttling.rb', line 5
def set_connection_throttling(load_balancer_id, max_connections, min_connections, max_connection_rate, rate_interval)
data = {
'maxConnections' => max_connections,
'minConnections' => min_connections,
'maxConnectionRate' => max_connection_rate,
'rateInterval' => rate_interval
}
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/connectionthrottle",
:method => 'PUT'
)
end
|
#set_content_caching(load_balancer_id, value) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/fog/rackspace/requests/load_balancers/set_content_caching.rb', line 5
def set_content_caching(load_balancer_id, value)
data = {
'contentCaching' => {
'enabled' => value.to_s
}
}
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/contentcaching",
:method => 'PUT'
)
end
|
#set_error_page(load_balancer_id, content) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/fog/rackspace/requests/load_balancers/set_error_page.rb', line 5
def set_error_page(load_balancer_id, content)
data = {
'errorpage' => {
'content' => content
}
}
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/errorpage",
:method => 'PUT'
)
end
|
#set_monitor(load_balancer_id, type, delay, timeout, attempsBeforeDeactivation, options = {}) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/fog/rackspace/requests/load_balancers/set_monitor.rb', line 5
def set_monitor(load_balancer_id, type, delay, timeout, attempsBeforeDeactivation, options = {})
data = {
'type' => type,
'delay' => delay,
'timeout' => timeout,
'attemptsBeforeDeactivation' => attempsBeforeDeactivation
}
if options.key? :path
data['path'] = options[:path]
end
if options.key? :body_regex
data['bodyRegex'] = options[:body_regex]
end
if options.key? :status_regex
data['statusRegex'] = options[:status_regex]
end
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/healthmonitor",
:method => 'PUT'
)
end
|
#set_session_persistence(load_balancer_id, persistence_type) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/fog/rackspace/requests/load_balancers/set_session_persistence.rb', line 5
def set_session_persistence(load_balancer_id, persistence_type)
data = {
'sessionPersistence' => {
'persistenceType' => persistence_type
}
}
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/sessionpersistence",
:method => 'PUT'
)
end
|
#set_ssl_termination(load_balancer_id, securePort, privatekey, certificate, options = {}) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/fog/rackspace/requests/load_balancers/set_ssl_termination.rb', line 5
def set_ssl_termination(load_balancer_id, securePort, privatekey, certificate, options = {})
data = {
:securePort => securePort,
:privatekey => privatekey,
:certificate => certificate
}
if options.key? :intermediate_certificate
data['intermediateCertificate'] = options[:intermediate_certificate]
end
if options.key? :enabled
data['enabled'] = options[:enabled]
end
if options.key? :secure_traffic_only
data['secureTrafficOnly'] = options[:secure_traffic_only]
end
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:path => "loadbalancers/#{load_balancer_id}/ssltermination",
:method => 'PUT'
)
end
|
#update_load_balancer(load_balancer_id, options = {}) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/fog/rackspace/requests/load_balancers/update_load_balancer.rb', line 5
def update_load_balancer(load_balancer_id, options = {})
data = {
'loadBalancer' => {
'name' => options[:name],
'port' => options[:port],
'protocol' => options[:protocol],
'algorithm' => options[:algorithm],
'timeout' => options[:timeout],
'httpsRedirect' => options[:https_redirect]
}
}
request(
:body => Fog::JSON.encode(data),
:expects => 202,
:method => 'PUT',
:path => "loadbalancers/#{load_balancer_id}.json"
)
end
|
#update_node(load_balancer_id, node_id, options = {}) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/fog/rackspace/requests/load_balancers/update_node.rb', line 5
def update_node(load_balancer_id, node_id, options = {})
data = {
'node' => {}
}
if options.key? :weight
data['node']['weight'] = options[:weight]
end
if options.key? :condition
data['node']['condition'] = options[:condition]
end
if options.key? :type
data['node']['type'] = options[:type]
end
request(
:body => Fog::JSON.encode(data),
:expects => [200, 202],
:method => 'PUT',
:path => "loadbalancers/#{load_balancer_id}/nodes/#{node_id}.json"
)
end
|