From fc29d82c4dce318c24bfb8f7f544e19a76824b83 Mon Sep 17 00:00:00 2001 From: Alex Malinovich Date: Mon, 3 May 2010 07:21:35 +0800 Subject: [PATCH] [elb] Adding ELB-specific indexed_param --- lib/fog/aws/elb.rb | 11 ++++++++++- lib/fog/aws/requests/elb/describe_load_balancers.rb | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/fog/aws/elb.rb b/lib/fog/aws/elb.rb index 15df342ef7..59f739b57a 100644 --- a/lib/fog/aws/elb.rb +++ b/lib/fog/aws/elb.rb @@ -19,12 +19,21 @@ def self.new(options={}) Fog::AWS::ELB::Real.new(options) end + def self.indexed_param(key, values, idx_offset = 0) + params = {} + key.concat(".%") unless key.include?("%") + [*values].each_with_index do |value, index| + params["#{key.gsub("%", (index + idx_offset).to_s)}"] = value + end + return params + end + class Real # Initialize connection to ELB # # ==== Notes - # options parameter must include values for :aws_access_key_id and + # options parameter must include values for :aws_access_key_id and # :aws_secret_access_key in order to create a connection # # ==== Examples diff --git a/lib/fog/aws/requests/elb/describe_load_balancers.rb b/lib/fog/aws/requests/elb/describe_load_balancers.rb index 32c0d6833a..72a79796af 100644 --- a/lib/fog/aws/requests/elb/describe_load_balancers.rb +++ b/lib/fog/aws/requests/elb/describe_load_balancers.rb @@ -36,7 +36,7 @@ class Real # * 'AvailabilityZones'<~Array> - list of availability zones covered by this load balancer # * 'Instances'<~Array> - list of instances that the load balancer balances between def describe_load_balancers(lb_name = []) - params = AWS.indexed_param('LoadBalancerNames.member', [*lb_name]) + params = ELB.indexed_param('LoadBalancerNames.member', [*lb_name], 1) request({ 'Action' => 'DescribeLoadBalancers', :parser => Fog::Parsers::AWS::ELB::DescribeLoadBalancers.new