aws-sdk-autoscaling 1.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/aws-sdk-autoscaling.rb +58 -0
- data/lib/aws-sdk-autoscaling/activity.rb +161 -0
- data/lib/aws-sdk-autoscaling/auto_scaling_group.rb +1045 -0
- data/lib/aws-sdk-autoscaling/client.rb +2764 -0
- data/lib/aws-sdk-autoscaling/client_api.rb +1422 -0
- data/lib/aws-sdk-autoscaling/customizations.rb +7 -0
- data/lib/aws-sdk-autoscaling/errors.rb +23 -0
- data/lib/aws-sdk-autoscaling/instance.rb +416 -0
- data/lib/aws-sdk-autoscaling/launch_configuration.rb +236 -0
- data/lib/aws-sdk-autoscaling/lifecycle_hook.rb +329 -0
- data/lib/aws-sdk-autoscaling/load_balancer.rb +219 -0
- data/lib/aws-sdk-autoscaling/notification_configuration.rb +199 -0
- data/lib/aws-sdk-autoscaling/resource.rb +695 -0
- data/lib/aws-sdk-autoscaling/scaling_policy.rb +258 -0
- data/lib/aws-sdk-autoscaling/scheduled_action.rb +183 -0
- data/lib/aws-sdk-autoscaling/tag.rb +260 -0
- data/lib/aws-sdk-autoscaling/types.rb +3557 -0
- data/lib/aws-sdk-autoscaling/waiters.rb +146 -0
- metadata +91 -0
@@ -0,0 +1,329 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing for info on making contributions:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
module Aws
|
9
|
+
module AutoScaling
|
10
|
+
class LifecycleHook
|
11
|
+
|
12
|
+
extend Aws::Deprecations
|
13
|
+
|
14
|
+
# @overload def initialize(group_name, name, options = {})
|
15
|
+
# @param [String] group_name
|
16
|
+
# @param [String] name
|
17
|
+
# @option options [Client] :client
|
18
|
+
# @overload def initialize(options = {})
|
19
|
+
# @option options [required, String] :group_name
|
20
|
+
# @option options [required, String] :name
|
21
|
+
# @option options [Client] :client
|
22
|
+
def initialize(*args)
|
23
|
+
options = Hash === args.last ? args.pop.dup : {}
|
24
|
+
@group_name = extract_group_name(args, options)
|
25
|
+
@name = extract_name(args, options)
|
26
|
+
@data = options.delete(:data)
|
27
|
+
@client = options.delete(:client) || Client.new(options)
|
28
|
+
end
|
29
|
+
|
30
|
+
# @!group Read-Only Attributes
|
31
|
+
|
32
|
+
# @return [String]
|
33
|
+
def group_name
|
34
|
+
@group_name
|
35
|
+
end
|
36
|
+
alias :auto_scaling_group_name :group_name
|
37
|
+
|
38
|
+
# @return [String]
|
39
|
+
def name
|
40
|
+
@name
|
41
|
+
end
|
42
|
+
alias :lifecycle_hook_name :name
|
43
|
+
|
44
|
+
# The state of the EC2 instance to which you want to attach the
|
45
|
+
# lifecycle hook. For a list of lifecycle hook types, see
|
46
|
+
# DescribeLifecycleHookTypes.
|
47
|
+
# @return [String]
|
48
|
+
def lifecycle_transition
|
49
|
+
data.lifecycle_transition
|
50
|
+
end
|
51
|
+
|
52
|
+
# The ARN of the notification target that Auto Scaling uses to notify
|
53
|
+
# you when an instance is in the transition state for the lifecycle
|
54
|
+
# hook. This ARN target can be either an SQS queue or an SNS topic. The
|
55
|
+
# notification message sent to the target includes the following:
|
56
|
+
#
|
57
|
+
# * Lifecycle action token
|
58
|
+
#
|
59
|
+
# * User account ID
|
60
|
+
#
|
61
|
+
# * Name of the Auto Scaling group
|
62
|
+
#
|
63
|
+
# * Lifecycle hook name
|
64
|
+
#
|
65
|
+
# * EC2 instance ID
|
66
|
+
#
|
67
|
+
# * Lifecycle transition
|
68
|
+
#
|
69
|
+
# * Notification metadata
|
70
|
+
# @return [String]
|
71
|
+
def notification_target_arn
|
72
|
+
data.notification_target_arn
|
73
|
+
end
|
74
|
+
|
75
|
+
# The ARN of the IAM role that allows the Auto Scaling group to publish
|
76
|
+
# to the specified notification target.
|
77
|
+
# @return [String]
|
78
|
+
def role_arn
|
79
|
+
data.role_arn
|
80
|
+
end
|
81
|
+
|
82
|
+
# Additional information that you want to include any time Auto Scaling
|
83
|
+
# sends a message to the notification target.
|
84
|
+
# @return [String]
|
85
|
+
def notification_metadata
|
86
|
+
data.notification_metadata
|
87
|
+
end
|
88
|
+
|
89
|
+
# The maximum time, in seconds, that can elapse before the lifecycle
|
90
|
+
# hook times out. The default is 3600 seconds (1 hour). When the
|
91
|
+
# lifecycle hook times out, Auto Scaling performs the default action.
|
92
|
+
# You can prevent the lifecycle hook from timing out by calling
|
93
|
+
# RecordLifecycleActionHeartbeat.
|
94
|
+
# @return [Integer]
|
95
|
+
def heartbeat_timeout
|
96
|
+
data.heartbeat_timeout
|
97
|
+
end
|
98
|
+
|
99
|
+
# The maximum time, in seconds, that an instance can remain in a
|
100
|
+
# `Pending:Wait` or `Terminating:Wait` state. The maximum is 172800
|
101
|
+
# seconds (48 hours) or 100 times `HeartbeatTimeout`, whichever is
|
102
|
+
# smaller.
|
103
|
+
# @return [Integer]
|
104
|
+
def global_timeout
|
105
|
+
data.global_timeout
|
106
|
+
end
|
107
|
+
|
108
|
+
# Defines the action the Auto Scaling group should take when the
|
109
|
+
# lifecycle hook timeout elapses or if an unexpected failure occurs. The
|
110
|
+
# valid values are `CONTINUE` and `ABANDON`. The default value is
|
111
|
+
# `CONTINUE`.
|
112
|
+
# @return [String]
|
113
|
+
def default_result
|
114
|
+
data.default_result
|
115
|
+
end
|
116
|
+
|
117
|
+
# @!endgroup
|
118
|
+
|
119
|
+
# @return [Client]
|
120
|
+
def client
|
121
|
+
@client
|
122
|
+
end
|
123
|
+
|
124
|
+
# Loads, or reloads {#data} for the current {LifecycleHook}.
|
125
|
+
# Returns `self` making it possible to chain methods.
|
126
|
+
#
|
127
|
+
# lifecycle_hook.reload.data
|
128
|
+
#
|
129
|
+
# @return [self]
|
130
|
+
def load
|
131
|
+
resp = @client.describe_lifecycle_hooks(
|
132
|
+
auto_scaling_group_name: @group_name,
|
133
|
+
lifecycle_hook_names: [@name]
|
134
|
+
)
|
135
|
+
@data = resp.lifecyclehooks[0]
|
136
|
+
self
|
137
|
+
end
|
138
|
+
alias :reload :load
|
139
|
+
|
140
|
+
# @return [Types::LifecycleHook]
|
141
|
+
# Returns the data for this {LifecycleHook}. Calls
|
142
|
+
# {Client#describe_lifecycle_hooks} if {#data_loaded?} is `false`.
|
143
|
+
def data
|
144
|
+
load unless @data
|
145
|
+
@data
|
146
|
+
end
|
147
|
+
|
148
|
+
# @return [Boolean]
|
149
|
+
# Returns `true` if this resource is loaded. Accessing attributes or
|
150
|
+
# {#data} on an unloaded resource will trigger a call to {#load}.
|
151
|
+
def data_loaded?
|
152
|
+
!!@data
|
153
|
+
end
|
154
|
+
|
155
|
+
# @!group Actions
|
156
|
+
|
157
|
+
# @example Request syntax with placeholder values
|
158
|
+
#
|
159
|
+
# lifecycle_hook.complete({
|
160
|
+
# lifecycle_action_token: "LifecycleActionToken",
|
161
|
+
# lifecycle_action_result: "LifecycleActionResult", # required
|
162
|
+
# instance_id: "XmlStringMaxLen19",
|
163
|
+
# })
|
164
|
+
# @param [Hash] options ({})
|
165
|
+
# @option options [String] :lifecycle_action_token
|
166
|
+
# A universally unique identifier (UUID) that identifies a specific
|
167
|
+
# lifecycle action associated with an instance. Auto Scaling sends this
|
168
|
+
# token to the notification target you specified when you created the
|
169
|
+
# lifecycle hook.
|
170
|
+
# @option options [required, String] :lifecycle_action_result
|
171
|
+
# The action for the group to take. This parameter can be either
|
172
|
+
# `CONTINUE` or `ABANDON`.
|
173
|
+
# @option options [String] :instance_id
|
174
|
+
# The ID of the instance.
|
175
|
+
# @return [Types::CompleteLifecycleActionAnswer]
|
176
|
+
def complete(options = {})
|
177
|
+
options = options.merge(
|
178
|
+
auto_scaling_group_name: @group_name,
|
179
|
+
lifecycle_hook_name: @name
|
180
|
+
)
|
181
|
+
resp = @client.complete_lifecycle_action(options)
|
182
|
+
resp.data
|
183
|
+
end
|
184
|
+
|
185
|
+
# @example Request syntax with placeholder values
|
186
|
+
#
|
187
|
+
# lifecycle_hook.delete()
|
188
|
+
# @param [Hash] options ({})
|
189
|
+
# @return [Types::DeleteLifecycleHookAnswer]
|
190
|
+
def delete(options = {})
|
191
|
+
options = options.merge(
|
192
|
+
auto_scaling_group_name: @group_name,
|
193
|
+
lifecycle_hook_name: @name
|
194
|
+
)
|
195
|
+
resp = @client.delete_lifecycle_hook(options)
|
196
|
+
resp.data
|
197
|
+
end
|
198
|
+
|
199
|
+
# @example Request syntax with placeholder values
|
200
|
+
#
|
201
|
+
# lifecycle_hook.put({
|
202
|
+
# lifecycle_transition: "LifecycleTransition",
|
203
|
+
# role_arn: "ResourceName",
|
204
|
+
# notification_target_arn: "NotificationTargetResourceName",
|
205
|
+
# notification_metadata: "XmlStringMaxLen1023",
|
206
|
+
# heartbeat_timeout: 1,
|
207
|
+
# default_result: "LifecycleActionResult",
|
208
|
+
# })
|
209
|
+
# @param [Hash] options ({})
|
210
|
+
# @option options [String] :lifecycle_transition
|
211
|
+
# The instance state to which you want to attach the lifecycle hook. For
|
212
|
+
# a list of lifecycle hook types, see DescribeLifecycleHookTypes.
|
213
|
+
#
|
214
|
+
# This parameter is required for new lifecycle hooks, but optional when
|
215
|
+
# updating existing hooks.
|
216
|
+
# @option options [String] :role_arn
|
217
|
+
# The ARN of the IAM role that allows the Auto Scaling group to publish
|
218
|
+
# to the specified notification target.
|
219
|
+
#
|
220
|
+
# This parameter is required for new lifecycle hooks, but optional when
|
221
|
+
# updating existing hooks.
|
222
|
+
# @option options [String] :notification_target_arn
|
223
|
+
# The ARN of the notification target that Auto Scaling will use to
|
224
|
+
# notify you when an instance is in the transition state for the
|
225
|
+
# lifecycle hook. This target can be either an SQS queue or an SNS
|
226
|
+
# topic. If you specify an empty string, this overrides the current ARN.
|
227
|
+
#
|
228
|
+
# This operation uses the JSON format when sending notifications to an
|
229
|
+
# Amazon SQS queue, and an email key/value pair format when sending
|
230
|
+
# notifications to an Amazon SNS topic.
|
231
|
+
#
|
232
|
+
# When you specify a notification target, Auto Scaling sends it a test
|
233
|
+
# message. Test messages contains the following additional key/value
|
234
|
+
# pair: `"Event": "autoscaling:TEST_NOTIFICATION"`.
|
235
|
+
# @option options [String] :notification_metadata
|
236
|
+
# Contains additional information that you want to include any time Auto
|
237
|
+
# Scaling sends a message to the notification target.
|
238
|
+
# @option options [Integer] :heartbeat_timeout
|
239
|
+
# The amount of time, in seconds, that can elapse before the lifecycle
|
240
|
+
# hook times out. When the lifecycle hook times out, Auto Scaling
|
241
|
+
# performs the default action. You can prevent the lifecycle hook from
|
242
|
+
# timing out by calling RecordLifecycleActionHeartbeat. The default is
|
243
|
+
# 3600 seconds (1 hour).
|
244
|
+
# @option options [String] :default_result
|
245
|
+
# Defines the action the Auto Scaling group should take when the
|
246
|
+
# lifecycle hook timeout elapses or if an unexpected failure occurs.
|
247
|
+
# This parameter can be either `CONTINUE` or `ABANDON`. The default
|
248
|
+
# value is `ABANDON`.
|
249
|
+
# @return [Types::PutLifecycleHookAnswer]
|
250
|
+
def put(options = {})
|
251
|
+
options = options.merge(
|
252
|
+
auto_scaling_group_name: @group_name,
|
253
|
+
lifecycle_hook_name: @name
|
254
|
+
)
|
255
|
+
resp = @client.put_lifecycle_hook(options)
|
256
|
+
resp.data
|
257
|
+
end
|
258
|
+
|
259
|
+
# @example Request syntax with placeholder values
|
260
|
+
#
|
261
|
+
# lifecycle_hook.record_heartbeat({
|
262
|
+
# lifecycle_action_token: "LifecycleActionToken",
|
263
|
+
# instance_id: "XmlStringMaxLen19",
|
264
|
+
# })
|
265
|
+
# @param [Hash] options ({})
|
266
|
+
# @option options [String] :lifecycle_action_token
|
267
|
+
# A token that uniquely identifies a specific lifecycle action
|
268
|
+
# associated with an instance. Auto Scaling sends this token to the
|
269
|
+
# notification target you specified when you created the lifecycle hook.
|
270
|
+
# @option options [String] :instance_id
|
271
|
+
# The ID of the instance.
|
272
|
+
# @return [Types::RecordLifecycleActionHeartbeatAnswer]
|
273
|
+
def record_heartbeat(options = {})
|
274
|
+
options = options.merge(
|
275
|
+
auto_scaling_group_name: @group_name,
|
276
|
+
lifecycle_hook_name: @name
|
277
|
+
)
|
278
|
+
resp = @client.record_lifecycle_action_heartbeat(options)
|
279
|
+
resp.data
|
280
|
+
end
|
281
|
+
|
282
|
+
# @!group Associations
|
283
|
+
|
284
|
+
# @return [AutoScalingGroup]
|
285
|
+
def group
|
286
|
+
AutoScalingGroup.new(
|
287
|
+
name: @group_name,
|
288
|
+
client: @client
|
289
|
+
)
|
290
|
+
end
|
291
|
+
|
292
|
+
# @deprecated
|
293
|
+
# @api private
|
294
|
+
def identifiers
|
295
|
+
{
|
296
|
+
group_name: @group_name,
|
297
|
+
name: @name
|
298
|
+
}
|
299
|
+
end
|
300
|
+
deprecated(:identifiers)
|
301
|
+
|
302
|
+
private
|
303
|
+
|
304
|
+
def extract_group_name(args, options)
|
305
|
+
value = args[0] || options.delete(:group_name)
|
306
|
+
case value
|
307
|
+
when String then value
|
308
|
+
when nil then raise ArgumentError, "missing required option :group_name"
|
309
|
+
else
|
310
|
+
msg = "expected :group_name to be a String, got #{value.class}"
|
311
|
+
raise ArgumentError, msg
|
312
|
+
end
|
313
|
+
end
|
314
|
+
|
315
|
+
def extract_name(args, options)
|
316
|
+
value = args[1] || options.delete(:name)
|
317
|
+
case value
|
318
|
+
when String then value
|
319
|
+
when nil then raise ArgumentError, "missing required option :name"
|
320
|
+
else
|
321
|
+
msg = "expected :name to be a String, got #{value.class}"
|
322
|
+
raise ArgumentError, msg
|
323
|
+
end
|
324
|
+
end
|
325
|
+
|
326
|
+
class Collection < Aws::Resources::Collection; end
|
327
|
+
end
|
328
|
+
end
|
329
|
+
end
|
@@ -0,0 +1,219 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing for info on making contributions:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
module Aws
|
9
|
+
module AutoScaling
|
10
|
+
class LoadBalancer
|
11
|
+
|
12
|
+
extend Aws::Deprecations
|
13
|
+
|
14
|
+
# @overload def initialize(group_name, name, options = {})
|
15
|
+
# @param [String] group_name
|
16
|
+
# @param [String] name
|
17
|
+
# @option options [Client] :client
|
18
|
+
# @overload def initialize(options = {})
|
19
|
+
# @option options [required, String] :group_name
|
20
|
+
# @option options [required, String] :name
|
21
|
+
# @option options [Client] :client
|
22
|
+
def initialize(*args)
|
23
|
+
options = Hash === args.last ? args.pop.dup : {}
|
24
|
+
@group_name = extract_group_name(args, options)
|
25
|
+
@name = extract_name(args, options)
|
26
|
+
@data = options.delete(:data)
|
27
|
+
@client = options.delete(:client) || Client.new(options)
|
28
|
+
end
|
29
|
+
|
30
|
+
# @!group Read-Only Attributes
|
31
|
+
|
32
|
+
# @return [String]
|
33
|
+
def group_name
|
34
|
+
@group_name
|
35
|
+
end
|
36
|
+
|
37
|
+
# @return [String]
|
38
|
+
def name
|
39
|
+
@name
|
40
|
+
end
|
41
|
+
alias :load_balancer_name :name
|
42
|
+
|
43
|
+
# One of the following load balancer states:
|
44
|
+
#
|
45
|
+
# * `Adding` - The instances in the group are being registered with the
|
46
|
+
# load balancer.
|
47
|
+
#
|
48
|
+
# * `Added` - All instances in the group are registered with the load
|
49
|
+
# balancer.
|
50
|
+
#
|
51
|
+
# * `InService` - At least one instance in the group passed an ELB
|
52
|
+
# health check.
|
53
|
+
#
|
54
|
+
# * `Removing` - The instances in the group are being deregistered from
|
55
|
+
# the load balancer. If connection draining is enabled, Elastic Load
|
56
|
+
# Balancing waits for in-flight requests to complete before
|
57
|
+
# deregistering the instances.
|
58
|
+
#
|
59
|
+
# * `Removed` - All instances in the group are deregistered from the
|
60
|
+
# load balancer.
|
61
|
+
# @return [String]
|
62
|
+
def state
|
63
|
+
data.state
|
64
|
+
end
|
65
|
+
|
66
|
+
# @!endgroup
|
67
|
+
|
68
|
+
# @return [Client]
|
69
|
+
def client
|
70
|
+
@client
|
71
|
+
end
|
72
|
+
|
73
|
+
# @raise [Errors::ResourceNotLoadable]
|
74
|
+
# @api private
|
75
|
+
def load
|
76
|
+
msg = "#load is not implemented, data only available via enumeration"
|
77
|
+
raise Errors::ResourceNotLoadable, msg
|
78
|
+
end
|
79
|
+
alias :reload :load
|
80
|
+
|
81
|
+
# @raise [Errors::ResourceNotLoadableError] Raises when {#data_loaded?} is `false`.
|
82
|
+
# @return [Types::LoadBalancerState]
|
83
|
+
# Returns the data for this {LoadBalancer}.
|
84
|
+
def data
|
85
|
+
load unless @data
|
86
|
+
@data
|
87
|
+
end
|
88
|
+
|
89
|
+
# @return [Boolean]
|
90
|
+
# Returns `true` if this resource is loaded. Accessing attributes or
|
91
|
+
# {#data} on an unloaded resource will trigger a call to {#load}.
|
92
|
+
def data_loaded?
|
93
|
+
!!@data
|
94
|
+
end
|
95
|
+
|
96
|
+
# @!group Actions
|
97
|
+
|
98
|
+
# @example Request syntax with placeholder values
|
99
|
+
#
|
100
|
+
# load_balancer.attach()
|
101
|
+
# @param [Hash] options ({})
|
102
|
+
# @return [Types::AttachLoadBalancersResultType]
|
103
|
+
def attach(options = {})
|
104
|
+
options = Aws::Util.deep_merge(options,
|
105
|
+
auto_scaling_group_name: @group_name,
|
106
|
+
load_balancer_names: [@name]
|
107
|
+
)
|
108
|
+
resp = @client.attach_load_balancers(options)
|
109
|
+
resp.data
|
110
|
+
end
|
111
|
+
|
112
|
+
# @example Request syntax with placeholder values
|
113
|
+
#
|
114
|
+
# load_balancer.detach()
|
115
|
+
# @param [Hash] options ({})
|
116
|
+
# @return [Types::DetachLoadBalancersResultType]
|
117
|
+
def detach(options = {})
|
118
|
+
options = Aws::Util.deep_merge(options,
|
119
|
+
auto_scaling_group_name: @group_name,
|
120
|
+
load_balancer_names: [@name]
|
121
|
+
)
|
122
|
+
resp = @client.detach_load_balancers(options)
|
123
|
+
resp.data
|
124
|
+
end
|
125
|
+
|
126
|
+
# @!group Associations
|
127
|
+
|
128
|
+
# @return [AutoScalingGroup]
|
129
|
+
def group
|
130
|
+
AutoScalingGroup.new(
|
131
|
+
name: @group_name,
|
132
|
+
client: @client
|
133
|
+
)
|
134
|
+
end
|
135
|
+
|
136
|
+
# @deprecated
|
137
|
+
# @api private
|
138
|
+
def identifiers
|
139
|
+
{
|
140
|
+
group_name: @group_name,
|
141
|
+
name: @name
|
142
|
+
}
|
143
|
+
end
|
144
|
+
deprecated(:identifiers)
|
145
|
+
|
146
|
+
private
|
147
|
+
|
148
|
+
def extract_group_name(args, options)
|
149
|
+
value = args[0] || options.delete(:group_name)
|
150
|
+
case value
|
151
|
+
when String then value
|
152
|
+
when nil then raise ArgumentError, "missing required option :group_name"
|
153
|
+
else
|
154
|
+
msg = "expected :group_name to be a String, got #{value.class}"
|
155
|
+
raise ArgumentError, msg
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
def extract_name(args, options)
|
160
|
+
value = args[1] || options.delete(:name)
|
161
|
+
case value
|
162
|
+
when String then value
|
163
|
+
when nil then raise ArgumentError, "missing required option :name"
|
164
|
+
else
|
165
|
+
msg = "expected :name to be a String, got #{value.class}"
|
166
|
+
raise ArgumentError, msg
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
class Collection < Aws::Resources::Collection
|
171
|
+
|
172
|
+
# @!group Batch Actions
|
173
|
+
|
174
|
+
# @example Request syntax with placeholder values
|
175
|
+
#
|
176
|
+
# load_balancer.batch_attach()
|
177
|
+
# @param options ({})
|
178
|
+
# @return [void]
|
179
|
+
def batch_attach(options = {})
|
180
|
+
batch_enum.each do |batch|
|
181
|
+
params = Aws::Util.copy_hash(options)
|
182
|
+
params[:auto_scaling_group_name] = batch[0].group_name
|
183
|
+
params[:load_balancer_names] ||= []
|
184
|
+
batch.each do |item|
|
185
|
+
params[:load_balancer_names] << {
|
186
|
+
name: item.name
|
187
|
+
}
|
188
|
+
end
|
189
|
+
batch[0].client.attach_load_balancers(params)
|
190
|
+
end
|
191
|
+
nil
|
192
|
+
end
|
193
|
+
|
194
|
+
# @example Request syntax with placeholder values
|
195
|
+
#
|
196
|
+
# load_balancer.batch_detach()
|
197
|
+
# @param options ({})
|
198
|
+
# @return [void]
|
199
|
+
def batch_detach(options = {})
|
200
|
+
batch_enum.each do |batch|
|
201
|
+
params = Aws::Util.copy_hash(options)
|
202
|
+
params[:auto_scaling_group_name] = batch[0].group_name
|
203
|
+
params[:load_balancer_names] ||= []
|
204
|
+
batch.each do |item|
|
205
|
+
params[:load_balancer_names] << {
|
206
|
+
name: item.name
|
207
|
+
}
|
208
|
+
end
|
209
|
+
batch[0].client.detach_load_balancers(params)
|
210
|
+
end
|
211
|
+
nil
|
212
|
+
end
|
213
|
+
|
214
|
+
# @!endgroup
|
215
|
+
|
216
|
+
end
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|