aws-sdk 1.6.4 → 1.6.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/aws/auto_scaling/client.rb +2 -2
- data/lib/aws/cloud_formation/client.rb +2 -2
- data/lib/aws/cloud_watch/client.rb +2 -2
- data/lib/aws/core.rb +4 -1
- data/lib/aws/core/configuration.rb +3 -0
- data/lib/aws/core/options/xml_serializer.rb +7 -16
- data/lib/aws/dynamo_db/client.rb +2 -2
- data/lib/aws/ec2/client.rb +188 -5
- data/lib/aws/ec2/key_pair_collection.rb +1 -1
- data/lib/aws/ec2/security_group.rb +36 -31
- data/lib/aws/ec2/security_group/ip_permission.rb +7 -7
- data/lib/aws/elb/backend_server_policy_collection.rb +11 -12
- data/lib/aws/elb/client.rb +2 -2
- data/lib/aws/elb/instance_collection.rb +8 -9
- data/lib/aws/elb/listener.rb +16 -15
- data/lib/aws/elb/listener_collection.rb +20 -26
- data/lib/aws/elb/load_balancer.rb +97 -69
- data/lib/aws/elb/load_balancer_collection.rb +37 -24
- data/lib/aws/elb/load_balancer_policy.rb +1 -1
- data/lib/aws/elb/load_balancer_policy_collection.rb +9 -9
- data/lib/aws/emr/client.rb +2 -2
- data/lib/aws/iam/client.rb +2 -2
- data/lib/aws/route_53/client.rb +2 -2
- data/lib/aws/s3/bucket_lifecycle_configuration.rb +25 -24
- data/lib/aws/s3/s3_object.rb +6 -2
- data/lib/aws/simple_db/client.rb +2 -2
- data/lib/aws/simple_email_service/client.rb +2 -2
- data/lib/aws/simple_workflow/client.rb +2 -2
- data/lib/aws/sns/client.rb +2 -2
- data/lib/aws/sqs/client.rb +2 -2
- data/lib/aws/sts/client.rb +2 -2
- metadata +3 -5
- data/lib/aws/api_config/.document +0 -0
- data/lib/aws/core/json_error_parser.rb +0 -25
@@ -16,14 +16,14 @@ module AWS
|
|
16
16
|
|
17
17
|
# Represents a security group in EC2.
|
18
18
|
#
|
19
|
-
# @attr_reader [String] description The short informal description
|
19
|
+
# @attr_reader [String] description The short informal description
|
20
20
|
# given when the group was created.
|
21
21
|
#
|
22
22
|
# @attr_reader [String] name The name of the security group.
|
23
23
|
#
|
24
24
|
# @attr_reader [String] owner_id The security group owner's id.
|
25
25
|
#
|
26
|
-
# @attr_reader [String,nil] vpc_id If this is a VPC security group,
|
26
|
+
# @attr_reader [String,nil] vpc_id If this is a VPC security group,
|
27
27
|
# vpc_id is the ID of the VPC this group was created in.
|
28
28
|
# Returns false otherwise.
|
29
29
|
#
|
@@ -73,10 +73,10 @@ module AWS
|
|
73
73
|
]).security_group_index.key?(id)
|
74
74
|
end
|
75
75
|
|
76
|
-
# Returns true if this security group is a VPC security group and
|
76
|
+
# Returns true if this security group is a VPC security group and
|
77
77
|
# not an EC2 security group. VPC security groups belong to a VPC
|
78
78
|
# subnet and can have egress rules.
|
79
|
-
# @return [Boolean] Returns true if this is a VPC security group and
|
79
|
+
# @return [Boolean] Returns true if this is a VPC security group and
|
80
80
|
# false if this is an EC2 security group.
|
81
81
|
def vpc?
|
82
82
|
vpc_id ? true : false
|
@@ -92,7 +92,7 @@ module AWS
|
|
92
92
|
|
93
93
|
# @return [SecurityGroup::IngressIpPermissionCollection] Returns a
|
94
94
|
# collection of {IpPermission} objects that represents all of
|
95
|
-
# the (ingress) permissions this security group has
|
95
|
+
# the (ingress) permissions this security group has
|
96
96
|
# authorizations for.
|
97
97
|
def ingress_ip_permissions
|
98
98
|
IngressIpPermissionCollection.new(self, :config => config)
|
@@ -106,7 +106,7 @@ module AWS
|
|
106
106
|
EgressIpPermissionCollection.new(self, :config => config)
|
107
107
|
end
|
108
108
|
|
109
|
-
# Adds ingress rules for ICMP pings. Defaults to 0.0.0.0/0 for
|
109
|
+
# Adds ingress rules for ICMP pings. Defaults to 0.0.0.0/0 for
|
110
110
|
# the list of allowed IP ranges the ping can come from.
|
111
111
|
#
|
112
112
|
# security_group.allow_ping # anyone can ping servers in this group
|
@@ -124,13 +124,13 @@ module AWS
|
|
124
124
|
authorize_ingress('icmp', -1, *sources)
|
125
125
|
end
|
126
126
|
|
127
|
-
# Removes ingress rules for ICMP pings. Defaults to 0.0.0.0/0 for
|
127
|
+
# Removes ingress rules for ICMP pings. Defaults to 0.0.0.0/0 for
|
128
128
|
# the list of IP ranges to revoke.
|
129
129
|
#
|
130
130
|
# @param [String] sources One or more IP ranges to disallow ping from.
|
131
131
|
# Defaults to 0.0.0.0/0
|
132
132
|
#
|
133
|
-
# @return [nil]
|
133
|
+
# @return [nil]
|
134
134
|
#
|
135
135
|
def disallow_ping *sources
|
136
136
|
sources << '0.0.0.0/0' if sources.empty?
|
@@ -141,7 +141,7 @@ module AWS
|
|
141
141
|
# Ingress rules permit inbound traffic over a given protocol for
|
142
142
|
# a given port range from one or more souce ip addresses.
|
143
143
|
#
|
144
|
-
# This example grants the whole internet (0.0.0.0/0) access to port 80
|
144
|
+
# This example grants the whole internet (0.0.0.0/0) access to port 80
|
145
145
|
# over TCP (HTTP web traffic).
|
146
146
|
#
|
147
147
|
# security_group.authorize_ingress(:tcp, 80)
|
@@ -152,19 +152,19 @@ module AWS
|
|
152
152
|
# security_group.authorize_ingress(:tcp, 20..21)
|
153
153
|
#
|
154
154
|
# == Sources
|
155
|
-
#
|
155
|
+
#
|
156
156
|
# Security groups accept ingress trafic from:
|
157
157
|
#
|
158
158
|
# * CIDR IP addresses
|
159
159
|
# * security groups
|
160
160
|
# * load balancers
|
161
|
-
#
|
161
|
+
#
|
162
162
|
# === Ip Addresses
|
163
163
|
#
|
164
|
-
# In the following example allow incoming SSH from a list of
|
164
|
+
# In the following example allow incoming SSH from a list of
|
165
165
|
# IP address ranges.
|
166
166
|
#
|
167
|
-
# security_group.authorize_ingress(:tcp, 22,
|
167
|
+
# security_group.authorize_ingress(:tcp, 22,
|
168
168
|
# '111.111.111.111/0', '222.222.222.222/0')
|
169
169
|
#
|
170
170
|
# === Security Groups
|
@@ -194,13 +194,13 @@ module AWS
|
|
194
194
|
# You can do the same with a hash as well (with either +:group_id+
|
195
195
|
# or +:group_name+):
|
196
196
|
#
|
197
|
-
# sg.authorize_ingress(:tcp, 21..22, { :group_id => 'sg-id', :user_id => 'abcxyz123' })
|
197
|
+
# sg.authorize_ingress(:tcp, 21..22, { :group_id => 'sg-id', :user_id => 'abcxyz123' })
|
198
198
|
#
|
199
199
|
# === Load Balancers
|
200
200
|
#
|
201
201
|
# If you use ELB to manage load balancers, then you need to add
|
202
202
|
# ingress permissions to the security groups they route traffic into.
|
203
|
-
# You can do this by passing the {ELB::LoadBalancer} into
|
203
|
+
# You can do this by passing the {ELB::LoadBalancer} into
|
204
204
|
# authorize_ingress:
|
205
205
|
#
|
206
206
|
# load_balancer = AWS::ELB.new.load_balancers['web-load-balancer']
|
@@ -218,14 +218,14 @@ module AWS
|
|
218
218
|
# or the string equivalent.
|
219
219
|
#
|
220
220
|
# @param [Integer, Range] ports The port (or port range) to allow
|
221
|
-
# traffic through. You can pass a single integer (like 80)
|
221
|
+
# traffic through. You can pass a single integer (like 80)
|
222
222
|
# or a range (like 20..21).
|
223
223
|
#
|
224
224
|
# @param [Mixed] sources One or more CIDR IP addresses,
|
225
225
|
# security groups, or load balancers. Security groups
|
226
226
|
# can be specified as hashes.
|
227
227
|
#
|
228
|
-
# A security group hash must provide either +:group_id+ or
|
228
|
+
# A security group hash must provide either +:group_id+ or
|
229
229
|
# +:group_name+ for the security group. If the security group
|
230
230
|
# does not belong to you aws account then you must also
|
231
231
|
# provide +:user_id+ (which can be an AWS account ID or alias).
|
@@ -240,7 +240,7 @@ module AWS
|
|
240
240
|
nil
|
241
241
|
end
|
242
242
|
|
243
|
-
# Revokes an ingress (inbound) ip permission. This is the inverse
|
243
|
+
# Revokes an ingress (inbound) ip permission. This is the inverse
|
244
244
|
# operation to {#authorize_ingress}. See {#authorize_ingress}
|
245
245
|
# for param and option documentation.
|
246
246
|
#
|
@@ -257,14 +257,14 @@ module AWS
|
|
257
257
|
end
|
258
258
|
|
259
259
|
# Authorize egress (outbound) traffic for a VPC security group.
|
260
|
-
#
|
260
|
+
#
|
261
261
|
# # allow traffic for all protocols/ports from the given sources
|
262
262
|
# security_group.authorize_egress('10.0.0.0/16', '10.0.0.1/16')
|
263
263
|
#
|
264
264
|
# # allow tcp traffic outband via port 80
|
265
265
|
# security_group.authorize_egress('10.0.0.0/16',
|
266
266
|
# :protocol => :tcp, :ports => 80..80)
|
267
|
-
#
|
267
|
+
#
|
268
268
|
# @note Calling this method on a non-VPC security group raises an error.
|
269
269
|
#
|
270
270
|
# @overload authorize_egress(*sources, options = {})
|
@@ -281,7 +281,7 @@ module AWS
|
|
281
281
|
#
|
282
282
|
# @option options [Range<Integer>,Integer] :ports (nil) An optional
|
283
283
|
# port or range of ports. This option is required depending on
|
284
|
-
# the protocol.
|
284
|
+
# the protocol.
|
285
285
|
#
|
286
286
|
# @return [nil]
|
287
287
|
#
|
@@ -292,7 +292,7 @@ module AWS
|
|
292
292
|
nil
|
293
293
|
end
|
294
294
|
|
295
|
-
# Revokes an egress (outound) ip permission. This is the inverse
|
295
|
+
# Revokes an egress (outound) ip permission. This is the inverse
|
296
296
|
# operation to {#authorize_egress}. See {#authorize_egress}
|
297
297
|
# for param and option documentation.
|
298
298
|
#
|
@@ -307,13 +307,13 @@ module AWS
|
|
307
307
|
nil
|
308
308
|
end
|
309
309
|
|
310
|
-
# Deletes this security group.
|
310
|
+
# Deletes this security group.
|
311
311
|
#
|
312
|
-
# If you attempt to delete a security group that contains
|
312
|
+
# If you attempt to delete a security group that contains
|
313
313
|
# instances, or attempt to delete a security group that is referenced
|
314
|
-
# by another security group, an error is raised. For example, if
|
315
|
-
# security group B has a rule that allows access from security
|
316
|
-
# group A, security group A cannot be deleted until the rule is
|
314
|
+
# by another security group, an error is raised. For example, if
|
315
|
+
# security group B has a rule that allows access from security
|
316
|
+
# group A, security group A cannot be deleted until the rule is
|
317
317
|
# removed.
|
318
318
|
# @return [nil]
|
319
319
|
def delete
|
@@ -321,6 +321,11 @@ module AWS
|
|
321
321
|
nil
|
322
322
|
end
|
323
323
|
|
324
|
+
# @private
|
325
|
+
def <=> other
|
326
|
+
self.id <=> other.id
|
327
|
+
end
|
328
|
+
|
324
329
|
# @private
|
325
330
|
def resource_type
|
326
331
|
'security-group'
|
@@ -361,7 +366,7 @@ module AWS
|
|
361
366
|
ensure_vpc do
|
362
367
|
|
363
368
|
last = args.last
|
364
|
-
|
369
|
+
|
365
370
|
if last.is_a?(Hash) and (last.key?(:protocol) or last.key?(:ports))
|
366
371
|
# hashes at the end of egress methods could be a hash intedned
|
367
372
|
# to be a source, like:
|
@@ -409,11 +414,11 @@ module AWS
|
|
409
414
|
when SecurityGroup
|
410
415
|
groups << { :group_id => source.id, :user_id => source.owner_id }
|
411
416
|
|
412
|
-
when ELB::LoadBalancer
|
417
|
+
when ELB::LoadBalancer
|
413
418
|
groups << source.source_security_group
|
414
419
|
|
415
420
|
when Hash
|
416
|
-
|
421
|
+
|
417
422
|
# group name or id required
|
418
423
|
unless source.has_key?(:group_id) or source.has_key?(:group_name)
|
419
424
|
raise ArgumentError, 'invalid ip permission hash, ' +
|
@@ -437,7 +442,7 @@ module AWS
|
|
437
442
|
ips << { :cidr_ip => '0.0.0.0/0' } if ips.empty? and groups.empty?
|
438
443
|
|
439
444
|
[ips, groups]
|
440
|
-
|
445
|
+
|
441
446
|
end
|
442
447
|
|
443
448
|
# @private
|
@@ -31,7 +31,7 @@ module AWS
|
|
31
31
|
# grant permission to.
|
32
32
|
#
|
33
33
|
# @option options [Boolean] :egress (false) When true this IpPermission
|
34
|
-
# is assumed to be an
|
34
|
+
# is assumed to be an egress permission.
|
35
35
|
#
|
36
36
|
def initialize security_group, protocol, ports, options = {}
|
37
37
|
|
@@ -55,7 +55,7 @@ module AWS
|
|
55
55
|
|
56
56
|
end
|
57
57
|
|
58
|
-
# @return [SecurityGroup] The security group this permission is
|
58
|
+
# @return [SecurityGroup] The security group this permission is
|
59
59
|
# authorized for.
|
60
60
|
attr_reader :security_group
|
61
61
|
|
@@ -68,8 +68,8 @@ module AWS
|
|
68
68
|
# @return [Array] An array of string CIDR ip addresses.
|
69
69
|
attr_reader :ip_ranges
|
70
70
|
|
71
|
-
# @return [Array] An array of security groups that have been
|
72
|
-
#
|
71
|
+
# @return [Array] An array of security groups that have been
|
72
|
+
# granted access with this permission.
|
73
73
|
attr_reader :groups
|
74
74
|
|
75
75
|
# @return [Boolean] True if this is an egress permission
|
@@ -99,9 +99,9 @@ module AWS
|
|
99
99
|
other.security_group == security_group and
|
100
100
|
other.protocol == protocol and
|
101
101
|
other.port_range == port_range and
|
102
|
-
other.ip_ranges == ip_ranges and
|
103
|
-
other.groups == groups and
|
104
|
-
other.egress == egress?
|
102
|
+
other.ip_ranges.sort == ip_ranges.sort and
|
103
|
+
other.groups.sort == groups.sort and
|
104
|
+
other.egress? == egress?
|
105
105
|
end
|
106
106
|
alias_method :==, :eql?
|
107
107
|
|
@@ -18,9 +18,9 @@ module AWS
|
|
18
18
|
#
|
19
19
|
# == Creating a Backend Server Policy
|
20
20
|
#
|
21
|
-
# Creating a backend server policy can be a bit tricky. A
|
22
|
-
# BackendServerAuthenticationPolicyType policy only has one
|
23
|
-
# attribute, a list of public key policies.
|
21
|
+
# Creating a backend server policy can be a bit tricky. A
|
22
|
+
# BackendServerAuthenticationPolicyType policy only has one
|
23
|
+
# attribute, a list of public key policies.
|
24
24
|
#
|
25
25
|
# Before you can assign a policy to a backend server instance port you
|
26
26
|
# must create on of the appropriate type:
|
@@ -36,7 +36,7 @@ module AWS
|
|
36
36
|
# KEY
|
37
37
|
#
|
38
38
|
# public_key_policy = load_balancer.policies.create("pkp",
|
39
|
-
# 'PublicKeyPolicyType', 'PublicKey' => public_key.strip)
|
39
|
+
# 'PublicKeyPolicyType', 'PublicKey' => public_key.strip)
|
40
40
|
#
|
41
41
|
# # step 2, create the backend server policy, passing the public key policy
|
42
42
|
#
|
@@ -54,16 +54,16 @@ module AWS
|
|
54
54
|
# can assign it to a backend instance port:
|
55
55
|
#
|
56
56
|
# load_balancer.backend_server_policies[80] = backend_policy
|
57
|
-
#
|
57
|
+
#
|
58
58
|
# If you want to remove the policy you can pass nil instead.
|
59
59
|
#
|
60
60
|
# # removes the policy from instance port 80
|
61
|
-
# load_balancer.backend_server_policies[80] = nil
|
61
|
+
# load_balancer.backend_server_policies[80] = nil
|
62
62
|
#
|
63
63
|
# You can also get the current policy:
|
64
64
|
#
|
65
65
|
# load_balancer.backend_server_policies[80] # returns a policy or nil
|
66
|
-
#
|
66
|
+
#
|
67
67
|
class BackendServerPolicyCollection
|
68
68
|
|
69
69
|
include Core::Collection::Simple
|
@@ -78,7 +78,7 @@ module AWS
|
|
78
78
|
|
79
79
|
# Returns the policy currently assigned to the given instance port.
|
80
80
|
#
|
81
|
-
# @param [Integer] instance_port The backend server port to
|
81
|
+
# @param [Integer] instance_port The backend server port to
|
82
82
|
# get the currently policy of.
|
83
83
|
#
|
84
84
|
# @return [LoadBalancerPolicy,nil] Returns the load balancer policy
|
@@ -125,10 +125,9 @@ module AWS
|
|
125
125
|
instance_port = options[:instance_port]
|
126
126
|
|
127
127
|
load_balancer.backend_server_descriptions.each do |desc|
|
128
|
-
if instance_port.nil? or desc
|
129
|
-
desc
|
130
|
-
|
131
|
-
yield(policy)
|
128
|
+
if instance_port.nil? or desc[:instance_port] == instance_port
|
129
|
+
desc[:policy_names].each do |policy_name|
|
130
|
+
yield(load_balancer.policies[policy_name])
|
132
131
|
end
|
133
132
|
end
|
134
133
|
end
|
data/lib/aws/elb/client.rb
CHANGED
@@ -17,8 +17,6 @@ module AWS
|
|
17
17
|
# Client class for Elastic Load Balancing (ELB).
|
18
18
|
class Client < Core::QueryClient
|
19
19
|
|
20
|
-
define_client_methods('2012-06-01')
|
21
|
-
|
22
20
|
# @private
|
23
21
|
CACHEABLE_REQUESTS = Set[]
|
24
22
|
|
@@ -495,6 +493,8 @@ module AWS
|
|
495
493
|
|
496
494
|
## end client methods ##
|
497
495
|
|
496
|
+
define_client_methods('2012-06-01')
|
497
|
+
|
498
498
|
end
|
499
499
|
end
|
500
500
|
end
|
@@ -15,7 +15,7 @@ module AWS
|
|
15
15
|
class ELB
|
16
16
|
|
17
17
|
class InstanceCollection
|
18
|
-
|
18
|
+
|
19
19
|
include Core::Collection::Simple
|
20
20
|
|
21
21
|
def initialize load_balancer, options = {}
|
@@ -57,7 +57,7 @@ module AWS
|
|
57
57
|
end
|
58
58
|
|
59
59
|
instance
|
60
|
-
|
60
|
+
|
61
61
|
end
|
62
62
|
|
63
63
|
# Returns an array of instance health descriptions. Each description
|
@@ -69,9 +69,9 @@ module AWS
|
|
69
69
|
#
|
70
70
|
# * +:state+ - Specifies the current state of the instance.
|
71
71
|
#
|
72
|
-
# * +:reason_code+ - Provides information about the cause of
|
73
|
-
# OutOfService instances. Specifically, it indicates whether the
|
74
|
-
# cause is Elastic Load Balancing or the instance behind the
|
72
|
+
# * +:reason_code+ - Provides information about the cause of
|
73
|
+
# OutOfService instances. Specifically, it indicates whether the
|
74
|
+
# cause is Elastic Load Balancing or the instance behind the
|
75
75
|
# load balancer.
|
76
76
|
#
|
77
77
|
# You can get the health of all instances for this load balancer
|
@@ -93,7 +93,7 @@ module AWS
|
|
93
93
|
#
|
94
94
|
# == Health for a Single Instance
|
95
95
|
#
|
96
|
-
# If you want the health of a single instance you can use the {#[]}
|
96
|
+
# If you want the health of a single instance you can use the {#[]}
|
97
97
|
# instead:
|
98
98
|
#
|
99
99
|
# load_balancer.instances['i-123456'].elb_health
|
@@ -125,7 +125,7 @@ module AWS
|
|
125
125
|
|
126
126
|
end
|
127
127
|
|
128
|
-
# @return [LoadBalancer] Returns the load balancer this collection
|
128
|
+
# @return [LoadBalancer] Returns the load balancer this collection
|
129
129
|
# belongs to.
|
130
130
|
attr_reader :load_balancer
|
131
131
|
|
@@ -164,8 +164,7 @@ module AWS
|
|
164
164
|
protected
|
165
165
|
def _each_item options = {}
|
166
166
|
load_balancer.instance_descriptions.each do |instance|
|
167
|
-
|
168
|
-
yield(instance)
|
167
|
+
yield(self[instance[:instance_id]])
|
169
168
|
end
|
170
169
|
end
|
171
170
|
|
data/lib/aws/elb/listener.rb
CHANGED
@@ -42,31 +42,31 @@ module AWS
|
|
42
42
|
# @return [LoadBalancer]
|
43
43
|
attr_reader :load_balancer
|
44
44
|
|
45
|
-
# @return [Integer]
|
45
|
+
# @return [Integer]
|
46
46
|
attr_reader :port
|
47
47
|
|
48
48
|
# @return [Symbol] Returns the protocl for this listener.
|
49
49
|
def protocol
|
50
|
-
proto = @protocol
|
50
|
+
proto = @protocol ||= _description[:listener][:protocol]
|
51
51
|
proto.to_s.downcase.to_sym
|
52
52
|
end
|
53
53
|
|
54
54
|
# @return [Integer]
|
55
55
|
def instance_port
|
56
|
-
@instance_port
|
56
|
+
@instance_port ||= _description[:listener][:instance_port]
|
57
57
|
end
|
58
58
|
|
59
59
|
# @return [Symbol]
|
60
60
|
def instance_protocol
|
61
|
-
proto = @instance_protocol
|
61
|
+
proto = @instance_protocol ||= _description[:listener][:instance_protocol]
|
62
62
|
proto.to_s.downcase.to_sym
|
63
63
|
end
|
64
64
|
|
65
|
-
# Sets the certificate that terminates the specified listener's SSL
|
66
|
-
# connections. The specified certificate replaces any prior
|
65
|
+
# Sets the certificate that terminates the specified listener's SSL
|
66
|
+
# connections. The specified certificate replaces any prior
|
67
67
|
# certificate for this listener.
|
68
68
|
#
|
69
|
-
# @param [String,IAM::ServerCertificate] server_certificate The ARN
|
69
|
+
# @param [String,IAM::ServerCertificate] server_certificate The ARN
|
70
70
|
# of an IAM::ServerCertificate or an IAM::ServerCertificate object.
|
71
71
|
#
|
72
72
|
# @return [nil]
|
@@ -89,9 +89,9 @@ module AWS
|
|
89
89
|
# associated with this listener, or nil if there is none.
|
90
90
|
def server_certificate
|
91
91
|
desc = _description
|
92
|
-
if desc
|
92
|
+
if desc[:listener][:ssl_certificate_id]
|
93
93
|
AWS.memoize do
|
94
|
-
arn = desc
|
94
|
+
arn = desc[:listener][:ssl_certificate_id]
|
95
95
|
iam = IAM.new(:config => config)
|
96
96
|
iam.server_certificates.find{|cert| cert.arn == arn }
|
97
97
|
end
|
@@ -101,10 +101,10 @@ module AWS
|
|
101
101
|
end
|
102
102
|
|
103
103
|
# @return [LoadBalancerPolicy,nil] Returns the current policy for this
|
104
|
-
# listener. Returns nil if no load balancer policy has been
|
104
|
+
# listener. Returns nil if no load balancer policy has been
|
105
105
|
# associated with it.
|
106
106
|
def policy
|
107
|
-
policy_name = _description
|
107
|
+
policy_name = _description[:policy_names].first
|
108
108
|
policy_name ? load_balancer.policies[policy_name] : nil
|
109
109
|
end
|
110
110
|
|
@@ -115,7 +115,7 @@ module AWS
|
|
115
115
|
|
116
116
|
policy_name = policy_or_policy_name.is_a?(LoadBalancerPolicy) ?
|
117
117
|
policy_or_policy_name.name : policy_or_policy_name.to_s
|
118
|
-
|
118
|
+
|
119
119
|
client.set_load_balancer_policies_of_listener(
|
120
120
|
:load_balancer_name => load_balancer.name,
|
121
121
|
:load_balancer_port => port,
|
@@ -171,16 +171,17 @@ module AWS
|
|
171
171
|
|
172
172
|
# @private
|
173
173
|
def eql? other
|
174
|
-
other.is_a?(Listener) and
|
174
|
+
other.is_a?(Listener) and
|
175
175
|
other.load_balancer == load_balancer and
|
176
176
|
other.port == port
|
177
177
|
end
|
178
178
|
alias_method :==, :eql?
|
179
179
|
|
180
180
|
protected
|
181
|
+
|
181
182
|
def _description
|
182
|
-
load_balancer.listener_descriptions.find do |desc|
|
183
|
-
desc
|
183
|
+
load_balancer.listener_descriptions.find do |desc|
|
184
|
+
desc[:listener][:load_balancer_port] == port
|
184
185
|
end
|
185
186
|
end
|
186
187
|
|