aws-sdk-autoscaling 1.0.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|