aws 2.10.0 → 2.10.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63a65490209cc977d00bd5a333e68cca85f0f42f
4
- data.tar.gz: 2d3ebf015650c457255f462e915a11b075978b29
3
+ metadata.gz: bff10a7cac38b08d6fe22df978795da02d3986d8
4
+ data.tar.gz: 16cc29bd2736fa5bcdacabeb1cfce739645a34b2
5
5
  SHA512:
6
- metadata.gz: 8cf175cc6880a04a0ccd28dbb3155bf1860b7e518a5da70556adf272bc9e7215438c99c4ff9807dfa388cb69573afb01429bf0be026ea41afbb77b6df505274c
7
- data.tar.gz: d27ce54b64df2fa43544863cea493833889346dacb663d462ca2a656db355cbaa959b23c89a0d96a35d4a50afa127da0c801ec81b076bea8ffe39acab3ad0943
6
+ metadata.gz: 654cec5b0dde5782803b0f5c5f59d8e41b444c6ccc8599f953a7e8c8891b6b71bf3808476de48e891eab55f62b8c750c20c5894a0e6928a306e0e3c4f87ec4fa
7
+ data.tar.gz: 867f637b84da19d74f9d439b684dfd1a1d7efbeec677e7fd217bcb040f8bd0c6932189f52a4871b27037ded5446f6dd073223a2fc06fbc2f33592d721f8fc1b2
@@ -145,6 +145,7 @@ module Aws
145
145
  @params[:port] = URI.parse(@params[:endpoint_url]).port
146
146
  @params[:service] = URI.parse(@params[:endpoint_url]).path
147
147
  @params[:protocol] = URI.parse(@params[:endpoint_url]).scheme
148
+ @params[:api_version] ||= service_info[:api_version]
148
149
  @params[:region] = nil
149
150
  else
150
151
  @params[:server] ||= service_info[:default_host]
@@ -554,6 +554,7 @@ module Aws
554
554
  'AddressingType' => options[:addressing_type] || DEFAULT_ADDRESSING_TYPE,
555
555
  'InstanceType' => options[:instance_type] || DEFAULT_INSTANCE_TYPE})
556
556
  # optional params
557
+ params.merge!(hash_params('SecurityGroupId',options[:SecurityGroupId].to_a)) unless Aws::Utils.blank?(options[:SecurityGroupId])
557
558
  params['KeyName'] = options[:key_name] unless Aws::Utils.blank?(options[:key_name])
558
559
  params['KernelId'] = options[:kernel_id] unless Aws::Utils.blank?(options[:kernel_id])
559
560
  params['RamdiskId'] = options[:ramdisk_id] unless Aws::Utils.blank?(options[:ramdisk_id])
@@ -8,7 +8,7 @@ module Aws
8
8
 
9
9
 
10
10
  #Amazon ELB API version being used
11
- API_VERSION = "2009-05-15"
11
+ API_VERSION = "2012-06-01"
12
12
  DEFAULT_HOST = "elasticloadbalancing.amazonaws.com"
13
13
  DEFAULT_PATH = '/'
14
14
  DEFAULT_PROTOCOL = 'https'
@@ -108,6 +108,52 @@ module Aws
108
108
  on_exception
109
109
  end
110
110
 
111
+ #
112
+ # name: name of load balancer
113
+ # listeners: array of hashes containing :load_balancer_port, :instance_port, :protocol
114
+ # eg: {:load_balancer_port=>80, :instance_port=>8080, :protocol=>"HTTP"}
115
+ #
116
+ def create_load_balancer_listeners(name, listeners)
117
+ params = {}
118
+ params['LoadBalancerName'] = name
119
+ i = 1
120
+ listeners.each do |l|
121
+ params["Listeners.member.#{i}.Protocol"] = "#{l[:protocol]}"
122
+ params["Listeners.member.#{i}.LoadBalancerPort"] = "#{l[:load_balancer_port]}"
123
+ params["Listeners.member.#{i}.InstancePort"] = "#{l[:instance_port]}"
124
+ i += 1
125
+ end
126
+
127
+ @logger.info("Creating Listeners for LoadBalancer #{name}")
128
+
129
+ link = generate_request("CreateLoadBalancerListeners", params)
130
+ resp = request_info(link, QElbEmptyResponseParser.new(:logger => @logger))
131
+
132
+ rescue Exception
133
+ on_exception
134
+ end
135
+
136
+ #
137
+ # name: name of load balancer
138
+ # ports: array of client port number(s) of the load balancer listener(s) to be removed.
139
+ #
140
+ def delete_load_balancer_listeners(name, ports)
141
+ params = {}
142
+ params['LoadBalancerName'] = name
143
+ i = 1
144
+ ports.each do |l|
145
+ params["LoadBalancerPorts.member.#{i}"] = "#{l}"
146
+ i += 1
147
+ end
148
+
149
+ @logger.info("Deleting Listeners for LoadBalancer #{name}")
150
+
151
+ link = generate_request("DeleteLoadBalancerListeners", params)
152
+ resp = request_info(link, QElbEmptyResponseParser.new(:logger => @logger))
153
+
154
+ rescue Exception
155
+ on_exception
156
+ end
111
157
 
112
158
  # name: name of load balancer
113
159
  # instance_ids: array of instance_id's to add to load balancer
@@ -149,6 +195,30 @@ module Aws
149
195
  on_exception
150
196
  end
151
197
 
198
+ # name: name of load balancer
199
+ # healthy_threshold: number of successful probes required to enter Healthy state.
200
+ # unhealthy_threshold: number of unsuccessful probes required to enter Unhealthy state.
201
+ # interval: interval between probes (seconds)
202
+ # target: probe target (protocol:port[/path])
203
+ # timeout: probe response timeout
204
+ def configure_health_check(name, healthy_threshold, unhealthy_threshold, interval, target, timeout )
205
+ params = {}
206
+ params['LoadBalancerName'] = name
207
+ params['HealthCheck.HealthyThreshold'] = "#{healthy_threshold}"
208
+ params['HealthCheck.UnhealthyThreshold'] = "#{unhealthy_threshold}"
209
+ params['HealthCheck.Interval'] = "#{interval}"
210
+ params['HealthCheck.Target'] = target
211
+ params['HealthCheck.Timeout'] = "#{timeout}"
212
+
213
+ @logger.info("Configuring health check for Load Balancer '#{name}'")
214
+
215
+ link = generate_request("ConfigureHealthCheck", params)
216
+ resp = request_info(link, QElbConfigureHealthCheckParser.new(:logger => @logger))
217
+
218
+ rescue Exception
219
+ on_exception
220
+ end
221
+
152
222
 
153
223
  def describe_load_balancers(lparams={})
154
224
  @logger.info("Describing Load Balancers")
@@ -196,7 +266,7 @@ module Aws
196
266
 
197
267
  link = generate_request("DeleteLoadBalancer", params)
198
268
 
199
- resp = request_info(link, QElbDeleteParser.new(:logger => @logger))
269
+ resp = request_info(link, QElbEmptyResponseParser.new(:logger => @logger))
200
270
 
201
271
  rescue Exception
202
272
  on_exception
@@ -231,7 +301,7 @@ module Aws
231
301
 
232
302
  def tagstart(name, attributes)
233
303
  # puts 'tagstart ' + name + ' -- ' + @xmlpath
234
- if (name == 'member' && @xmlpath == 'DescribeLoadBalancersResponse/DescribeLoadBalancersResult/LoadBalancerDescriptions/member/Listeners')
304
+ if (name == 'member' && @xmlpath == 'DescribeLoadBalancersResponse/DescribeLoadBalancersResult/LoadBalancerDescriptions/member/ListenerDescriptions')
235
305
  @listener = {}
236
306
  end
237
307
  if (name == 'member' && @xmlpath == 'DescribeLoadBalancersResponse/DescribeLoadBalancersResult/LoadBalancerDescriptions/member/AvailabilityZones')
@@ -280,7 +350,7 @@ module Aws
280
350
  @member[:health_check][:unhealthy_threshold] = @text.to_i
281
351
  # AvailabilityZones
282
352
  when 'member' then
283
- if @xmlpath == 'DescribeLoadBalancersResponse/DescribeLoadBalancersResult/LoadBalancerDescriptions/member/Listeners'
353
+ if @xmlpath == 'DescribeLoadBalancersResponse/DescribeLoadBalancersResult/LoadBalancerDescriptions/member/ListenerDescriptions'
284
354
  @member[:listeners] << @listener
285
355
  elsif @xmlpath == 'DescribeLoadBalancersResponse/DescribeLoadBalancersResult/LoadBalancerDescriptions/member/AvailabilityZones'
286
356
  @availability_zone = @text
@@ -323,6 +393,35 @@ module Aws
323
393
  #
324
394
  end
325
395
 
396
+ class QElbConfigureHealthCheckParser < AwsParser
397
+
398
+ def reset
399
+ @result = {}
400
+ end
401
+
402
+ def tagstart(name, attributes)
403
+ if name == 'HealthCheck'
404
+ @result[:health_check] = {}
405
+ end
406
+ end
407
+
408
+ def tagend(name)
409
+ case name
410
+ when 'HealthyThreshold' then
411
+ @result[:health_check][:healthy_threshold] = @text.to_i
412
+ when 'UnhealthyThreshold' then
413
+ @result[:health_check][:unhealthy_threshold] = @text.to_i
414
+ when 'Interval' then
415
+ @result[:health_check][:interval] = @text.to_i
416
+ when 'Target' then
417
+ @result[:health_check][:target] = @text
418
+ when 'Timeout' then
419
+ @result[:health_check][:timeout] = @text.to_i
420
+ end
421
+ end
422
+ #
423
+ end
424
+
326
425
  class QElbDescribeInstancesHealthParser < AwsParser
327
426
 
328
427
  def reset
@@ -353,7 +452,7 @@ module Aws
353
452
  #
354
453
  end
355
454
 
356
- class QElbDeleteParser < AwsParser
455
+ class QElbEmptyResponseParser < AwsParser
357
456
  def reset
358
457
  @result = true
359
458
  end
@@ -363,4 +462,5 @@ module Aws
363
462
  end
364
463
 
365
464
 
366
- end
465
+ end
466
+
@@ -1,3 +1,3 @@
1
1
  module Aws
2
- VERSION = "2.10.0"
2
+ VERSION = "2.10.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.10.0
4
+ version: 2.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Travis Reeder
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-04-01 00:00:00.000000000 Z
13
+ date: 2014-06-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: uuidtools