Sha256: 9e6b66d4de244a28276a15bdf02a2715b7175534cc09d1744ac8670f423a8b91

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

require 'rackspace-fog/aws/models/elb/load_balancer'
module Fog
  module AWS
    class ELB
      class LoadBalancers < Fog::Collection
        model Fog::AWS::ELB::LoadBalancer

        # Creates a new load balancer
        def initialize(attributes={})
          super
        end

        def all
          result = []
          marker = nil
          finished = false
          while !finished
            data = connection.describe_load_balancers('Marker' => marker).body
            result.concat(data['DescribeLoadBalancersResult']['LoadBalancerDescriptions'])
            marker = data['DescribeLoadBalancersResult']['NextMarker']
            finished = marker.nil?
          end
          load(result) # data is an array of attribute hashes
        end

        def get(identity)
          if identity
            data = connection.describe_load_balancers('LoadBalancerNames' => identity).body['DescribeLoadBalancersResult']['LoadBalancerDescriptions'].first
            new(data)
          end
        rescue Fog::AWS::ELB::NotFound
          nil
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rackspace-fog-1.4.2 lib/rackspace-fog/aws/models/elb/load_balancers.rb