1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
module Fog
module Parsers
module AWS
module ELB
class DescribeLoadBalancerAttributes < Fog::Parsers::Base
def reset
@response = { 'DescribeLoadBalancerAttributesResult' => { 'LoadBalancerAttributes' => {} }, 'ResponseMetadata' => {} }
@stack = []
end
def start_element(name, attrs = [])
super
case name
when 'ConnectionDraining'
@connection_draining = {}
when 'CrossZoneLoadBalancing'
@cross_zone_load_balancing = {}
when 'ConnectionSettings'
@connection_settings = {}
end
end
def end_element(name)
case name
when 'Enabled'
if @cross_zone_load_balancing
@cross_zone_load_balancing['Enabled'] = value == 'true' ? true : false
elsif @connection_draining
@connection_draining['Enabled'] = value == 'true' ? true : false
end
when 'IdleTimeout'
@connection_settings['IdleTimeout'] = value.to_i
when 'Timeout'
if @connection_draining
@connection_draining['Timeout'] = value.to_i
end
when 'ConnectionDraining'
@response['DescribeLoadBalancerAttributesResult']['LoadBalancerAttributes']['ConnectionDraining'] = @connection_draining
@connection_draining = nil
when 'CrossZoneLoadBalancing'
@response['DescribeLoadBalancerAttributesResult']['LoadBalancerAttributes']['CrossZoneLoadBalancing'] = @cross_zone_load_balancing
@cross_zone_load_balancing = nil
when 'ConnectionSettings'
@response['DescribeLoadBalancerAttributesResult']['LoadBalancerAttributes']['ConnectionSettings'] = @connection_settings
@connection_settings = nil
when 'RequestId'
@response['ResponseMetadata'][name] = value
end
end
end
end
end
end
end
|