mirror of
				https://github.com/fog/fog-aws.git
				synced 2022-11-09 13:50:52 -05:00 
			
		
		
		
	Merge pull request #536 from KevinLoiseau/fix/elbv2_describe_load_balancer_parser
Fix load balancers parser to handle more than one availability zone with addresses
This commit is contained in:
		
						commit
						bd38f8035c
					
				
					 3 changed files with 16 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -5,7 +5,7 @@ module Fog
 | 
			
		|||
        class DescribeLoadBalancers < Fog::Parsers::Base
 | 
			
		||||
          def reset
 | 
			
		||||
            reset_load_balancer
 | 
			
		||||
            @availability_zone = { 'LoadBalancerAddresses' => [] }
 | 
			
		||||
            reset_availability_zone
 | 
			
		||||
            @load_balancer_addresses = {}
 | 
			
		||||
            @state = {}
 | 
			
		||||
            @results = { 'LoadBalancers' => [] }
 | 
			
		||||
| 
						 | 
				
			
			@ -16,6 +16,10 @@ module Fog
 | 
			
		|||
            @load_balancer = { 'SecurityGroups' => [], 'AvailabilityZones' => [] }
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          def reset_availability_zone
 | 
			
		||||
            @availability_zone = { 'LoadBalancerAddresses' => [] }
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          def start_element(name, attrs = [])
 | 
			
		||||
            super
 | 
			
		||||
            case name
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +41,7 @@ module Fog
 | 
			
		|||
                @availability_zone['LoadBalancerAddresses'] << @load_balancer_addresses
 | 
			
		||||
              elsif @in_availability_zones
 | 
			
		||||
                @load_balancer['AvailabilityZones'] << @availability_zone
 | 
			
		||||
                @availability_zone = {}
 | 
			
		||||
                reset_availability_zone
 | 
			
		||||
              elsif @in_security_groups
 | 
			
		||||
                @load_balancer['SecurityGroups'] << value
 | 
			
		||||
              else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,6 +20,12 @@ DESCRIBE_LOAD_BALANCERS_RESULT = <<-EOF
 | 
			
		|||
          <member>
 | 
			
		||||
            <SubnetId>subnet-b7d581c0</SubnetId>
 | 
			
		||||
            <ZoneName>us-west-2b</ZoneName>
 | 
			
		||||
            <LoadBalancerAddresses>
 | 
			
		||||
              <member>
 | 
			
		||||
                <IpAddress>127.0.0.1</IpAddress>
 | 
			
		||||
                <AllocationId>eipalloc-1c2ab192c131q2377</AllocationId>
 | 
			
		||||
              </member>
 | 
			
		||||
            </LoadBalancerAddresses>
 | 
			
		||||
          </member>
 | 
			
		||||
        </AvailabilityZones>
 | 
			
		||||
        <SecurityGroups>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,10 @@ class AWS
 | 
			
		|||
      }
 | 
			
		||||
 | 
			
		||||
      LOAD_BALANCER = {
 | 
			
		||||
        "AvailabilityZones" => Array,
 | 
			
		||||
        "AvailabilityZones" => [{
 | 
			
		||||
          "SubnetId" => String, "ZoneName" => String,
 | 
			
		||||
          "LoadBalancerAddresses" => [Fog::Nullable::Hash]
 | 
			
		||||
        }],
 | 
			
		||||
        "LoadBalancerArn" => String,
 | 
			
		||||
        "DNSName" => String,
 | 
			
		||||
        "CreatedTime" => Time,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue